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.1k
Other Decks in Technology
See All in Technology
Flutterによる 効率的なAndroid・iOS・Webアプリケーション開発の事例
recruitengineers
PRO
0
120
RubyのWebアプリケーションを50倍速くする方法 / How to Make a Ruby Web Application 50 Times Faster
hogelog
3
950
OCI 運用監視サービス 概要
oracle4engineer
PRO
0
4.8k
DynamoDB でスロットリングが発生したとき_大盛りver/when_throttling_occurs_in_dynamodb_long
emiki
1
460
IBC 2024 動画技術関連レポート / IBC 2024 Report
cyberagentdevelopers
PRO
1
120
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.4k
OCI Vault 概要
oracle4engineer
PRO
0
9.7k
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
160
SDN の Hype Cycle を一通り経験してみて思うこと / Going through the Hype Cycle of SDN
mshindo
1
160
プロダクト活用度で見えた真実 ホリゾンタルSaaSでの顧客解像度の高め方
tadaken3
0
220
AWS Lambda のトラブルシュートをしていて思うこと
kazzpapa3
2
200
Why App Signing Matters for Your Android Apps - Android Bangkok Conference 2024
akexorcist
0
130
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
How STYLIGHT went responsive
nonsquared
95
5.2k
Designing for Performance
lara
604
68k
Optimizing for Happiness
mojombo
376
70k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
246
1.3M
Large-scale JavaScript Application Architecture
addyosmani
510
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
Agile that works and the tools we love
rasmusluckow
327
21k
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