2017年10月11日水曜日

[Bitcoin]Pay-to-Public-Key-Hash (P2PKH)を検証してみる

前のトランザクションのOutputをInputに使うわけですが、秘密鍵をもっている人だけがそのOutputを使うことができます。


↑こちらの本を読んでいるとコーヒーショップの支払いの例として
Outputにはlocking scriptに
OP_DUP OP_HASH160 <Cafe Public Key Hash> OP_EQUAL OP_CHECKING
と書いてあって

Inputにはunlocking scriptに
<Cafe Signature> <Cafe Public Key>
と書いてあってこれらを組み合わせて

<Cafe Signature> <Cafe Public Key> OP_DUP OP_HASH160 <Cafe Public Key Hash> OP_EQUAL OP_CHECKING
この検証scriptがTRUEになったら有効な秘密鍵をもっていることになるらしいです。

なんのことやらさっぱり? なので、具体的なデータをみてみます。

トランザクションID=07e8989e7bc46f87485b975f153a3887e76c3e63f0a0d88af70186bbf1ce8306

のInputの0番目が解錠条件を満たしているのかbitcoin-rubyは使わずにRubyの標準添付ライブラリ は使ってよいというしばりで検証してみます。
このトランザクションIDは本物のbitcoinで使われているトランザクションです。

BLOCKCHAIN
chainFlyer

このトランザクションIDは適当に選びました。

前提

bitcoindインストールして動かしておく必要があります。


OP_CHECKSIGをまだ理解できず、bitcoin-ruby 様の力をお借りしました。
理解して書き直したいとおもっています。



0 件のコメント:

コメントを投稿