Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Merkle Sum Sparse Merkle Tree
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
shigeyuki azuchi
January 25, 2023
Technology
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Merkle Sum Sparse Merkle Tree
GBECの解説動画のスライドです。
https://goblockchain.network/2023/01/merkle-sum-sparse-merkle-tree/
shigeyuki azuchi
January 25, 2023
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
Hyper Tree
azuchi
0
18
FORS
azuchi
0
30
クラスターmempool
azuchi
0
42
W-OTS+
azuchi
0
46
Shorのアルゴリズム
azuchi
0
69
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
54
Fiat-Shamir変換と注意点
azuchi
0
250
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
67
BIP-374 離散対数の等価性証明
azuchi
0
82
Other Decks in Technology
See All in Technology
Tab5をRubyで動くパソコンにする
kishima
2
280
【視聴者参加型!】AWSセキュリティアンチパターンクイズ
syoshie
1
490
GoにおけるFFIのこれまでとこれから
goccy
4
2.1k
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
3
930
クロスボーダーM&AのValue Upを支えるプロダクト開発。日米チームのハブになったプロダクトエンジニアの実践 / Product Engineering Conference 2026
genda
0
110
Adaptive Warehouse を今すぐ導入すべき理由と迷ったときの判断基準
__allllllllez__
0
150
作品が生態系になった ─ Mini Tokyo 3D から世界へ
nagix
0
150
振り返りこそエンジニアの本領
negima
0
360
リージョンの壁を越える、 ちょっと変わったAWSサービスの話
falken
PRO
1
300
アリアドネの糸と、20年ごとの建て替え ── 長尾真『電子図書館』を、伊勢で読み直す / Rereading Makoto Nagao’s "Electronic Library" in Ise
ykiyota
0
140
enechainの内製セルフサービスプラットフォーム
hiyosi
0
150
From Vanilla Kubernetes to a Batteries-Included Platform: Developer Experience at 1,300+ Clusters
yosshi_
0
680
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.6k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
11k
Mind Mapping
helmedeiros
1
350
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Between Models and Reality
mayunak
4
450
Organizational Design Perspectives: An Ontology of Organizational Design Elements
kimpetersen
PRO
1
820
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
4.3k
Product Roadmaps are Hard
iamctodd
55
13k
How to Think Like a Performance Engineer
csswizardry
28
2.8k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.1k
Transcript
Merkle Sum Sparse Merkle Tree (Taro Protocol)
1 Sparse Merkle Tree Key/Value形式のデータエンコードするマークルツリー ・・・ Key Keyの値からツリー内の
エントリーの位置が特定できるツリー TaroではKeyは256 bit Keyをビット列にし、 • 0であれば左の子ノード • 1であれば右の子ノード と順にツリーを下っていく 空のリーフノードの値を決めておくことで、 エントリーが空であることを空のリーフまでの マークルプルーフを提供することで証明できる
2 Merkle Sum Tree H(H(H(A) || H(B)) || H(H(C) ||
H(D))) H(H(A) || H(B)) H(A) H(B) H(H(C) || H(D)) H(C) H(D) 一般的なマークルツリーは、 左右の子ノードのハッシュ値を連結しハッシュ値を計算し、 それを親ノードのハッシュ値とする H(H(H(A) || H(B)) || H(H(C) || H(D)) || 80 + 82) H(H(A) || H(B) || 50 + 30) H(A), 50 H(B), 30 H(H(C) || H(D) || 15 + 67) H(C), 15 H(D), 67 Merkle Sum Treeは、各ノードが子ノードの数値の合計に コミットする。 親ノードのハッシュ値は、 • 左右の子ノードのハッシュ値 • 左右の子ノードの数値の合算値 を連結したハッシュ値
3 Merkle Sum Sparse Merkle Tree Sparse Merkle Tree とMerkle
Sum Treeを組み合わせたマークルツリー Taroでは2階層のMerkle Sum Sparse Merkle Tree を使用 https://github.com/Roasbeef/bips/blob/bip-taro/bip-taro-ms-smt.mediawiki Asset Tree Root 256 ・・・ Asset ID Tree Root ・・・ Asset ID Asset Script Key • 1階層めのツリーは、アセットIDをキーに対象アセットの エントリーを格納 • このツリーの全アセットの量にコミット Leaf:H(Taro version || Asset ID Tree Root || Asset Sum) • 2階層めのツリーは対象アセットについて、 各ユーザー(アカウント)が保持する アセットの量をコミット Leaf:H(Asset Leaf || Asset Sum) ※ Asset Leaf=アセットに関するTLVレコード 256 2256個のリーフノード