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

OP_CTV(BIP-119)

 OP_CTV(BIP-119)

GBECの解説動画の資料です。
https://goblockchain.network/2022/07/op_cvt/

shigeyuki azuchi

July 06, 2022
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. OP_CTV (BIP-0119)


    View Slide

  2. 1
    OP_CTV (BIP-0119)

    コインの使用方法を制限できるようにする新しい
    opcode

    OP_CHECKTEMPLATEVERIFY (OP_CTV)の提案

    https://github.com/bitcoin/bips/blob/master/bip-0119.mediawiki


    【従来のBitcoin Script】







    Parent Tx

    In

    Out

    ロック条件

    Prev UTXO 

    Child Tx

    In

    Out

    Parent TxのUTXO 

    ロック条件

    アンロック要素 

    UTXOのscriptPubkeyにロックされたコインは、

    それをアンロック可能な要素(署名など)を

    提供することで、そのUTXOのコインを使用可能になる

    アンロックしたコインをどう使うか(どこに送金するか)は、

    ユーザーが自由に決められる

    OP_CTVは、この送金先(アウトプット)の制御を可能にする


    View Slide

  3. 2
    OP_CTVの仕様

    OP_CHECKTEMPLATEVERIFYは、既存の予約opcode OP_NOP4を置き換える

    ※ 新しいsegwit versionを導入することなく、従来のBitcoin Scriptでも利用可能


    OP_CTVの挙動:

    1. スタック上に少なくとも1つの要素があることをチェック 

    2. スタック上の最上位の要素が32バイトかどうかチェック 

    3. 実行中のインプットにおいて、トランザクションのハッシュ値が 

    スタック上の要素と一致するかチェック 

    Child Tx

    In

    Out

    アンロック要素 

    ロック条件

    Hash(Child Tx)がxxxと一致することを検証


    つまり、OP_CTVを利用する際は、そのUTXOを作成する段階で、

    子Txの構成を定める必要がある。

    将来のTxにコミットしたアウトプット

    Parent Tx

    In

    Out

    xxx OP_CTV … 

    Prev UTXO 


    View Slide

  4. 3
    OP_CTVのユースケース例

    ● 輻輳制御

    取引所が多くのユーザーに対して一括して出金する際の、手数料効率の向上 








    ● Vault

    Withdraw Tx

    In

    Out

    xxx OP_CTV … 

    取引所のUTXO 

    Child Tx

    In

    Out

    アンロック要素 

    ユーザーAへの出金 

    ユーザーBへの出金 

    ユーザーZへの出金 

    ︙

    ● Withdraw Txはサイズが小さいため低手数料で素早く承認

    ● 各ユーザーへの出金はChild Txで

    ○ 手数料市場が安くなった際にチェーンに取り込まれる

    ○ OP_CTVによりコミットされているため、

    Withdraw Txがチェーンに入れば二重使用リスクはなくなる


    Vault Tx

    In

    Out

    【Vault Script】 

    xxx OP_CTV … 

    入金するコイン 

    Unvault Tx

    In

    Out

    ● x日後に入手可能 

    OR

    ● 【To cold Script】 

    xxx OP_CTV … 

    Vault UTXO 

    ToCold Tx

    In

    Out

    To cold pubkey 

    Unvault UTXO 

    出金方法にルールのある金庫の実現

    ● タイムロック付きのホットウォレット

    ● コールドウォレット


    View Slide