美文网首页区块链研习社
初识比特币交易脚本

初识比特币交易脚本

作者: 钟晓宏 | 来源:发表于2017-07-06 18:18 被阅读0次

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

    相信很多人都知道:因为比特币连续稳定运行了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的比特币地址对应的是锁定脚本。

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

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

    相关文章

      网友评论

        本文标题:初识比特币交易脚本

        本文链接:https://www.haomeiwen.com/subject/mnozcxtx.html