Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Silent Payment

Silent Payment

GBECの解説動画の資料です。
https://goblockchain.network/2023/03/silent-payment/

shigeyuki azuchi

March 21, 2023
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. 1 Silent Payment
 Bitcoinのアドレスを公開する際の課題 
 • 公開アドレスに対して、誰もが支払いできるため、公開アドレスの総受取額が分かる 
 • アドレスの再利用による、プライバシーのリーク(各支払いのリンク)

    
 
 
 
 
 Silent Payment
 アドレスは公開するものの、そのアドレス宛の支払いを識別不能にするRuben Somsenの提案 
 https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8 
 

  2. 2 Silent Payment Address
 公開アドレスを作成する受信者は、32バイトの公開鍵を Silent Payment Addressとして公開
 
 


    P = xG
 送信者は、
 1. 支払いに使用するインプット(公開鍵 Q = yG)を選択
 2. P' = H(yP)G + Pを導出し、この公開鍵宛に支払いを行う 
 受信者は、
 1. ブロックチェーン上のトランザクションをスキャンし、 
 2. インプットの公開鍵に対してH(xQ)G + Pを計算し、
 3. 計算結果の公開鍵がアウトプットにあれば、自身への支払いを検知 
 ※ ECDHによりyP = yxG = xQが成立
       ※ インプットが違えば、異なるアドレスが導出される 

  3. 3 Silent Paymentの利点と欠点
 Silent Paymentの利点
 • 送信者<->受信者間の対話が不要 
 • オンチェーンのフットプリントが通常の支払いと変わらない

    
 ステルスアドレスやBIP-47(再利用可能なペイメントコード)では、 
 OP_RETURNや通知トランザクションなど、追加のフットプリントが発生する 
 
 Silent Paymentの欠点
 • UTXOセットのスキャン
 現在のUTXOセットに対して、H(xQ)G + Xの計算がシングルコアで約220分 
 • フルノードが必要で、軽量クライアントでは利用できない。