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
BIP-374 離散対数の等価性証明
Search
shigeyuki azuchi
May 06, 2025
Technology
88
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BIP-374 離散対数の等価性証明
GBECの解説動画の資料です。
https://goblockchain.network/2025/05/bip-374-dleq/
shigeyuki azuchi
May 06, 2025
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
SLH-DSA (SPHINCS+)
azuchi
0
24
Hyper Tree
azuchi
0
23
FORS
azuchi
0
37
クラスターmempool
azuchi
0
45
W-OTS+
azuchi
0
52
Shorのアルゴリズム
azuchi
0
72
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
59
Fiat-Shamir変換と注意点
azuchi
0
270
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
74
Other Decks in Technology
See All in Technology
AI AgentによるEmbedded SREの取り組み
tgidgd
1
320
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
170
(swiftc) NonCopyableとライフタイム修飾子
teamhimeh
0
160
AI時代の開発はウォーターフォールに回帰する? / development-with-ai-back-to-wf
okamototakuyasr2
0
170
Systems Manager AgentがインストールされたPCを紛失した時の対策を考えてみた
amarelo_n24
1
110
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
160
AIエージェント統制はAPIから——押さえるべき5つの要素
nagix
0
110
OneLakeをデータソースにした AI Search(Foundry IQ)の ライフサイクル管理
ryuseiiida
0
220
AIテスト自動化と評価駆動開発EDD
happysamurai294
0
130
Building Audio Plugin Ecosystem for Android in 2026
atsushieno
1
110
Claude Codeから見る、エンジニアの世界の変容とその先
oikon48
8
5.1k
AIエージェント時代、Kaggleにどう取り組むか
takanao
2
470
Featured
See All Featured
Testing 201, or: Great Expectations
jmmastey
46
8.4k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
2
3k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
310
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
750
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
340
Optimizing for Happiness
mojombo
378
71k
Ethics towards AI in product and experience design
skipperchong
2
450
sira's awesome portfolio website redesign presentation
elsirapls
0
480
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
660
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
510
Transcript
BIP-374 離散対数の等価性証明
1 BIP-374 https://github.com/bitcoin/bips/blob/master/bip-0374.mediawiki ベースポイント=Gと別の点Bに対して A = xG、C =
xB という2つの点が、同じ離散対数xを元に導出されたことを証明するスキーム • サイレントペイメントでの利用を想定した提案 https://goblockchain.network/2023/03/silent-payment/ • 似たようなスキームPoDLE UTXOを明かすことなくUTXOの所有を証明する https://goblockchain.network/2020/08/podle/
2 サイレントペイメント Tx In UTXO(公開鍵B=bG) Out サイレントペイメントアドレス • スキャン用公開鍵
• 支払い用公開鍵 支払先アドレス 共有シークレット ① 受取人のスキャン公開鍵と支払人の秘密鍵でECDHにより 共有シークレットを導出 ※ サイレントペイメントの詳細な仕様については https://techmedia-think.hatenablog.com/entry/2024/07/29/194501 ②共有シークレットを加工した点+ 支払い用の公開鍵で 支払先のアドレスを導出 ※ 署名に使用された秘密鍵bを使って、正しく支払先のアドレスが導出されていないと 受取人は受け取ったコインを受け取れない
3 複数の参加者がいるサイレントペイメント Tx In UTXO(公開鍵B=bG) Out 支払先アドレス UTXO(公開鍵C=cG) スキャン用の鍵A
= aG 共有シークレット= (b + c)・h・A b・h・A c・h・A ※ 署名者が複数人いる場合、自分が正しく計算していても、 他の参加者が別の鍵で共有シークレットを導出していた場合、 誤った支払先アドレスが導出されてしまう UTXOの秘密鍵と同じ鍵を使って共有シークレットが導出されたことを証明したい
4 DLEQ(Discrete Log Equality Proofs) ベースポイント=Gと別の点Bに対して A = xG、C
= xB という2つの点が、同じ離散対数 xを元に導出されたことを証明する 【証明者】 1. ランダムな値kを選択 2. R1 = kGを計算 3. R2 = kBを計算 4. e = H(R1 || R2) とする 5. s = k + exを計算 6. e || s がプルーフ ※ 補助ランダムデータやオプションメッセージなど詳細はBIP-374参照 【A, B, Cとプルーフ(e || s)を受け取った受信者】 1. R1 = sG - eA を計算 = (k + ex)G - eA = kG + eA - eA = kG 2. R2 = sB - eC を計算 = (k + ex)B - eC = kB + eC - eC = kB 3. e = H(R1 || R2) を検証