SlideShare uma empresa Scribd logo
1 de 9
Quorumサンプル実装から理解する
エンタープライズ Ethereum のポイント
Copyright(C)2017 trident-arts All Rights Reserved.
with advanced technology
trident-arts
Enterprise Ethereum の サンプル実装 : Quorumとは
2Copyright(C)2017 trident-arts All Rights Reserved.
Transaction
②
Processing
パブリック(=共通)
&
プライベート
Consensus Chain Consensus
投票
&
ランダムタイムアウト
コンセンサス所要時間の短縮化
パブリック/プライベートの二刀流
 JPモルガンが Go Ethereum ベースのOSSを開発
 トランザクションの方式やコンセンサスアルゴリズムをエンタープライズ用途に耐えられるように改良
Quorumの機能的な主な特徴
①
Security
許可型ネットワーク
&
暗号化
安全性の確立
Quorum Transaction Processing の特徴① Security
3Copyright(C)2017 trident-arts All Rights Reserved.
 ネットワークを許可型にすることと、暗号化によってQuorumネットワーク内の安全性が確保されている
Quorum
Node
Transaction
Manager
Enclave
Quorum
Node
Transaction
Manager
Enclave
Quorum
Node
Transaction
Manager
Enclave
Public
Public
Public
Private
Private
Private
A
B
C
Ethereum Network Constellation Network
Hash
Payload
Hash
Payload
Hash
Payload
• permissioned-nodes.json
に接続を許可するノードを記載
"enode://remoteky1@ip1:port1“
(static-nodes.jsonと似ている)
許可制ネットワーク
• ファイルやメールの暗号化に使用され
るPGPをベースにしている
• ペイロードは、セッション鍵と呼ばれる
乱数の値を鍵として,対称暗号
※により暗号化される。
• そのセッション鍵は,公開鍵で暗号
化される(復号には秘密鍵)
• トランザクションマネージャ間の通信は
HTTPSにより暗号化
暗号化方式
※暗号化と復号の鍵が同一
HTTPS
Constellation ・・・星座、集まり
Enclave ・・・包領、少数集団
Quorum Transaction Processing の特徴② Processing
4Copyright(C)2017 trident-arts All Rights Reserved.
DApp
TransactionX
Quorum
Node
Transaction
Manager
Enclave
Quorum
Node
Transaction
Manager
Enclave
Quorum
Node
Transaction
Manager
Enclave
1 2
3
4
5
6
7
Block N
8
9
10
11
12
11
12
9
7
10
Block N
Block N
8
8
# プロセス
① A及びBの公開鍵を設定して、
Node AにトランザクションXを送信
② トランザクションマネージャにトランザクションXを送付
③ エンクレーブをコール
④ 1. セッション鍵とナンスを生成
2. ペイロード/ナンスをセッション鍵で暗号化
3. ペイロードのハッシュを計算
4. A/Bの公開鍵でA/Bのセッション鍵を暗号化
5. トランザクションマネージャに2,3,4のデータを送信
⑤ • 暗号化されたペイロード/ハッシュ/セッション鍵(A)を保
存し、HTTPSでBのトランザクションマネージャにペイ
ロード/ハッシュ/セッション鍵(B)を送信
• Bは受信結果(ACK/NACK)を返す
⑥ Bの受信成功後に、Aのトランザクションマネージャがノー
ドにハッシュを送信、元のペイロードと置換
⑦ Ethereumの標準P2Pプロトコルを使用して他の
ノードにトランザクションXを伝播
⑧ トランザクションXを含むブロックNが生成され、全ノード
に配布される
⑨ 各ノードは、ローカルのトランザクションマネージャをコールし、ト
ランザクションを保持しているか確認する(ハッシュをイン
デックスとして使用)
⑩ C:トランザクションスキップ AB:エンクレーブをコール
⑪ 秘密鍵でセッション鍵を復号し、セッション鍵でペイロード
を復号。トランザクションマネージャにペイロードを返す
⑫ • コントラクト実行のために解読されたペイロードをノー
ドのEVMに送信
• プライベートステートDBが更新される
Public
Public
Public
Private
Private
Private
A
B
C
9
10
 パブリック・トランザクションフローは標準的なEthereumのトランザクションと同じ
 下記は、Node A と Node B向けのプライベート・トランザクションフロー
Ethereum Network Constellation Network
Private For A/B
Hash
Payload
Hash
Payload
Hash
Payload
Ethereum Network
Quorum Chain Consensus の特徴 1/2
5Copyright(C)2017 trident-arts All Rights Reserved.
Maker
(Quorum Node)
Voter
(Quorum Node)
Non-Voter
(Quorum Node)
Block
Voting
Block
Voting
Block N
Tx List Vote List
Tx 10 Vote1
Tx 11 Vote2
Tx 12 Vote3
1
22
# プロセス
① 最初にMakerノードがブロックを生成し、それに署名す
る。ブロックには、前の期間にキャストされた親ブロックの投
票が含まれる
② ブロックは、標準のEthereum P2Pプロトコルを使用して
ネットワークに配布される。ロールに関係なく、すべてのノードが
ブロックを受信する。
③ 投票者ノードはブロックを検証する
• BlockVotingコントラクトをコールし、Makerがブロックを作
成できるかどうかを確認する
• BlockVotingコントラクトを呼び出して、ブロックの親ブ
ロックが十分な票を受け取ったかどうかをチェックする
• (トランザクションマネージャからペイロードを取得した後
に)ブロック内の処理可能な全てのパブリックトランザク
ションとプライベートトランザクションを実行する
• パブリックステートのルートハッシュをブロック内のステートルートと比
較することによって、パブリックステートを検証する
• ブロック内の全てのトランザクションをハッシュ化し(パブリック
とプライベートの両方)、そのハッシュをブロック上のトランザ
クションハッシュと比較する
これはステートチェックではないが、全ての投票者ノードが
ブロック内のトランザクションリストで一致することを保証する
④ 首尾よく検証されると、投票者ノードは、すべてのノード
に配布される標準のEthereumTransactionを使用
して、BlockVotingコントラクトに投票を送信する
⑤ Makerノードはタイムアウトに達し、前のブロックの最小投票
数が受信されたかどうかを判定し、ブロック作成
以降、検証 → 投票処理が繰り返される
 PoW ではない新たなコンセンサスアルゴリズムで スピードの向上を目指す
3
Block N
Tx List Vote List
Tx 10 Vote1
Tx 11 Vote2
Tx 12 Vote3
5
ブロック
配布
ブロック
生成
検証
投票
CallCall Transaction
4
<ブロック生成開始のトリガー>
• 同時に2つ以上のMakerがブロックを作成する可能性を減らすために、Makerはランダムな期
間(タイムアウト)を生成してからブロックの作成を開始する
• Makerが他のMakerより前にタイムアウトに達すると、ブロックの作成を開始することができる
• Makerがブロック作成プロセスを開始すると、他のMakerノードは現在のタイムアウトをリセット
し、新しいランダムタイムアウトを生成し、ブロックが作成されるまで待つ
<Block Data>
• A Global Transaction Hash
• The Public State root hash
• Block Maker's signature
Quorum Chain Consensus の特徴 2/2
6Copyright(C)2017 trident-arts All Rights Reserved.
Quorum Node
Smart Contract
BlockVoting
nodeInfo
blockMakerAccount
min/max blocktime
canCreateBlocks
canVote
voteAccount
ブ
ロ
ッ
ク
生
成
投
票
Quorum Nodeの設定値
コントラクト機能
ブロック生成できるノードを追加する
最低投票数を設定する
ブロック生成できるノードのアドレス
ブロック生成待ち時間(最大/最小)
ブロック生成可否
投票できるノードのアドレス
投票可否
setVoteThreshold
vote
addBlockMaker
addVoter
投票の実行
投票できるノードを追加する
genesis.json
(Initial)Maker Node
Quorum Nodeの初期値
ネットワーク起動時にブロック生成
ができるノードのアドレス
• Quorumの投票型コンセン
サスは、スマートコントラクト
の機能で実行
• コンセンサスに参加するノー
ドの追加/削除もスマート
コントラクトの機能で実行
• コンセンサスに参加するノー
ドに関する情報は
Quorum Nodeのデータ
ベースに書き込まれる
• 最初にブロックを生成する
ノードのアドレスは
genesis.jsonに書き込む
主なポイント
 コンセンサスアルゴリズムに関連するシステム構造
Quorum の 課題(ロードマップ提示済みのもの)
7Copyright(C)2017 trident-arts All Rights Reserved.
 Network Management
• Network Permissioning to be managed via Smart Contracts as opposed to node-
specific config
• Dynamic Node removal
• Network Admin Dapp
 Privacy
• Support for private key rotation
• Ability to extend the list of participants that can access private transactions post
transaction creation
 Consensus
• Safer 'deadlock management' when Vote Threshold is not met (currently Maker
Node can break deadlock by re-voting)
• Limitations on the number of votes a Voter or Organisation can make
• Dynamic Voting Threshold adjustment
 Performance
• Parallel Transaction processing
 Short Term
 Medium Term
 Consensus
• Pluggable consensus
8
デモンストレーション
8Copyright(C)2017 trident-arts All Rights Reserved.
9Copyright(C)2017 trident-arts All Rights Reserved.
with advanced technology
trident-arts
ご清聴ありがとうございました

Mais conteúdo relacionado

Mais de blockchainexe

資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)
資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)
資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)blockchainexe
 
Web3で分散化社会は可能か | 湯川鶴章
Web3で分散化社会は可能か | 湯川鶴章Web3で分散化社会は可能か | 湯川鶴章
Web3で分散化社会は可能か | 湯川鶴章blockchainexe
 
NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)
NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)
NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)blockchainexe
 
「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...
「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...
「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...blockchainexe
 
メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)
メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)
メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)blockchainexe
 
DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)
DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)
DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)blockchainexe
 
デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由 | 石川 大紀(株式会社Datachain 事業開発シニアマネー...
デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由  | 石川 大紀(株式会社Datachain 事業開発シニアマネー...デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由  | 石川 大紀(株式会社Datachain 事業開発シニアマネー...
デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由 | 石川 大紀(株式会社Datachain 事業開発シニアマネー...blockchainexe
 
Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...
Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...
Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...blockchainexe
 
IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾
IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾
IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾blockchainexe
 
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾 ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾 blockchainexe
 
自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥
自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥
自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥blockchainexe
 
分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲
分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲
分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲blockchainexe
 
Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅
Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅
Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅blockchainexe
 
Blockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEO
Blockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEOBlockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEO
Blockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEOblockchainexe
 
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表blockchainexe
 
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...blockchainexe
 
Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)
Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)
Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)blockchainexe
 
Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)
Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)
Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)blockchainexe
 
スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)
スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)
スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)blockchainexe
 
ICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICO
ICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICOICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICO
ICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICOblockchainexe
 

Mais de blockchainexe (20)

資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)
資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)
資産性ミリオンアーサーを通して語るNFT事業の取り組み事例 (畑圭輔 | 株式会社スクウェア・エニックス ブロックチェーン・エンタテインメント事業部)
 
Web3で分散化社会は可能か | 湯川鶴章
Web3で分散化社会は可能か | 湯川鶴章Web3で分散化社会は可能か | 湯川鶴章
Web3で分散化社会は可能か | 湯川鶴章
 
NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)
NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)
NFT・ブロックチェーン関連の法律的観点について | 永井幸輔(株式会社メルカリ 兼 株式会社メルコイン NFT新規事業開発マネージャー)
 
「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...
「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...
「パ・リーグ Exciting Moments β」とNFT事業について | 宮本 祐一(株式会社メルペイ・メルコイン PRマネージャー/株式会社メルカリ...
 
メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)
メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)
メルカリにおけるブロックチェーン技術の活用について | 伏見慎剛(株式会社メルカリ 執行役員 NFT担当 / 株式会社メルコイン 取締役)
 
DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)
DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)
DVP決済実現に向けた挑戦 | 世取山 進二(株式会社NTTデータ 金融事業推進部 デジタル戦略推進部 部長)
 
デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由 | 石川 大紀(株式会社Datachain 事業開発シニアマネー...
デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由  | 石川 大紀(株式会社Datachain 事業開発シニアマネー...デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由  | 石川 大紀(株式会社Datachain 事業開発シニアマネー...
デジタル通貨・ステーブルコインが注目される今、インターオペラビリティが必要とされる理由 | 石川 大紀(株式会社Datachain 事業開発シニアマネー...
 
Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...
Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...
Cloud Satelliteで実現する分散クラウド時代のIBM Blockchain Platform Anywhereとエコシステム | 日本アイ・ビ...
 
IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾
IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾
IBM Blockchain Solutionを支えるIBM Blockchain Platform | 日本アイ・ビー・エム株式会社 栗村 彰吾
 
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾 ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
ブロックチェーン同士をつなげたトークンエコノミーの実現 —-ConnectionChainとHyperledger CACTUS | 藤本 真吾
 
自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥
自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥
自己主権型アイデンティティを実現するIDYXテクノロジー | 鈴木 大、中山貴祥
 
分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲
分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲
分散型社会にて信頼できるトレーサビリティを実現するChain Data Lineage | 西間木 哲
 
Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅
Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅
Blockchain EXE #1ブロックチェーン技術の可能性について解説|IBMコンサルティング・アーキテクト 平山毅
 
Blockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEO
Blockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEOBlockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEO
Blockchain EXE #16 世界のブロックチェーン技術動向|石井 敦 クーガーCEO
 
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
Blockchain EXE #16 分散型ネットワークを最大活用する為のパブリックとエンタープライズEthereumの動向|石黒一明 EEA Japan代表
 
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
Blockchain EXE #16:Hyperledger fabricの技術動向とファイナンシャルエンジニアリング視点でのトークンエコノミー|平山 毅...
 
Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)
Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)
Blockchain EXE #14:ブロックチェーンの健康医療分野での応用(水島 洋 | 国立保健医療科学院)
 
Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)
Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)
Blockchain EXE #14:医療分野におけるブロックチェーン技術の活用可能性(李 東瀛 | Arteryex)
 
スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)
スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)
スイス進出のメリット (在日スイス大使館 スイス外国企業誘致局)
 
ICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICO
ICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICOICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICO
ICO in in the Swiss Crypto Valley/スイスクリプトバレーにおけるICO
 

EXE #2: Quorumサンプル実装から理解するエンタープライズ Ethereum のポイント

  • 1. Quorumサンプル実装から理解する エンタープライズ Ethereum のポイント Copyright(C)2017 trident-arts All Rights Reserved. with advanced technology trident-arts
  • 2. Enterprise Ethereum の サンプル実装 : Quorumとは 2Copyright(C)2017 trident-arts All Rights Reserved. Transaction ② Processing パブリック(=共通) & プライベート Consensus Chain Consensus 投票 & ランダムタイムアウト コンセンサス所要時間の短縮化 パブリック/プライベートの二刀流  JPモルガンが Go Ethereum ベースのOSSを開発  トランザクションの方式やコンセンサスアルゴリズムをエンタープライズ用途に耐えられるように改良 Quorumの機能的な主な特徴 ① Security 許可型ネットワーク & 暗号化 安全性の確立
  • 3. Quorum Transaction Processing の特徴① Security 3Copyright(C)2017 trident-arts All Rights Reserved.  ネットワークを許可型にすることと、暗号化によってQuorumネットワーク内の安全性が確保されている Quorum Node Transaction Manager Enclave Quorum Node Transaction Manager Enclave Quorum Node Transaction Manager Enclave Public Public Public Private Private Private A B C Ethereum Network Constellation Network Hash Payload Hash Payload Hash Payload • permissioned-nodes.json に接続を許可するノードを記載 "enode://remoteky1@ip1:port1“ (static-nodes.jsonと似ている) 許可制ネットワーク • ファイルやメールの暗号化に使用され るPGPをベースにしている • ペイロードは、セッション鍵と呼ばれる 乱数の値を鍵として,対称暗号 ※により暗号化される。 • そのセッション鍵は,公開鍵で暗号 化される(復号には秘密鍵) • トランザクションマネージャ間の通信は HTTPSにより暗号化 暗号化方式 ※暗号化と復号の鍵が同一 HTTPS Constellation ・・・星座、集まり Enclave ・・・包領、少数集団
  • 4. Quorum Transaction Processing の特徴② Processing 4Copyright(C)2017 trident-arts All Rights Reserved. DApp TransactionX Quorum Node Transaction Manager Enclave Quorum Node Transaction Manager Enclave Quorum Node Transaction Manager Enclave 1 2 3 4 5 6 7 Block N 8 9 10 11 12 11 12 9 7 10 Block N Block N 8 8 # プロセス ① A及びBの公開鍵を設定して、 Node AにトランザクションXを送信 ② トランザクションマネージャにトランザクションXを送付 ③ エンクレーブをコール ④ 1. セッション鍵とナンスを生成 2. ペイロード/ナンスをセッション鍵で暗号化 3. ペイロードのハッシュを計算 4. A/Bの公開鍵でA/Bのセッション鍵を暗号化 5. トランザクションマネージャに2,3,4のデータを送信 ⑤ • 暗号化されたペイロード/ハッシュ/セッション鍵(A)を保 存し、HTTPSでBのトランザクションマネージャにペイ ロード/ハッシュ/セッション鍵(B)を送信 • Bは受信結果(ACK/NACK)を返す ⑥ Bの受信成功後に、Aのトランザクションマネージャがノー ドにハッシュを送信、元のペイロードと置換 ⑦ Ethereumの標準P2Pプロトコルを使用して他の ノードにトランザクションXを伝播 ⑧ トランザクションXを含むブロックNが生成され、全ノード に配布される ⑨ 各ノードは、ローカルのトランザクションマネージャをコールし、ト ランザクションを保持しているか確認する(ハッシュをイン デックスとして使用) ⑩ C:トランザクションスキップ AB:エンクレーブをコール ⑪ 秘密鍵でセッション鍵を復号し、セッション鍵でペイロード を復号。トランザクションマネージャにペイロードを返す ⑫ • コントラクト実行のために解読されたペイロードをノー ドのEVMに送信 • プライベートステートDBが更新される Public Public Public Private Private Private A B C 9 10  パブリック・トランザクションフローは標準的なEthereumのトランザクションと同じ  下記は、Node A と Node B向けのプライベート・トランザクションフロー Ethereum Network Constellation Network Private For A/B Hash Payload Hash Payload Hash Payload
  • 5. Ethereum Network Quorum Chain Consensus の特徴 1/2 5Copyright(C)2017 trident-arts All Rights Reserved. Maker (Quorum Node) Voter (Quorum Node) Non-Voter (Quorum Node) Block Voting Block Voting Block N Tx List Vote List Tx 10 Vote1 Tx 11 Vote2 Tx 12 Vote3 1 22 # プロセス ① 最初にMakerノードがブロックを生成し、それに署名す る。ブロックには、前の期間にキャストされた親ブロックの投 票が含まれる ② ブロックは、標準のEthereum P2Pプロトコルを使用して ネットワークに配布される。ロールに関係なく、すべてのノードが ブロックを受信する。 ③ 投票者ノードはブロックを検証する • BlockVotingコントラクトをコールし、Makerがブロックを作 成できるかどうかを確認する • BlockVotingコントラクトを呼び出して、ブロックの親ブ ロックが十分な票を受け取ったかどうかをチェックする • (トランザクションマネージャからペイロードを取得した後 に)ブロック内の処理可能な全てのパブリックトランザク ションとプライベートトランザクションを実行する • パブリックステートのルートハッシュをブロック内のステートルートと比 較することによって、パブリックステートを検証する • ブロック内の全てのトランザクションをハッシュ化し(パブリック とプライベートの両方)、そのハッシュをブロック上のトランザ クションハッシュと比較する これはステートチェックではないが、全ての投票者ノードが ブロック内のトランザクションリストで一致することを保証する ④ 首尾よく検証されると、投票者ノードは、すべてのノード に配布される標準のEthereumTransactionを使用 して、BlockVotingコントラクトに投票を送信する ⑤ Makerノードはタイムアウトに達し、前のブロックの最小投票 数が受信されたかどうかを判定し、ブロック作成 以降、検証 → 投票処理が繰り返される  PoW ではない新たなコンセンサスアルゴリズムで スピードの向上を目指す 3 Block N Tx List Vote List Tx 10 Vote1 Tx 11 Vote2 Tx 12 Vote3 5 ブロック 配布 ブロック 生成 検証 投票 CallCall Transaction 4 <ブロック生成開始のトリガー> • 同時に2つ以上のMakerがブロックを作成する可能性を減らすために、Makerはランダムな期 間(タイムアウト)を生成してからブロックの作成を開始する • Makerが他のMakerより前にタイムアウトに達すると、ブロックの作成を開始することができる • Makerがブロック作成プロセスを開始すると、他のMakerノードは現在のタイムアウトをリセット し、新しいランダムタイムアウトを生成し、ブロックが作成されるまで待つ <Block Data> • A Global Transaction Hash • The Public State root hash • Block Maker's signature
  • 6. Quorum Chain Consensus の特徴 2/2 6Copyright(C)2017 trident-arts All Rights Reserved. Quorum Node Smart Contract BlockVoting nodeInfo blockMakerAccount min/max blocktime canCreateBlocks canVote voteAccount ブ ロ ッ ク 生 成 投 票 Quorum Nodeの設定値 コントラクト機能 ブロック生成できるノードを追加する 最低投票数を設定する ブロック生成できるノードのアドレス ブロック生成待ち時間(最大/最小) ブロック生成可否 投票できるノードのアドレス 投票可否 setVoteThreshold vote addBlockMaker addVoter 投票の実行 投票できるノードを追加する genesis.json (Initial)Maker Node Quorum Nodeの初期値 ネットワーク起動時にブロック生成 ができるノードのアドレス • Quorumの投票型コンセン サスは、スマートコントラクト の機能で実行 • コンセンサスに参加するノー ドの追加/削除もスマート コントラクトの機能で実行 • コンセンサスに参加するノー ドに関する情報は Quorum Nodeのデータ ベースに書き込まれる • 最初にブロックを生成する ノードのアドレスは genesis.jsonに書き込む 主なポイント  コンセンサスアルゴリズムに関連するシステム構造
  • 7. Quorum の 課題(ロードマップ提示済みのもの) 7Copyright(C)2017 trident-arts All Rights Reserved.  Network Management • Network Permissioning to be managed via Smart Contracts as opposed to node- specific config • Dynamic Node removal • Network Admin Dapp  Privacy • Support for private key rotation • Ability to extend the list of participants that can access private transactions post transaction creation  Consensus • Safer 'deadlock management' when Vote Threshold is not met (currently Maker Node can break deadlock by re-voting) • Limitations on the number of votes a Voter or Organisation can make • Dynamic Voting Threshold adjustment  Performance • Parallel Transaction processing  Short Term  Medium Term  Consensus • Pluggable consensus
  • 9. 9Copyright(C)2017 trident-arts All Rights Reserved. with advanced technology trident-arts ご清聴ありがとうございました