锁定脚本:这笔钱发送给A(包含A的共钥);
解锁脚本:我是A,这笔钱是我的;
锁定脚本:我要验证你的身份;
解锁脚本:这个是我用我的私钥签名的上一笔交易信息的签名;
矿工:
1、使用解锁脚本关联的公钥的地址的hash信息与锁定脚本的地址hash比较;
2、如果一致;
3、获取共钥,使用公钥+上一笔交易信息+解锁脚本的私钥签名结果进行验签;
4、验签通过,说明这笔钱是A的,可以使用这笔钱。
总结:
1、锁定脚本包含验签过程;
2、解锁脚本包含签名过程;
3、矿工负责整合资源完成验签。
4、签名的原信息为上一笔交易的交易信息。
难点:
1、签名与验签倒置;
2、锁定脚本中只包含验签函数。只是打包到交易数据中,等到下一次交易时,由矿工使用。
https://blog.csdn.net/wen294299195/article/details/80220651
下图,是一笔交易的完整过程。这里面交易有两种类型,一种是Coinbase交易,也就是挖矿奖励的比特币,由于没有发送人,所以比较特殊。另一种就是我们常见的普通交易了,包含输入和输出的。
https://bbs.huaweicloud.com/blogs/d4c97558190611e89fc57ca23e93a89f
解锁脚本:<Sig> <PubKey>
解锁脚本是由签名与公钥组成,这就保证了必须拥有私钥的用户才能对某一笔交易进行解锁。
锁定脚本:OP_DUP OP_HASH160 <PubkeyHash> OP_EQUALVERIFY OP_CHECKSIG
锁定脚本是由一连串堆栈命令和公钥哈希组成,公钥哈希即RIPEMD160(SHA256(公钥)),大小20字节;由第二节的知识可知比特币地址实际是由该公钥Hash进行Base58check编码而来,所以必须拥有该地址的私钥才能将锁定脚本解锁。
http://www.cryptocapitalism.center/bitcoin-crash-course/
Bitcoin’s two most basic scripts: ‘ScriptPubKey’ locks bitcoin into the recipient’s wallet, and ‘ScriptSig’ unlocks the funds by checking the digital signature