分享百科

比特币交易

比特币交易

比特币交易是通过比特币网络进行的数字货币转移。

比特币交易步骤

  1. 创建交易:用户使用比特币钱包创建交易,指定输入、输出和交易费用。交易通过私钥签名,确保其真实性。

  2. 广播交易:创建的交易通过比特币网络广播给其他节点。

  3. 验证交易:比特币节点验证交易是否合法,包括检查签名和确保输入未被双花。

  4. 包含在区块中:矿工将验证后的交易包含在一个新的区块中,并通过工作量证明(PoW)算法解决区块的数学难题。

  5. 区块确认:当一个区块被成功挖出并添加到区块链上,交易即被确认。通常,交易需要多个区块确认(如 6 次确认)才被认为安全。

交易流程

比特币交易结构

比特币交易由以下几个部分组成:

  • 包含一个或多个输入(inputs):交易来源,即比特币从哪里来。输入引用了以前交易id 、输出索引及解锁脚本(或称脚本签名)。
  • 包含一个或多个输出(outputs):定了比特币要发送到哪里。每个输出包含一个接收地址和发送的比特币数量。
  • 所有输出的累加会略小于所有输入的累加,两者的差值隐含了手续费, 以激励矿工将其交易包含在区块中

比特币交易输入

交易输入通过引用将UTXO标记为“将被消费”,并通过解锁脚本(又称脚本签名)提供所有权证明。构建一个交易时,一个钱包从它控制的UTXO中选择足够的面值来支付请求的付款。有时一个UTXO就足够,有时需要不止一个。对于用于付款的每个UTXO,钱包将创建一个指向该UTXO的输入(将该UTXO设置为输入),使用解锁脚本来解锁。

一个交易输入包含四个部分

  • 一个交易ID(交易散列),引用包含将要消费的UTXO的交易
  • 一个输出索引(vout),用于标识来自该交易的哪个UTXO被引用(第一个是0)
  • 一个scriptSig(脚本签名),满足UTXO的消费条件,解锁用于支出
  • 一个序列号,目前未被使用的的交易替换功能,设为0xFFFFFFFF(4294967295)

比特币交易输出

比特币交易的基本组成部分是交易输出。交易输出是比特币不可分割的基本组合,记录在区块链上,并被整个网络认可有效。比特币全节点跟踪所有可找到的和可使用的输出,也就是上面提到的“未花费的交易输出”。每个交易都会创造输出,生成一定数量的UTXO。

一个交易输出包含两部分

  • 一定量的比特币,面值为“”(satoshis),是最小的比特币单位(1比特币=1亿聪)
  • 确定花费输出所需条件的加密难题。这个加密难题也被称为锁定脚本(locking script)、见证脚本(witness script)或脚本公钥(scriptPubKey),并且这个难题只能收款方才能解开

关于脚本的知识,点击此处获取。

交易输入输出

比特币交易可以通过区块浏览器(如 Blockchain.info 或 Blockchair)进行查看。这些工具可以显示特定交易的详细信息,包括输入、输出、交易费和确认状态。

✍️更新/纠错
登链社区