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
85
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
18
Hyper Tree
azuchi
0
19
FORS
azuchi
0
32
クラスターmempool
azuchi
0
44
W-OTS+
azuchi
0
50
Shorのアルゴリズム
azuchi
0
71
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
58
Fiat-Shamir変換と注意点
azuchi
0
260
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
70
Other Decks in Technology
See All in Technology
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
680
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
330
Deep Data Security 機能解説
oracle4engineer
PRO
2
760
生成AIと進める探索的データ分析(2026.10.03 第122回Tokyo.R勉強会)
tatamiya
2
1.5k
初対面のメンバーがチームを組み、Claude Codeでゼロからサービスをリリース
mkdev10
1
120
オブザーバビリティを高める AI エージェント体験を考える / Designing AI Agent Experiences That Enhance Observability
aoto
PRO
2
330
OR学会2026年秋期大会_機械学習と数理最適化の融合による、配合レシピ最適化システム開発事例
brainpadpr
0
120
FOSS4Gを活用した自治体業務DXの試み
470715
0
150
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
4
1.2k
使いこなすために知っておきたい Azure SRE Agent アンチパターン
torumakabe
2
460
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
7
2.4k
不可逆な意思決定を避けながら10億超の顧客データを AI Ready にするデータ基盤設計
baseballyama
1
280
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
780
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
2
530
Navigating Team Friction
lara
192
16k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
480
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.6k
Building Applications with DynamoDB
mza
96
7.2k
4 Signs Your Business is Dying
shpigford
187
23k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
450
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
510
Information Architects: The Missing Link in Design Systems
soysaucechin
1
1.2k
Prompt Engineering for Job Search
mfonobong
0
500
Mind Mapping
helmedeiros
1
400
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) を検証