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

Vault

 Vault

GBECの解説動画の資料です:
https://goblockchain.network/2021/10/vault/

shigeyuki azuchi

October 04, 2021
Tweet

More Decks by shigeyuki azuchi

Other Decks in Technology

Transcript

  1. 1 Vaultとは?
 攻撃者に秘密鍵を盗まれても資金を安全に保つ金庫のようなものを実現する仕組み
 
 
 
 
 
 
 


    
 • Covenantsを利用する方法(コンセンサスアップグレードが必要) 
 ◦ Bitcoin Covenants(http://fc16.ifca.ai/bitcoin/papers/MES16.pdf , 2016)
 ◦ OP_CHECKSIGFROMSTACKとOP_CATの組み合わせ(Elements) 
 • Bitcoinのコンセンサスルールを変更せずに導入する方法(2019)     
 
 Tx
 Re-VaultTx
 金庫から資金を取り出す場合、
 タイムロックが付与されており、
 それが経過するまでは完全に自由に使 うことはできない。
 ↑のタイムロックされている間に
 リカバリ用の鍵で再度金庫に入れる
 トランザクションを投げられる。
 今回

  2. Re-Vaultキーの秘密鍵は 
 Re-Vaulting Txに署名後に削除 
 2 Bryan Bishopの提案
 既存のBitcoinのコンセンサスルールを変更することなく、Vaultを実現する提案 


    https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2019-August/017229.html 
 
 Vault Tx
 In
 Vaultに入れるUTXO 
 Delay-spend Tx
 In
 Out
 • 30日 CSV & ホットウォレットキー 
 • 10日 CSV & Re-Vaultキー 
 • 1日 CSV & k-of-n マルチシグ 
 • etc
 Vault TxのUTXO
 Out
 Re-Vaulting Tx
 In
 Delay-spend TxのUTXO 
 Out
 次のVaultキー 
 • Vaultキー
 ホットウォレットキーを盗めても、 
 使用可能になるまで30日間待つ必要があり、 
 その間、Re-Vaulting Txにより資金はVaultに戻る。 
 【Point】
 事前に上記のトランザクションツリーを構成し、 
 Re-Vault用の秘密鍵を削除することで、Covenantsと同様の効果を得る 
 Delay-spend Txに署名後、Vaultキーは削除 

  3. 3 まとめ
 • Vaultはコインを安全に保管するためのコントラクト 
 • Vaultにロックされたコインを使用するには 
 ◦ 遅延時間待って、ホットウォレットの鍵で使用可能になる。

    
 ◦ Vaultキーを使ってすぐにVaultへ戻す 
 • コインの送金先を制限する必要があったため、Covenantsとセットで提案された。 
 • 事前署名トランザクションと秘密鍵の削除により、 
 Covenantsの機能をエミュレートでき、それにより既存のコンセンサスでVaultを実現