Raptor

Raptor

@1203

Bitcoin Dolphin

(;;)

No posts yet

SIGHASHタイプとそのユースケース

昨年末Taprootのアクティベイトが完了し、ほっと一息ついたのも束の間、界隈では次期ソフトフォークへ含めるBIPについて盛んにディスカッションがされています。BIP118やBIP119が比較的アクティブに討論されているといった感じでしょうか(提唱者が頑張っている感じ)。BIP118はライトニングネットワークのプロトコルを簡素化できるEltooでも必要な改善案で、SIGHASH_ANYPREVOUTと呼ばれる新しいSIGHASHタイプを規定したものです。 SIGHASHは署名をするデータ領域を指定するためのものですが、今までこのSIGHASHについて深く考えることがなかったのでそのユースケースについて調べてみました。以下のサイトでは各SIGHASHタイプとその応用やユースケースについて解説されていてわかりやすかったです。 Bitcoin's Signature Types - SIGHASH | Raghav Sood | It's a blog オンチェーン上でのアセット販売 例えば、SIGHASH_SINGLE | SIGHASH_ANYONECANPAYを使うことで、オンチェーン上でのアセット販売をトラストレスにすることができます。例えば、アリスはあるNFTを持っていて、それを1BTCで販売することを考えます。アリスはインプットに自身が保有するNFTを、アウトプットに自身のアドレスへ1BTCを、というTxを作り、SIGHASHタイプにSINGLE | ANYONECANPAYを指定して署名をします。現時点では1BTCに相当するインプットがないので不正なTxです。このTxをWebサイト等へ掲載します。NFTを1BTCで購入したいボブがWebサイトでこのTxを見つけました。ボブは、このTxに対して自身が保有する1BTCをインプットに、NFTを受け取るアドレスをアウトプットに追加して署名をし、このTxをブロードキャストすることで、アセットの販売が完了します。 クラウドファンディング この他にクラウドファンディングにもSIGHASHタイプを活用することができます。基本的な仕組みは上記のアセット販売と同じで、クラファンを募る募集者は目標金額を

Archives