主页 > 安卓版imtoken钱包打 > 区块链学习(4)交易(二)详解

区块链学习(4)交易(二)详解

安卓版imtoken钱包打 2023-12-13 05:07:53

上次我谈到了比特币的交易模式。让我们谈谈比特币交易。比特币的交易验证引擎依赖于两种类型的脚本来验证比特币交易:锁定脚本和解锁脚本。

lock 脚本锁定一个输出值,它指定了输出将在未来使用的条件。锁定脚本通常包含一个公钥(即比特币地址)。解锁脚本是解锁在输出上设置的支出条件的脚本,它将允许消耗输出。解锁脚本是每笔比特币交易输入的一部分,包含由用户私钥生成的数字签名。

比特币原理图详解交易

通过执行锁定脚本和解锁脚本来验证每个事务。交易输入指向的 UTXO。这个 UTXO 有一个锁定脚本。如果输入的解锁脚本可以解锁UTXO中的锁定脚本,则可以使用此UTXO。下图是一个组合脚本,将解锁脚本和脚本验证前的锁定脚本串联起来。

比特币原理图详解交易

比特币原理图详解交易

比特币脚本语言被称为基于堆栈的语言,图灵不完备,即没有循环或复杂的流控制功能。比特币的脚本语言由一堆命令和参数组成。上图中的DUP、HASH160、EQUALVERIFY、CHECKSIG是命令。

比特币原理图详解交易

是参数。脚本的执行有点像表达式的执行。比如2 5 +这个后缀表达式,2和5是参数,+是命令比特币原理图详解交易,2先入栈,5再入栈,遇到+时执行命令得到2 +5 得到 7。比特币的脚本执行是类似的。我们来看看最常用的P2PKH,以上图中的解锁脚本和加锁脚本为例。

比特币原理图详解交易

脚本的存在增加了交易验证编程货币的多样性比特币原理图详解交易,但 Standard() 函数定义了五种标准交易。这五个标准交易脚本是唯一被客户端和大多数运行客户端的矿工接受的。 P2PKH、P2PK、MS、P2SH 和 OP_Return。这里只介绍P2PKH。