2017年4月4日火曜日

"Programming The Blockchain in C# 日本語"のP2WPKH (Pay to Witness Public Key Hash)でコードを動かしてみた

前々回と同様にこちらでの学習内容を記す。

前準備

前回のSegwit調査内容が活かされるので各自で確認をしておく。
Segwitが何たるかはこちらリンクを参考にしてほしい。

scriptPubKeyからP2PKHとP2WKHの違いを確認する

            var key = new Key();
            Console.WriteLine("P2PKH : " + key.PubKey.ScriptPubKey);
            Console.WriteLine("P2WKH : " + key.PubKey.WitHash.ScriptPubKey);

出力は以下となった。

まとめ

  • このP2WKHで得られた結果がinputもしくはoutpointのscriptSigではなくwitnessに入っているらしい。
    • つまりこれが署名データということ。
  • ちなみに出力の0はwitnessのバージョンを表すらしい。
  • P2WKHはP2PKHと同じ文法で署名チェックをするようだ。
  • 署名は悪意のあるユーザーもしくは間違いによって修正されうるscriptSigには含まれなくな流のでmalleability対策となるようだ。


追記

  • 2017年4月4日 0:14 出力結果の表示不具合を修正

0 件のコメント:

コメントを投稿