Más contenido relacionado
La actualidad más candente (20)
Similar a Hyperledgerプロジェクト概観 (20)
Más de Hyperleger Tokyo Meetup (20)
Hyperledgerプロジェクト概観
- 1. 1 © NEC Corporation 2019
Hyperledgerプロジェクト概観
Hyperledger Tokyo Meetup
2019年6月27日
NEC 並木悠太
- 3. 3 © NEC Corporation 2019
本発表の目的
▌Hyperledgerの中で活動しているプロジェクトとlabについて、それぞれ
の概要、位置付けを紹介する
現在13+1のプロジェクトと22のlab
図は https://www.hyperledger.org より引用
この絵はもうすぐ
アップデートされそう [1]
[1] https://lists.hyperledger.org/g/tsc/topic/32011716
- 4. 4 © NEC Corporation 2019
Hyperledgerにおける開発の組織体
▌プロジェクト
TSC(Technical Steering Committee)による承認
例:Fabric、Sawtooth、Irohaなど
「サブプロジェクト」(あるプロジェクトに従属的なプロジェクト)も議論中
▌Lab
軽量なプロジェクト
プロジェクトほど厳格ではなく、実験的に取り組める場
Labの要件
• 提案者はHyperlegderに技術的貢献をしている(一定期間内にパッチを投稿してマージされている)
• スポンサーがいる(既存のプロジェクトのメンテナーなど、一定の権威のある方に認められている)
Labからプロジェクトに昇格していくものも
▌その他の組織としてTSCやWG(Working Group)、SIG(Special Interest
Group)などがある
SIGは分野別(医療、公共など)、WGはアーキテクチャや要素技術一般の議論の場
- 5. 5 © NEC Corporation 2019
プロジェクトのステータス
▌Incubation
プロジェクトの最初のステータス
以下のような基準をもとに卒業(=Activeへの移行)をTSCで決定
• 機能するコード、相応のテストカバレッジ、ドキュメント、開発者の多様性(特定企業に偏りがない
かなど)、ライセンスなど法務面の問題がないことなど
▌Active
▌Deprecated
誰でも、あるプロジェクトがdeprecatedであると提案できる
TSCで最終決定
▌End of Life
Deprecatedから半年経過
Proposal
Incubation
Active
Deprecated
End of Life
FirstMajor
Release
- 6. 6 © NEC Corporation 2019
プロジェクトのステータス
Fabric
Sawtooth
Iroha
Indy
Burrow
Caliper
Explorer
Cello
Quilt
Composer
Grid
Ursa
Aries
Transact
Incubation
Active
2017 2018 20192016
v1.0リリース
最新リリース:v1.4
v1.3
v0.3
v1.0
v1.8
v0.20
v0.26
v0.9
v0.1
v0.1
プロジェクト成立 Activeに移行
v1.0リリース
- 7. 7 © NEC Corporation 2019
全体図
アプリ寄り
共通基盤技術
プラットフォーム
ツール
フレームワーク
関連あり
(太線はプロジェクト間)
名前 Lab
Transact
共通基盤技術
ブロックチェーン
プラットフォーム
SParts
crypto-lib
Private Data Objects
Umbra
Payments
Performance
Test Harness
private-transaction-families
Sawtooth Healthcare
solang
Convector Framework
Nephos
Byzantine-Config
Hyperledger Fabric
Private Chaincode
Hyperledger Fabric Chrome Extension
Fabric Docs CN
MinBFT
Donor Milk Transparency and Traceability
z-mix
Hyperledger Community
Management Tools
fabric-vms-provision
Cordentity
Fabric Multi Channel
Network Samples
solidity2chaincode
アプリケーション
ツール
(Corda)
- 8. 8 © NEC Corporation 2019
共通基盤技術
Transact
共通基盤技術
ブロックチェーン
プラットフォーム
SParts
crypto-lib
Private Data Objects
Umbra
Payments
Performance
Test Harness
private-transaction-families
Sawtooth Healthcare
solang
Convector Framework
Nephos
Byzantine-Config
Hyperledger Fabric
Private Chaincode
Hyperledger Fabric Chrome Extension
Fabric Docs CN
MinBFT
Donor Milk Transparency and Traceability
z-mix
Hyperledger Community
Management Tools
fabric-vms-provision
Cordentity
Fabric Multi Channel
Network Samples
solidity2chaincode
アプリケーション
ツール
- 9. 9 © NEC Corporation 2019
共通基盤技術(プロジェクト)
▌Burrow
EVM(Ethereumのスマートコントラクト実行環境)の実装
SawtoothやFabricでSolidityで書いたコードを動かすために使われている
▌Transact
トランザクションの実行環境の汎用ライブラリ/コンポーネント
• トランザクションのスケジューリング、ステート管理など
まずはGridでWebAssemblyのスマートコントラクトの実行基盤に使うことを計画中
▌Ursa
暗号関係の処理のライブラリ化
• ブロックチェーンプラットフォームで汎用的に使える安全なライブラリを作ることを目指す
Labのcrypto-lib、z-mixを統合、プロジェクト化
Transact
- 10. 10 © NEC Corporation 2019
共通基盤技術(Lab)
Lab 提案者 開始日 概要
crypto-lib 各プロジェクトから 2018-03 各プロジェクトで汎用的に使える暗号化関連
の機能をまとめたライブラリ(Ursaに統合)
MinBFT NEC 2018-08 汎用的に使えるBFTな合意形成プロトコルの
実装
z-mix 2018-08 ゼロ知識証明のための汎用ライブラリの実装
(Ursaに統合)
Umbra インターン 2018-11 Shadowというネットワークシミュレーター
で分散台帳を動かす
solang Monax、Burrow
チーム
2019-01 RustによるSolidityからWASMへのコンパイ
ラ
- 11. 11 © NEC Corporation 2019
プラットフォーム
Transact
共通基盤技術
ブロックチェーン
プラットフォーム
SParts
crypto-lib
Private Data Objects
Umbra
Payments
Performance
Test Harness
private-transaction-families
Sawtooth Healthcare
solang
Convector Framework
Nephos
Byzantine-Config
Hyperledger Fabric
Private Chaincode
Hyperledger Fabric Chrome Extension
Fabric Docs CN
MinBFT
Donor Milk Transparency and Traceability
z-mix
Hyperledger Community
Management Tools
fabric-vms-provision
Cordentity
Fabric Multi Channel
Network Samples
solidity2chaincode
アプリケーション
ツール
- 12. 12 © NEC Corporation 2019
プラットフォーム(プロジェクト)
▌有名なので説明は簡単に...
▌Fabric
Raft(クラッシュ耐性)による合意形成
execute-order-validateアーキテクチャ
▌Indy
decentralized identityのための分散台帳(purpose-build)
PlenumというRBFT(Redundant BFT)による合意形成
▌Iroha
Yet Another Consensus(YAC)と呼ばれるBFTな合意形成
モバイルアプリケーション向けのライブラリも提供
▌Sawtooth
合意形成アルゴリズムを途中で切り替えられる
• Proof of Elapsed Time(PoET)とよばれるBFTなアルゴリズムが代表的
– PBFT、Raftも提供
モバイル向けSDKも提供
汎用
特化
BFT
- 13. 13 © NEC Corporation 2019
プラットフォーム(Lab)
Lab 提案者 開始日 概要
Fabric Docs CN 中国コミュニティ 2018-08 Fabricのドキュメントの中国
語への翻訳
Fabric Multi Channel
Network Samples
個人 2018-11 Fabricの構築サンプルの提供
- 14. 14 © NEC Corporation 2019
ツール
Transact
共通基盤技術
ブロックチェーン
プラットフォーム
SParts
crypto-lib
Private Data Objects
Umbra
Payments
Performance
Test Harness
private-transaction-families
Sawtooth Healthcare
solang
Convector Framework
Nephos
Byzantine-Config
Hyperledger Fabric
Private Chaincode
Hyperledger Fabric Chrome Extension
Fabric Docs CN
MinBFT
Donor Milk Transparency and Traceability
z-mix
Hyperledger Community
Management Tools
fabric-vms-provision
Cordentity
Fabric Multi Channel
Network Samples
solidity2chaincode
アプリケーション
ツール
- 15. 15 © NEC Corporation 2019
ツール(プロジェクト)
▌Caliper
ベンチマークツール
• 現時点でFabric、Sawtooth、Iroha、Burrowに対応
ワークロードはカスタマイズ、新規作成可能
▌Cello
プロビジョニング(BaaSなどの構築)
管理のためのダッシュボードの提供
▌Explorer
モニタリングツール
• ブロックのネットワークの情報など
▌Composer
アプリケーション開発を容易にするフレームワーク
新規機能追加の予定なし(保守は行われる)[1] [1] https://lists.hyperledger.org/g/composer/message/125
- 16. 16 © NEC Corporation 2019
Caliperのレポート
スループット、レイテンシな
どのレポート
ワークロードは自分でプログ
ラムすることも可
- 17. 17 © NEC Corporation 2019
Explorerの画面例
- 18. 18 © NEC Corporation 2019
ツール(Lab)
Lab 提案者 開始日 概要
Hyperledger Fabric
Chrome Extension
インターン 2018-06 Fabricのpeerの機能をブラウザの機能拡張として実装
Hyperledger Community
Management Tools
Linux Foundation 2018-09 コミュニティの活動状況の集計ツール
Payments Performance
Test Harness
2018-12 送金を模したワークロードによる性能測定のためのツール
fabric-vms-provision 2018-10 AnsibleでFabricをクラウドにプロビジョニング
Convector Framework 2019-02 Fabric向けアプリ開発フレームワーク(Composer代替にな
るかも?)
Nephos 2019-02 FabricをKubernetesにデプロイするツール
Byzantine-Config Keyhole Labs 2019-03 Fabricの設定を行うGUI
- 19. 19 © NEC Corporation 2019
その他
Transact
共通基盤技術
ブロックチェーン
プラットフォーム
SParts
crypto-lib
Private Data Objects
Umbra
Payments
Performance
Test Harness
private-transaction-families
Sawtooth Healthcare
solang
Convector Framework
Nephos
Byzantine-Config
Hyperledger Fabric
Private Chaincode
Hyperledger Fabric Chrome Extension
Fabric Docs CN
MinBFT
Donor Milk Transparency and Traceability
z-mix
Hyperledger Community
Management Tools
fabric-vms-provision
Cordentity
Fabric Multi Channel
Network Samples
solidity2chaincode
アプリケーション
ツール
- 20. 20 © NEC Corporation 2019
その他(プロジェクト)
▌Aries
Indyから派生
クライアントサイドのフレームワーク
• 「ウォレット」や鍵管理の仕組みなどを共通化
▌Grid
サプライチェーン向けのフレームワーク
• アプリケーションの開発を省力化するための
ライブラリを提供する
▌Quilt
Interledger Protocol(ILP)の実装
台帳をまたがったトランザクションを実現する
- 21. 21 © NEC Corporation 2019
その他(Lab)
Lab(ユースケース系) 提案者 開始日 概要
SParts Wind River 2018-03 ソフトウェアのサプライチェーン(ソフトウェアライブラリの出
どころの管理など)(Sawtooth)
Donor Milk Transparency
and Traceability
2018-08 ユースケースの検証(Composer)
Sawtooth Healthcare 個人 2019-01 Sawtoothを使ってヘルスケアのPoCを開発する
Lab 提案者 開始日 概要
Private Data
Objects
Intel 2018-03 機密保持ができるオフチェーンスマートコントラクト技術。SGX活用(当
初はSawtooth向け)
Cordentity 2018-11 CordaにIndyの自己証明型身分証明機能を統合
solidity2chaincode 2018-11 SolidityをJSのチェーンコードに変換するFabric
private-
transaction-families
2019-01 Sawtoothにプライバシー保護の仕組みを提供。SGX活用
Hyperledger Fabric
Private Chaincode
IBM Zurich 2019-05 FabricのチェーンコードをIntel SGXの中で動かすことでプライバシーを
向上
- 22. 22 © NEC Corporation 2019
インターンシップ
▌学生にHyperledgerに開発に取り組んでもらう
フルタイム:40時間/週×連続12週間
パートタイム:20時間/週×連続24週間
▌2019年のプロジェクト
CaliperのGUI構築
Sawtoothにモニタリングダッシュボードを構築
IrohaにUrsaを統合
IrohaにBurrowのSolidity VMを統合
IndyのRaspberry Piエージェント
Fabricの台帳やトランザクションをElasticsearchとKibanaで分析できるように
...など
[1] https://wiki.hyperledger.org/display/INTERN/2019+Projects
- 23. 23 © NEC Corporation 2019
まとめ
アプリ寄り
共通基盤技術
プラットフォーム
ツール
フレームワーク
関連あり
名前 Lab
Transact
共通基盤技術
ブロックチェーン
プラットフォーム
SParts
crypto-lib
Private Data Objects
Umbra
Payments
Performance
Test Harness
private-transaction-families
Sawtooth Healthcare
solang
Convector Framework
Nephos
Byzantine-Config
Hyperledger Fabric
Private Chaincode
Hyperledger Fabric Chrome Extension
Fabric Docs CN
MinBFT
Donor Milk Transparency and Traceability
z-mix
Hyperledger Community
Management Tools
fabric-vms-provision
Cordentity
Fabric Multi Channel
Network Samples
solidity2chaincode
アプリケーション
ツール
(Corda)
- 24. 24 © NEC Corporation 2019
参考
▌Wiki
https://wiki.hyperledger.org/