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
82
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
8
Hyper Tree
azuchi
0
18
FORS
azuchi
0
30
クラスターmempool
azuchi
0
42
W-OTS+
azuchi
0
49
Shorのアルゴリズム
azuchi
0
69
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
55
Fiat-Shamir変換と注意点
azuchi
0
250
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
69
Other Decks in Technology
See All in Technology
Reactの設計論
uhyo
17
9k
アプリログインとWeb認証基盤をつなぐ ASWebAuthenticationSession 作法
shimastripe
1
290
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
3
340
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
220
Slack上でインフラをトラブルシュートする! Agentic Platform Engineeringの第一歩
teru0x1
4
1.6k
2026_devsumi_ozono.pdf
o3
3
450
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
8
690
OpenTelemetry eBPF Instrumentationの舞台裏 / Behind the Scenes of OpenTelemetry eBPF Instrumentation
ymotongpoo
4
1.2k
Screen Lens - 今見てる画面を翻訳する
komagata
0
270
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
140
synctest時代のhttptest Go 1.27で変わるHTTPサーバテストの裏側 / go conference2026 synctest and httptest
budougumi0617
1
2.8k
安心して変更できるWebフロントエンドの作り方
pirosikick
4
2k
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
3
1.2k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
330
The World Runs on Bad Software
bkeepers
PRO
72
12k
Statistics for Hackers
jakevdp
799
230k
The Language of Interfaces
destraynor
162
27k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
230
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
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) を検証