初识比特币交易脚本

大家有没有想过:区块链最近为什么这么火?

相信很多人都知道:因为比特币连续稳定运行了8年,让人们看到了比特币背后的技术,也就是区块链技术的威力。

但是可能很多人不知道,比特币底层的区块链不仅可以用来交易转账,还可以有很多其它应用,比如用于征信和票据交易等,这一切都要归功于交易脚本。

说到交易脚本,不得不提比特币的交易:

一笔比特币的交易包含一个或多个输入和输出。

比特币交易的基本单位是未经花费的交易输出,简称UTXO。

被交易消耗的UTXO被称为交易输入,由交易创建的UTXO被称为交易输出。

一笔比特币交易通过使用所有者的签名来解锁UTXO,并通过使用新的所有者的比特币地址来锁定并创建UTXO。

解锁UTXO用的是包含所有者签名的解锁脚本;锁定UTXO包含新的所有者的比特币地址的锁定脚本。

比特币节点验证一笔交易时,就是通过检查解锁脚本的签名信息,与创建该UTXO时锁定的比特币地址是否匹配。

在这里,签名是从私钥产生的,私钥可以产生公钥,而比特币地址由公钥产生,所以签名可以匹配比特币地址。

下面用一个简化且不太准确的类比,介绍整个交易的过程:

Alice在Bob的咖啡店买咖啡

1、Alice把自己的签名和Bob的比特币地址发给一些叫做节点的“人”。

2、节点们会试着用Alice的签名解锁网络中一个叫做UTXO的盒子(这个盒子里面的比特币是上次Alice花钱从Joe买来,joe用Alice的锁头锁上,并且放在网络中的)。

3、如果解锁成功,则证明Alice拥有这盒子里面的比特币,节点们把这些比特币取出来,然后用Bob的锁头把比特币锁在一个新的UTXO盒子。


在上面的交易场景中,Alice的私钥对应的是解锁脚本,Bob的比特币地址对应的是锁定脚本。

好了,今天先介绍到这里,接下来我会结合理论和代码,向大家讲述比特币交易脚本那些事儿。


区块链研习社比特币代码研读班 钟晓宏

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容