Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
高速で安全な2者間のECDSA署名
Search
shigeyuki azuchi
December 04, 2018
Technology
0
210
高速で安全な2者間のECDSA署名
GBEC動画解説コンテンツのスライドです。
https://goblockchain.network/2018/10/ecdsa_2-of-2_multisig/
shigeyuki azuchi
December 04, 2018
Tweet
Share
More Decks by shigeyuki azuchi
See All by shigeyuki azuchi
Shorのアルゴリズム
azuchi
0
5
DahLIAS: Discrete Logarithm-Based Interactive Aggregate Signatures
azuchi
0
7
Fiat-Shamir変換と注意点
azuchi
0
92
AssumeUTXOを利用したブロックチェーンの同期
azuchi
0
19
BIP-374 離散対数の等価性証明
azuchi
0
35
BIP-353 DNS Payment Instructions
azuchi
0
54
OP_CAT and Schnorr Trick
azuchi
0
52
Pay to Anchorと1P1Cリレー
azuchi
0
49
プロアクティブ秘密分散法
azuchi
0
69
Other Decks in Technology
See All in Technology
OCI Oracle Database Services新機能アップデート(2025/09-2025/11)
oracle4engineer
PRO
1
110
意外とあった SQL Server 関連アップデート + Database Savings Plans
stknohg
PRO
0
300
Lambdaの常識はどう変わる?!re:Invent 2025 before after
iwatatomoya
1
450
LLM-Readyなデータ基盤を高速に構築するためのアジャイルデータモデリングの実例
kashira
0
230
直接メモリアクセス
koba789
0
290
安いGPUレンタルサービスについて
aratako
2
2.7k
Snowflakeでデータ基盤を もう一度作り直すなら / rebuilding-data-platform-with-snowflake
pei0804
4
1.3k
AI駆動開発における設計思想 認知負荷を下げるフロントエンドアーキテクチャ/ 20251211 Teppei Hanai
shift_evolve
PRO
2
340
今からでも間に合う!速習Devin入門とその活用方法
ismk
1
640
A Compass of Thought: Guiding the Future of Test Automation ( #jassttokai25 , #jassttokai )
teyamagu
PRO
1
250
re:Invent 2025 ふりかえり 生成AI版
takaakikakei
1
190
チーリンについて
hirotomotaguchi
6
1.8k
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Mobile First: as difficult as doing things right
swwweet
225
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
9
1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
34k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
The Pragmatic Product Professional
lauravandoore
37
7.1k
Building an army of robots
kneath
306
46k
Balancing Empowerment & Direction
lara
5
790
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Optimizing for Happiness
mojombo
379
70k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
How STYLIGHT went responsive
nonsquared
100
6k
Transcript
高速で安全な2者間のECDSA署名
1 Bitcoinの通常の2-of-2マルチシグ Bitcoinを使用する際に複数個の署名を必要とする仕組み 2人の署名があればBitcoinを使用できる アリス ボブ 2 <アリスの公開鍵> <ボブの公開鍵> 2 CHECKMULTISIG 2-of-2のマルチシグスクリプト scriptPubKey 0 <アリスの署名> <ボブの署名>
scriptSig
2 ECDSA Signature • 秘密鍵: x • 公開鍵: P =
xG • メッセージ: m • ハッシュ関数: H() 【署名の生成】 1. ランダムなnonce k を選択。 2. kを秘密鍵とした楕円曲線上の点 R = kGを計算。 3. 点Rのx座標をrとする。 4. を計算 5. 生成した (r, s)がECDSAの署名データ。 【署名の検証】
3 Yehuda Lindellのペーパー
4 ECDSAでマルチシグを構成するポイント 署名(r, s)の内、秘密鍵を使った計算をするのはsの計算↓ 秘密鍵xを2者の秘密鍵から計算する値にすると、署名は単 一だが、有効な署名を生成するためには2者の秘密鍵を必 要とするマルチシグを構成することができる。 x = アリスの秘密鍵
× ボブの秘密鍵 ※両者がお互い自分の秘密鍵を明らかにすることなく sを計算できる必要がある
鍵ペア P1 = x1G nonce R1 = k1G 5 コインのロック
Pにロックされたコインをアンロックするすためには が計算できればいい 鍵ペア P2 = x2G nonce R2 = k2G P1, R1, P2, R2を共有 P = x1 ・ P2 を計算 R = k1 ・R2 を計算 P = x2 ・ P1 を計算 R = k2 ・R1 を計算 計算した点Pと点Rはそれぞれ同じ点になる P宛にコインを送金するとマルチシグへのロックとなる
6 秘密計算で署名データを計算 ①アリスは、Paillier暗号用の鍵ペアを生成(priv, pub) ※Paillier暗号は加法準同型性がある暗号スキーム ②pubを使ってアリスの秘密鍵x1を暗号化Enc(x1)し、 pubと一緒にボブに送信 Enc(x1) pub ③
ボブは、以下の計算をしてpubで暗号化 Enc(x1)を使って以下を計算 c3 = c1⊕c2を計算して、アリスに送る。 ④ アリスはc3を復号して s’ を計算 ⑤ s’にk1^-1を掛けるとアンロックに必要な署名値 s が手に入る 両者ともに秘密鍵 x1, x2を明らかにすることなく、 マルチシグのアンロックに必要な署名値を計算できる 1
7 ECDSAベースのマルチシグのメリット • プライバシーの向上 ロックスクリプトも通常のP2PKHやP2WPKHのように単一の公開鍵への ロックとなるため、マルチシグを利用したコントラクトであることは当事者 以外分からない。 • データサイズの削減 通常のマルチシグの場合、1つの署名データにつき73バイトのデータを
必要とするが、Lindellのマルチシグでは単一の署名データになるため、 その分トランザクションサイズが削減され、ブロックチェーンのスペースも 削減できる。 • さまざまなコントラクトへの適用 Lightning Network(Multi-Hop Locks)やAdaptor Signatureを利用した Atomic SwapなどScriptlessなコントラクトに(Schnorrを待たずとも) 今すぐ適用可能。