[レポート] OPN217: Enterprise blockchain AWS のオープンソースアプローチ #reinvent

本記事は re:Invent 2019 で開催された「OPN217 - Enterprise blockchain: AWS's open-source approach」の聴講レポートです
2019.12.03

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

スピーカー

  • Tamara Dull
    • Principal Open Source Technologist, Amazon Web Services
  • Brian Behlendorf
    • Executive Director of the Hyperledger Project, The Linux Foundation

セッション概要

ブロックチェーン技術は急速に進化しており、組織は金融取引の合理化、サプライチェーンの透明性、医療データ管理など、多くのユースケースでこの技術を実験しています。 このセッションでは、Hyperledger FoundationのBrian Behlendorf と AWS の Tamara Dull が散華して、3つの人気のあるオープンソースブロックチェーンフレームワーク (Hyperledger Fabric、Hyperledger Sawtooth、Ethereum) がどのように対比/比較され、顧客のブロックチェーンニーズにどのように対応しているかを探ります。

レポート

最も尋ねられる3つの質問

  1. ブロックチェーンとは何か?
  2. ブロックチェーンが必要か?
  3. ブロックチェーンにおける Amazon の見解は?

ブロックチェーンはネットワークに信頼を構築する

私たちの組織は集中管理システム、集中型データベースを使っているが、ブロックチェーンネットワークではシングルのノードが独自のコピーデータベースもち、中心的権威を排除している。AWS がブロックチェーンについて話すとき、3つのコンポーネントについてみます。

  1. 分散台帳
  2. コンセンサスメカニズム
  3. スマートコントラクト

分散台帳

画像は誤記かと思いますが黄色のブロックが62、青色のブロックが63ですね。ブロックにはいくつかのトランザクションと、タイムスタンプ、そのブロックのハッシュ値と、前のブロックのハッシュ値を含みます。トランザクションの変更を加えるとハッシュ値が変更されることになりますが。そしてそのハッシュ値を含む後続のブロックと整合性がとれなくなるので、無効なブロックとなります。つまり、不変なログであると言えます。

コンセンサスメカニズム

ネットワークがトランザクションが有効であることに同意する方法と、トランザクションがブロックチェーンに追加される順序です。ネットワーク内のメンバーが、トランザクションとデータを台帳にコミットできるようにする合意済みの方法を持っていることを確認します。セキュリティ、正確性、不変性を実現するには、多くのメンバーの参加が必要です。

スマートコントラクト

リレーショナルデータベースではストアドプロシージャで同じようなことをするが、異なる。保存されたものを変更および削除ができないという契約。かつ自動的に行われる。

ブロックチェーンのユースケース

左は台帳と中央集権型の信頼。不変という特性を望んでいる。右側は台帳と分散型の信頼。分散型の信頼。多くのものが仲介することを排除する。 

それらの要望に応えるため、結果として AWS は2つのサービスをリリースした。不変の台帳データベースが欲しい場合は Amazon QLDB、さきほど挙げた3つのコンポーネントが欲しい場合は Amazon Managed Blockchain を使う。

Hyperledger と Ethereum

Amazon Managed Blockchain のベースは2つのオープンソースプロトコル。1つは Hyperledger Fabric, そして Ethereum。Hyperledger Fabric は許可タイプのネットワークが作成できる。

(ここから Brian Behlendorf 氏)

  • Linux Foundation が行うすべてのことはこれまでに公開されている。
    • Apache Software
    • Eclipse
    • OpenStack
    • イニシアチブは 150 を超える
  • ブロックチェーン技術とは、どのように連合を組むかということ
    • 分権化を押し出すことで可能になる
    • 貿易、金融、サプライチェーンのトレーサビリティのような国境を越えるユースケースに特に関連する
    • すべての関係者を織り込むことで、ブロックチェーン空間で冷静な正気な大人になろうとしている
  • Forbes の調査では、ブロックチェーン技術を展開している50社のうち、23社でHyperledger ベースのフレームワークを使用してパイロットブロジェクトを行っている
  • Hyperledger プロジェクトは15ある。今回はそのうち3つを紹介

  • Hyperledger Fabric
    • IBM の小さなチームの中で開発
    • satoshi 論文を見て、トランザクションベースのシステムの歴史をメインフレームに戻した
    • ビザンチンフォールトトレランスのようなアルゴリズム、Paxos などのアルゴリズムは同じ考えだった
    • Order ノードはパフォーマンスであり、Order ネットワークはパフォーマンスの影響を受けやすい部分
  • DTCC の事例
    • 金融各社の株券を1箇所に保持し、金融各社の事務処理を解決するために、ブローカーが所有する協同組合として開始された
    • 集中型の組織で、一種の接着剤のような組織
    • AWS と多くの企業と協力して、集中型データベースを Hyperledger Fabric ベースのネットワークに置き換えた
  • サプライチェーンの事例
    • レタス農場で病原菌が発見された。2ヶ月の間に買った場合、捨てるように指示された
    • 小売、流通業者およびその他の業者にとって発見したときに捨てなければ大きな損害になる
    • 農場、加工工場、トラック・・etc 誰もがすべてのデータを競合他社に提供したり、1箇所にまとめることを望んでいないため情報を取得できなかった
    • ブロックチェーンを使用して数週間ではなく、数秒でそのようなトレースをするだけのメタデータを共有できることを喜んでいる
  • Hyperledger Sawtooth
    • ブロックチェーン技術について誰かに話をすると、エネルギー消費を非常に心配している
    • エンタープライズブロックチェーンの世界は、PoW に左右されない。他の代替コンセンサスを使用する。
    • Intel が Proof of ElapsedTime(PoET)と呼んでいるのも1つ
    • Intel チップ内のセキュアな拡張機能を使用したランダムリーダーによる投票アルゴリズム
    • Hyperledger Sawtooth が最初の実装
    • PBFT コンセンサス
    • 分散ネットワーク向けに設計された
    • Ethereum の Solidity もサポート

  • Hyperledger Besu
    • 最も若いプロジェクト
    • クライアントとして実行される
    • java で書かれているので、多くのエンタープライズ開発者にとっては使い慣れたものになるはず
    • 許可ネットワークと許可なしネットワークの両方で実行できる
    • 小規模からはじめてビジネスが成長するにつれて、シームレスなスケーラビリティが提供できる

さいごに

Hyperledger Fabric 以外のプロジェクトについてほとんど知識がなかったので、参考になりました。これをきっかけに、その他の Hyperledger についてもちょっと調べてみようっかと思います。

以上!大阪オフィスの丸毛(@marumo1981)でした!