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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Akira
September 27, 2019
Technology
2.5k
1
Share
Quorumプライベートトランザクション
Quorumにおけるプライベートトランザクションの処理工程について
Akira
September 27, 2019
More Decks by Akira
See All by Akira
ENSの登録方法
akira_19
0
2.3k
Other Decks in Technology
See All in Technology
Javaで学ぶSOLID原則
negima
1
270
AIガバナンス実践 - 生成AIコネクタのデータ漏洩リスクと実務対策
knishioka
0
170
AI駆動開発が変える、大規模開発の前提 ーHuman in the Loop から Human on the Loop へ / AIE2026
visional_engineering_and_design
2
2.2k
Mastering Ruby Box
tagomoris
3
140
React、まだ楽しくて草
uhyo
7
3.9k
AIを「創る」と「使う」の循環 — HRテックが実践するリアルなAI組織実装
taketo957
0
1.1k
Djangoユーザが知っ得なPostgreSQL機能 - 設計の選択肢を増やす / Djang-use-PostgreSQL
soudai
PRO
0
110
コードレビューを制するチームがソフトウェアデリバリーのフローを制す / Beyond Code Review: Distributing Its Responsibilities Across the SDLC
mtx2s
3
900
Datadog 認定試験の概要と対策
uechishingo
0
230
ポケモンの型をTypeScriptの型システムで表現してみた
subroh0508
0
160
サプライチェーンセキュリティの空白地帯 - 信頼できる”依存性”の未来を考える
rung
PRO
2
650
Sony_KMP_Journey_KotlinConf2026
sony
2
210
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
How to Talk to Developers About Accessibility
jct
2
220
We Are The Robots
honzajavorek
0
240
The Limits of Empathy - UXLibs8
cassininazir
1
350
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
370
Prompt Engineering for Job Search
mfonobong
0
330
Raft: Consensus for Rubyists
vanstee
141
7.5k
Un-Boring Meetings
codingconduct
0
310
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
How STYLIGHT went responsive
nonsquared
100
6.2k
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