最近在学习比特币相关技术,看到 Mastering Bitcoin 第六章 Pay-to-Public-Key-Hash (P2PKH) 的时候,按照书中的步骤准备计算一下这个验证脚本,步骤如下图所示
打开书中所提及的交易细节: Input Scripts:
ScriptSig:
PUSHDATA(72)[3045022100884d142d86652a3f47ba4746ec719bbfbd040a570b1deccbb6498c75c4ae24cb02204b9f039ff08df09cbe9f6addac960298cad530a863ea8f53982c09db8f6e381301]
PUSHDATA(65)[0484ecc0d46f1918b30928fa0e4ed99f16a0fb4fde0735e7ade8416ab9fe423cc5412336376789d172787ec3457eee41c04f4938de5cc17b4a10fa336a8d752adf]
然后追踪到这个交易中输入的交易 在这个交易的细节中我们可以看到 Output Scripts:
DUP HASH160 PUSHDATA(20)[7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8] EQUALVERIFY CHECKSIG
使用一个在线计算器 按照书中所示计算结果为:RIPMED160(SHA256(Pubk)) = "6df13de1f1d824380834e0d42e49e5e451a647cf" 与 Output Scripts 中的 7f9b1a7fb68d60c536c2fd8aeaa53a8f3cc025a8 明显不相等,我想知道我哪里理解错了。
1
acess 2018-04-07 22:23:19 +08:00
我算了一下,没问题啊:
PubKey=0484ecc0d46f1918b30928fa0e4ed99f16a0fb4fde0735e7ade8416ab9fe423cc5412336376789d172787ec3457eee41c04f4938de5cc17b4a10fa336a8d752adf SHA256(PubKey)=98F8648ABB4E1333AFAC93709DEAE013C59C72F745DE8F09041FF5295493B001 RIPEMD160(SHA256(PubKey))=7F9B1A7FB68D60C536C2FD8AEAA53A8F3CC025A8 LZ 中途是不是把 字符串 和 十六进制数据 混淆了? |
2
acess 2018-04-07 22:24:05 +08:00
|