BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 新しいコンセンサスアルゴリズムとWebAssemblyスマートコントラクトを加えたHyperledger Sawtooth 1.1

新しいコンセンサスアルゴリズムとWebAssemblyスマートコントラクトを加えたHyperledger Sawtooth 1.1

原文(投稿日:2018/12/21)へのリンク

2月の最初のGAリリースに続いて,HyperledgerプロジェクトがSawtoothのバージョン1.1をリリースした。新たなコンセンサスアルゴリズムをより簡単に追加できるようにすることと,WebAssemblyスマートコントラクトの導入が主眼だ。

コンセンサスエンジンAPIを再設計したことで,コンセンサスプロトコルが”コンセンサスエンジン”として実装されるようになり,モジュラリティが向上した。これにより,Swatoothの大きな特徴のひとつであり,リソース消費の最小化を目指すProof of Elapsed Time (PoET)コンセンサスアルゴリズムの,新たな実装を開発することが必要になった。PoETはNakamotoスタイルのコンセンサスの一形式で,何らかの形の抽選で選択されたリーダが,以前にコミットしたチェーンに追加するブロックを選択する。Bitcoinでは暗号パズルを最初に解いた参加者が抽選で選ばれるようになっているが,PoETでは,コンシューマや企業向けのプロセッサで広く利用されるようになっている,IntelのSoftware Guard Extensions (SGX)を利用している。SGXでは,アプリケーションがTrustedコードの飛び地(enclave)を作ることができる。簡単に言うと,PoETの参加者が飛び地から待ち時間を要求して,待ち時間の終了時に自らのリーダとしての役割を主張する。リーダを主張した最初の参加者が,その役割を勝ち取る仕組みだ。

PoETの他にも,Sawtooth 1.1にはRaftPractical Byzantine Fault Tolerance(PBFT)という2つのコンセンサスプロトコルが含まれているが,いずれも安定しているとは言い難い。

もうひとつの重要な機能は,WebAssemblyスマートコントラクトを可能にするスマートコントラクトエンジンであるSabreである。これによって開発者は,Rust,C++,Java,Go,Elixirなど,WebAssemblyに準拠する任意の言語を選択して,Sawtooth 1.1で動作可能なスマートコントラクトの作成に使用することができる。Sabreはまだバージョン0.1で,活発な開発が行われているところだ。

Sawtoothを当初のPythonによる実装からRustに移植する作業は,まだ活発に行われている。事実,Pythonでは簡単に取り除けないようなボトルネックの認識に基づいて,Sawtoothのバリデータコンポーネントの40パーセントがすでに移植されている。

Sawtooth 1.1には変更や改善の他,バグ修正も含まれている。詳細はリリースノートで確認して頂きたい。

Hyperledger Sawtoothは,汎用性とスケーラビリティのバランスを目的とする,モジュール方式のブロックチェーンフレームワークである。パーミッションドとパーミッションレスという,2つのデプロイメントモデルをサポートしている。革新的なコンセンサスアルゴリズム(PoET)の採用に加えて,ブロックチェーン設定の変更を可能にするオンチェーンガバナンスや,並列トランザクション処理を実現する高度なトランザクションエンジン,コンセンサスアルゴリズムの動的選択など,特に企業システムを目的とした多数の新機能を備えている。

Hyperledgerは2016年にThe Linux Foundationによってローンチされた。最初はIntelの研究プロジェクトとして発足し,後に同Foundationに寄贈されている。

Sawtooth 1.1はGitHubリポジトリから入手可能だ。

この記事に星をつける

おすすめ度
スタイル

BT