2017年3月21日火曜日

HyperLedger_sawtooth-lake_概要

Hyperledgerの概要説明資料作成のための覚え書きとして。今回はそのプロジェクトの一つのうちのSawtoothLakeの概要についてまとめてみる。本記事内の引用文は以下サイトのグーグル翻訳結果を気になるところのみ修正して載せています。
https://wiki.hyperledger.org/projects/sawtooth-lake.md

何なのか?

  • Intelの分散台帳技術
  • IoTから金融に至るまで様々な分野で利用できる
  • 合意アルゴリズム PoETを採用
  • プログラム言語 Pythonを採用
  • HyperLedgerではIncubation状態
Document内ではコンセンサスに関して多く言及されているので少し深く見て見ますと気になる文章がありました。
Sawtooth Lakeはコンセンサスの中核概念を抽象化し、コンセンサスをトランザクションセマンティクスから分離する。Sawtooth Lakeは現在、「経過時間の証明」のためのPoETという単一のコンセンサスプロトコルを提供しています。PoETは、参加者の大規模なニーズに対応するためにインテルのSGXが提供する信頼できる実行環境(TEE)を基盤にした宝くじプロトコルです。2番目の定足数投票は、RippleとStellarのコンセンサスプロトコルの適応であり、トランザクションの即時性を必要とするアプリケーションのニーズに対応します。
ここでいうコンセンサスの概念とは「中本コンセンサス」と「ビザンチンフォールトトレランス(BFT)」のことです。ここでは両者の説明は省きます。
中核概念の抽象化とあるのはおそらくコンセンサスプロトコルに以下2点の要素を入れたということではないでしょうか?
  1. 確率的にブロックをつなげるノードを選出する
  2. ノードの総数が限られた中でのコンセンサスを満たすプロトコルを得る
つまり概念としては過去のアイディアを踏襲するものの技術的には異なるアプローチで分散台帳を実現していると言えるのではないでしょうか?

それではどのようにしてコンセンサスを満たすのか見たいと思います。

経過時間の証明(PoET)

分散したコンセンサスを効率的に達成する目的で、良い宝くじ機能にはいくつかの特徴があります。
  • 公平性:この機能は、可能な限り広範囲の参加者にリーダーの選挙を配布すべきである。
  • 投資:リーダー選挙プロセスを支配するコストは、そこから得られる価値に比例していなければなりません。
  • 検証:すべての参加者がリーダーが合法的に選ばれたことを確認するのは比較的簡単でなければなりません。
Sawtooth LakeはPoEと呼ばれる中本コンセンサスアルゴリズムを提供しています。このアルゴリズムは、インテル®ソフトウェアガード拡張(SGX)などの信頼できる実行環境(TEE)を使用して 、リーダーの選定プロセスの安全性とランダム性を確保し、ほとんどの "証明"アルゴリズムで使用されます。当社のアプローチは、TEEを通して提供される保証された待機時間に基づいています。
BitcoinBlockchainではハッシュパワー、つまり計算量というコストを費やしてブロックの正当性証明するのに対してこちらは経過時間というコストを用いるようです。しかしきになるのはインテルの信頼できる実行環境を使用して、という文言。読み進めていくとこんな文章がありました。
基本的に、すべてのバリデーターは、信頼できる関数からの待機時間を要求します。特定のトランザクションブロックの最短待機時間を持つバリデーターがリーダーに選ばれます。「CreateTimer」という1つの関数は、TEEによって作成されたことが保証されているトランザクションブロック用のタイマーを作成します。"CheckTimer"という別の関数は、TEEによってタイマーが作成されたことを検証し、有効期限が切れていれば、バリデータが実際にリーダーシップの役割を果たす前に割り当てられた時間を待っていることを確認するためのアテステーションを作成します。
この"CreateTimer"というのがインテルの実行環境特有の関数のようでこれはインテルのハードウェアを買えということでしょうね(笑)

何ができるのか?

何かしらの実証実験などされてるかググりましたが特に情報は出てきませんでした。
Document内では2つのノード間でのアセット交換を行うチュートリアルが用意されていますのでご確認ください。

どのくらい使われているのか?

HyperLedgerの中では現在Incubation状態にあるということでIntel内の実験的取り組みのみにとどまるのではないでしょうか?


まとめ

今回はIntelが主導するsawtoothlakeについて調べて見ました。特徴としては中本コンセンサスとPBFTを抽象化することでBlockchainに引きずられない特徴のある技術だということがわかりました。

0 件のコメント:

コメントを投稿