Spotlightゼロ知識証明によるビットコインの条件付き支払いYuya2023-07-10T08:45:12Zゼロ知識証明は昨今のブロックチェーンのバズワードとなっており、興味を持つ方も多いと思います。イーサリアムではZK-SNARKなどゼロ知識証明を使ったアプリケーションの開発が進んでいます。EIP197)が、ビットコインにはこのようなOPコードは存在しないので、ソフトフォークによる導入が必要になってきます。ビットコインでもゼロ知識証明をブロックチェーン外で行うことで、任意のプログラムを実行させて、その結果に対して支払をすることができます。ZKCP)で、これはGMaxwellによって2011年に提案され2016年に実際にビットコイン上で証明されました。なんと10年以上前からビットコイン上でのゼロ知識証明の活用が提案されていたのです。このZKCPの引用元は以下になります。https://en.bitcoin.it/wiki/Zero_Knowledge_Contingent_Payment以下の図は数読パズルの正解をBuyerがSellerから購入するというシナリオになっています。本例ではトラストセットアップのZKSNARKを使っていますが、Buyerがゼロ知識証明の検証をするため、自身でそのセットアップをすることに問題はありません。Buyerは数読パズルの正解が正しいかを判定する数読チェッカーを作成し、トラストセットアップをします。Sellerは数読パズルの正解Xを見つけ、ランダムな値Kを選び、KでXを暗号化してExを得ます。H())をプルーフへ変換してBuyerへ送付します。Buyerはプルーフを検証して問題なければ、下図のP2SHアドレスへ支払いをします。このアドレスは、Sellerが数読パズルの正解Xを公開することでSellerは支払いを回収できると同時にBuyerは正解Xを復号するためのKを得ることができる、ようなアトミックスワップに使われるスクリプトと同類のものです。SellerはKを公開することで支払を回収し、BuyerはKからXを復号し数読パズルの正解を得ることができます。以上、ゼロ知識証明によるビットコインの条件付き支払いについてでした。article?DeleteCancelErrorClose。