目录:https://blog.youkuaiyun.com/qq_40452317/article/details/89646633
来看看多重签名(https://blog.youkuaiyun.com/qq_40452317/article/details/90412143)一个例子,比特币的正确的验证脚本如下:
0 <Signature B> <Signature C> 2 <Public Key A> <Public Key B> <Public Key C> 3 CHECKMULTISIG
对比多重签名中的验证脚本会发现,这个正确的验证脚本前面多了个0,这个0是什么回事?
这是因为在CHECKMULTISIG的执行中有一个bug,来看看这个bug是怎么产生的。
<Signature B> <Signature C> 2 <Public Key A> <Public Key B> <Public Key C> 3 CHECKMULTISIG
首先根据“错误”的脚本,CHECKMULTISIG弹出最上面的项目,这是N(在这个例子中N是“3”)。
然后它弹出N个项目,这是可以签名的公钥。