Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Quorumプライベートトランザクション
Search
Akira
September 27, 2019
Technology
1
2.3k
Quorumプライベートトランザクション
Quorumにおけるプライベートトランザクションの処理工程について
Akira
September 27, 2019
Tweet
Share
More Decks by Akira
See All by Akira
ENSの登録方法
akira_19
0
2.2k
Other Decks in Technology
See All in Technology
1等無人航空機操縦士一発試験 合格までの道のり ドローンミートアップ@大阪 2024/12/18
excdinc
0
190
効率的な技術組織が作れる!書籍『チームトポロジー』要点まとめ
iwamot
2
120
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
Wantedly での Datadog 活用事例
bgpat
2
730
プロダクト組織で取り組むアドベントカレンダー/Advent Calendar in Product Teams
mixplace
0
220
型情報を用いたLintでコード品質を向上させる
sansantech
PRO
2
150
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
180
Zero Data Loss Autonomous Recovery Service サービス概要
oracle4engineer
PRO
1
4.8k
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
300
[Oracle TechNight#85] Oracle Autonomous Databaseを使ったAI活用入門
oracle4engineer
PRO
1
140
Amazon Kendra GenAI Index 登場でどう変わる? 評価から学ぶ最適なRAG構成
naoki_0531
0
140
多様なメトリックとシステムの健全性維持
masaaki_k
0
120
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
53
13k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Building Adaptive Systems
keathley
38
2.3k
Embracing the Ebb and Flow
colly
84
4.5k
KATA
mclloyd
29
14k
Practical Orchestrator
shlominoach
186
10k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Optimising Largest Contentful Paint
csswizardry
33
3k
4 Signs Your Business is Dying
shpigford
182
21k
Site-Speed That Sticks
csswizardry
2
190
Transcript
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 1 DappからNode AがPrivateの トランザクション(Tx AB) を受け取る。このトランザク ションはParty AとParty Bから
のみ⾒見見られる Quorum Githubより引⽤用 https://github.com/jpmorganchase/quorum
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 2 Transaction Manager AがTxを 受け取る。
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 3 Enclave AにてTxを対称鍵(S) で暗号化を⾏行行う(S(Tx))。 Private Party(AB)の公開鍵で 対称鍵を暗号化する(Pub(S)) ※最新版だと対称鍵ではなく別の暗号化を使って いますが、全体の流れは同じです。
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 4 S(Tx)とPub(S)を返し、 Transaction ManagerはS(Tx) とPub(S)を保存する。 4 5Y 1VC 4
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 5 Private PartyでS(Tx)とPub(S) を共有し、正常に共有できたら ハッシュ化を⾏行行う(H(S(Tx)) 4 5Y 1VC 4
) 4 5Y 4 5Y 1VC 4
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 6 H(S(Tx))をNode Aが受け取る。 4 5Y 1VC 4 ) 4
5Y 4 5Y 1VC 4 ) 4 5Y
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 7 通常のEthereumプロトコルで H(S(Tx))が伝播される 4 5Y 1VC 4 ) 4
5Y 4 5Y 1VC 4 ) 4 5Y ) 4 5Y ) 4 5Y
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 8 H(S(Tx))を含むブロックを各 ノードが受け取る 4 5Y 1VC 4 ) 4
5Y 4 5Y 1VC 4 ) 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 9 H(S(Tx))を含むブロックを各 ノードが受け取る 4 5Y 1VC 4 ) 4
5Y 4 5Y 1VC 4 ) 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 10 そのトランザクションが Private Partyに属するもので あれば、各Transaction Managerは各EnclaveにS(Tx) とPub(S)を渡す。 この例例ではParty CはPrivate
Partyに属していないので、当 該トランザクションは⾒見見つか らずこのトランザクションの 処理理をスキップする。 4 5Y 1VC 4 ) 4 5Y 4 5Y 1VC 4 ) 4 5Y ) 4 5Y ) 4 5Y
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 11 Enclaveは署名を確認し、問題 なければTxを返す 4 5Y 1VC 4 ) 4
5Y 5Y 4 5Y 1VC 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y
1SJWBUF5SBOTBDUJPOͷ࣮ߦ֓ཁ 12 Transaction Manager AとBは各 ノードにTxを渡して、各ノー ドがTxをEVMで実⾏行行する。こ のTxで更更新されるのはNode A とBのPrivate
State DBだけ。実 ⾏行行されたTxは直ちに破棄され て外からは⾒見見られない。 4 5Y 1VC 4 ) 4 5Y 5Y 4 5Y 1VC 4 5Y ) 4 5Y ) 4 5Y ) 4 5Y 5Y 5Y