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. Silent Payment


    View Slide

  2. 1
    Silent Payment

    Bitcoinのアドレスを公開する際の課題

    ● 公開アドレスに対して、誰もが支払いできるため、公開アドレスの総受取額が分かる

    ● アドレスの再利用による、プライバシーのリーク(各支払いのリンク)





    Silent Payment

    アドレスは公開するものの、そのアドレス宛の支払いを識別不能にするRuben Somsenの提案

    https://gist.github.com/RubenSomsen/c43b79517e7cb701ebf77eec6dbb46b8


    View Slide

  3. 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が成立

          ※ インプットが違えば、異なるアドレスが導出される

    View Slide

  4. 3
    Silent Paymentの利点と欠点

    Silent Paymentの利点

    ● 送信者<->受信者間の対話が不要

    ● オンチェーンのフットプリントが通常の支払いと変わらない

    ステルスアドレスやBIP-47(再利用可能なペイメントコード)では、

    OP_RETURNや通知トランザクションなど、追加のフットプリントが発生する


    Silent Paymentの欠点

    ● UTXOセットのスキャン

    現在のUTXOセットに対して、H(xQ)G + Xの計算がシングルコアで約220分

    ● フルノードが必要で、軽量クライアントでは利用できない。

    View Slide