タグ

ブックマーク / tech.bitbank.cc (12)

  • EVMバイトコードの理解

    概要先日ブログを執筆させて頂いた際、初めてsolidity assemblyを知りました。solidity assemblyはsolidityのコード内で扱うことが出来るインラインアセンブリで、EVMをより厳密に扱うことが出来ます。ただ今までassemblyのような低レベル層の仕組みについては全く理解がなかったので、取っ掛かりとしてして今回はEVM上でバイトコードがどのように実行されるのか以下の項目に注目して調べてみました。 EVMバイトコードの構造EVMバイトコードの仕組みEVMバイトコードとOP codeの対応EVMがコントラクトを実行する際に使用する記憶領域(stack, memory, storage, calldata, returndata)外部コントラクトの関数呼び出し(function selector)※今回はsolidityのコードをRemixで実行し、Debug機能を

    EVMバイトコードの理解
  • Bitcoin Pizza Day 前夜祭 〜Lightning Network決済を楽しむ会〜

    t2wave
    t2wave 2022/06/17
    Payment is in transitionエラーの詳細と対処方法
  • OSS ライセンスの最近の潮流: PolyForm License について

    まえがき開発中のソフトウェアのライセンスを策定するため、現時点でのベストプラクティスについて探っていたところ、ここ数年の OSS ライセンスの動向が面白かったので復習も兼ねてまとめました。 特に、Umbrel が採用したという PolyForm という新しいライセンス形態が面白かったので、これについて詳しく述べます。 なぜ今ライセンスについてまとめるのか私はソフトウェアやサービスをマネタイズする方法について興味があり、特にビットコインの応用について調べたりしています。 ビットコイン (Lightning Network) を HTTP で利用することで、Web API の課金方法の可能性は大きく広がることは間違いないのですが、これはあくまで単なる支払いの手法であって、広く使われる事を前提としたソフトウェアの開発を支える手法にすることは(それだけでは)難しいという問題があります。 ソフトウェ

    OSS ライセンスの最近の潮流: PolyForm License について
    t2wave
    t2wave 2021/08/23
    ソースコードを利用できるけどフリーライダーは防ぐPolyForm Licenseについて。DeFiにGPLが多い話やuniswap v3のBSLへの言及は無し。
  • Raspberry Pi 4 + Umbrel でビットコイン環境構築

    事前知識 Bitcoin 環境構築とは 自宅に Bitcoin のフルノードを扱うための小さいサーバを作ることです。 Bitcoin が the Internet of Money であるならば、「自宅に固定回線を引くこと」に相当します。すごく雑な言い方ですが。 Bitcoin の金言の一つに、 "Not your keys, not your coins" という言葉があります。 その言葉のとおり、BTC を保有する上で、一番最初に考えなければならないのが、安全に秘密鍵を生成・管理することです。これは専門家に限らず全ての Bitcoin 保有者に共通する話です。 問題は秘密鍵の管理・生成だけでは、保有はできても日常的に Bitcoin の送受金をするには不十分である点です。 安全な受け取りのためには、他人が自分に BTC を送ったトランザクションを見るだけでは不十分で、それが確かにブロッ

    Raspberry Pi 4 + Umbrel でビットコイン環境構築
    t2wave
    t2wave 2021/03/23
    “自宅に Bitcoin のフルノードを扱うための小さいサーバを作るための方法”
  • チャットアプリ Signal に Web の未来を見た話

    これは、2連続のブログポストの1つ目です。 チャットアプリ Signal に Web の未来を見た話 (この記事) Signal Group chat の仕組み 背景 最近、チャットアプリの Signal が注目されています。 発端は Elon Mask が "Use Signal" とツイートしたことらしいですが、 Jack Dorsey や Edward Snowden なども以前から推奨しています。 Signal は Whatsapp のファウンダーを含むメンバーによって作成されたチャットアプリですが、アプリそのもの以上にSingal protocol にその価値があります。 これは匿名性とセキュリティに主眼を置いており、他のアプリケーションには存在しない面白い特徴を有しています。 匿名性は、単にサーバー (事業者)に対して情報を隠すのみならず、情報流出の危険性がないという点で、1.

    チャットアプリ Signal に Web の未来を見た話
    t2wave
    t2wave 2021/02/09
    ゼロ知識証明を活用した属性ベース証明書の認証手法
  • SELinux を踏み台サーバに使ってみた話

    これは ビットバンク株式会社 Advent Calendar 2020 の 17 日目の記事です。 はじめに 皆さん setenforce 1してますか? AWS エンジニアの koarakko です。 普段は DevOps や 統制周りの業務を担当しています。 今回は踏み台サーバでの SELinux 活用事例を交えながら実際にポリシー調査から実装までの方法を紹介したいと思います。 SELinux番利用している環境は少なく、貴重な経験ができたと自負しています。 この記事を読むことで SELinux番利用の一助になれば幸いです。 当社の踏み台の活用背景 踏み台サーバは番アプリサーバにログインする場合に経由サーバとして利用しています。 OS は RHEL 8 で2台構成です。 当社では踏み台サーバを2年程度使っていますが、この間に踏み台サーバの置き換えもしています。 以前は am

    SELinux を踏み台サーバに使ってみた話
    t2wave
    t2wave 2021/01/12
    “Security-Enhanced Linux 「本当にユーザーに対して ssh 秘密鍵の read 権限は必要なのか」”
  • Ethereumの入金検知はツラいよ?

    これは ビットバンク株式会社 Advent Calendar 2020 の 25 日目の記事です。 はじめに どうも、ビットバンクのチーフビットコインオフィサーのジョナサンです。 ビットコインが肩書に入っているにも関わらず、ビットコイン以外の通貨のシステムに関わることが多々あります。 今回は入金検知システム全体の刷新に伴い、Ethereumの入金検知システムも作り直しました。 その一部始終及びその過程の上で考えたEthereumの改善について話します。 (2020/12/23の現時点ではまだシステムの移行自体は行っておりません。移行時はサービス面にて予めアナウンスさせて頂きます!) 入金検知ツラたん 痛いほど分かってきたことがある。 Ethereumは仕組みとしてスマートコントラクト無しでの入金検知に向いていません。 ま…そりゃそうだろ、と思う方もいるはずだ。 しかし、皆さんがDeFiや次

    Ethereumの入金検知はツラいよ?
  • スマートコントラクトを使った入金システムについて全力で理解してみた

    これは ビットバンク株式会社 Advent Calendar 2020 の 22 日目の記事です。 はじめに ビットバンクでエンジニアをしているadrenaline0206です。 先日、弊社ジョナサン・アンダーウッドがEthereumのスマートコントラクトを使った入金システムを構築しました。個人的にスマートコントラクトに興味があったので、この仕組みについて理解しようとしましたが、かなり苦戦しました。理由は必要な前提知識が多岐に渡るからです。スマートコントラクトの実用的な使用例について興味のある方も多いのではないかと思い、今回この様な題材を取り上げました。 Exchange Deposit Contractとは 現行のEthereumの入金システムは、1つのシードから複数のアドレスを作成する階層的決定性ウォレット(通称HDウォレット)を採用しています。Exchange Deposit Con

    スマートコントラクトを使った入金システムについて全力で理解してみた
    t2wave
    t2wave 2020/12/22
    取引所のスマコンについて
  • Angularのレンダリングメカニズムの詳細解説

  • 金融APIセキュリティのためのOAuth/OIDC入門

    これは ビットバンク株式会社 Advent Calendar 2020 の 11 日目の記事です。 はじめに こんにちは。ビットバンクでセキュリティを担当している pumpkin_head と申します。 今回は、私が個人的興味のある認証認可のお話をしたいと思います。 突然ですが、皆さん OAuth・OpenID Connect をご存じでしょうか? 一言で言えば、認可・認証連携の標準技術仕様です。 身近なところだと、アプリケーションやサービスのデータやアカウントを連携しようとすると 「◯◯ アプリケーションが以下の権限を求めています。許可しますか?」や「◯◯ アカウントでログイン」 という画面を目にしませんか? アレに使われている技術仕様です。 その OAuth/OIDC ですが、ここ数年、追加仕様の策定が盛んに行われており、その中心が英国のオープンバンキング界隈からの要請で検討されている

    金融APIセキュリティのためのOAuth/OIDC入門
  • C# と Rust が両方そなわり最強に見える

    これは ビットバンク株式会社 Advent Calendar 2020 の 4 日目の記事です。 Bitbank システム部の宮ジョーです。 普段はビットコイン関連開発を専門としていますが、今回はビットコインに直接関係のない内容について書きます。 C# と Rust を同時に使用して開発するためのプラクティスについてです。 イントロ 私は Bitcoin のライトニングネットワーク関連の処理を .NET で行うためのライブラリを自作しています。 似た内容の Rust ライブラリがユーザーも増え安定してきているらしいため、こちらを直接呼び出すことで自前実装に伴う保守の負担を減らせないか検討してみました。 このアプローチはうまくいき、 C# のウェブアプリケーションフレームワークからライトニングネットワークの処理を行うサーバを現在作成しています。 この記事では、実装時に気付いた C# と R

    C# と Rust が両方そなわり最強に見える
    t2wave
    t2wave 2020/12/15
    FFIでc#からrust呼び出す
  • Angular と nestjs で IPFS にファイルをアップロードするアプリケーションを作ろう

    これは ビットバンク株式会社 Advent Calendar 2020 の 3 日目の記事です。 はじめに ビットバンクでアプリケーション開発をしているおくなもです。 弊社では IPFS は使ってないんですが、前から個人的に面白そうだなと思っていたので今回取り上げてみました。 IPFS とは IPFS は "InterPlanetary File System"の略です。 直訳すると"惑星間ファイルシステム"という壮大な名前ですが、一言で言えばコンテンツ指向のファイルシステムです。 IPFS はただのファイルシステムの枠を超えて異なるアーキテクチャの新しい WEB として注目を集めています。 詳しいことは公式のドキュメントに譲りますが、主な特徴は次の3点です。 コンテンツ指向であること。URI を使用せず、コンテンツ識別子(CID ≒ コンテンツのハッシュ値)をアドレスとして用いる クライ

    Angular と nestjs で IPFS にファイルをアップロードするアプリケーションを作ろう
    t2wave
    t2wave 2020/12/15
    "「人気がある情報ほど滅びやすい」という WEB のジレンマの解消に繋がる。なぜなら通常は人気がある情報のほうが情報の公開コストが上がるが、IPFSなら人気がある情報はより多くのノードにキャッシュされるから"
  • 1