https://blog.csdn.net/weixin_43988498/article/details/107958185 三种比特币的校验方式

贴出P2PKH的校验流程:

这一种是较为常见的一种形式,输出脚本中输出的是公钥的Hash,而输入脚本中要除了签名还要包含公钥

除了这些,其他的DUP、HASH160都是一些验证操作。

脚本执行过程:

同样的为了方便看,将输入与输出拼接到一起,从上往下执行。

前两步操作相同,将输入中的签名和公钥压入栈

第三步操作DUP是将栈顶的公钥复制一份

第四步操作HASH160是将复制的公钥取HASH值,然后压入栈中。

第五步,将输出脚本里面的公钥Hash压入栈,这时栈里面出现了两个公钥的Hash值

第六步,EQUALVERIFY是弹出栈顶的两个Hash值,比较两者是否相等。

最后一步,和之前一样,分别弹出,检查公钥与签名是否配对(正确)。

整个过程如果两个Hash对不上,或者公钥与私钥签名对不上,那么这个交易就是错误的,非法的

实例:

重点:

两个保证:

1. 输入中的公钥和上一个输出的公钥的hash进行校验,使input与output连接起来,保证使用者的身份的统一

2. 输出入中的私钥签名与输出的公钥进行验证,保证使用者使用此笔钱的权利,必须本人签名了这个input才能被使用