创建交易

  • 输入(Inputs):指定要花费的比特币来源(如之前收到的UTXO*)。
  • 输出(Outputs):指定接收方的比特币地址和金额(可包含找零地址)。
  • 手续费(Fee):用户自愿支付给矿工的激励费用(通常手续费越高,交易越快确认)。

*UTXO(未花费交易输出):比特币的最小可交易单位,类似“零钱”。

比特币交易流程如何操作


签名验证

  • 私钥签名:发送方用私钥对交易进行数字签名,证明对比特币的所有权。
  • 公钥验证:网络通过公钥验证签名合法性,确保交易未被篡改。


广播交易

  • 交易被发送到比特币网络,由节点(矿工或全节点)接收并验证。


交易验证(矿工节点)

  • 双重支付检查:确保同一UTXO未被重复使用。
  • 格式合规性:检查交易结构是否符合协议规则。
  • 脚本验证:执行比特币脚本(如P2PKH、P2SH等)确认交易有效性。


打包进区块

  • 矿工将验证通过的交易放入内存池(Mempool),并竞争将交易打包到新区块中。
  • 通过工作量证明(PoW)解决数学难题,获得记账权。


区块确认

  • 首个确认:交易被包含在一个区块中(约10分钟)。
  • 后续确认:后续区块不断叠加,通常6个确认(约1小时)后视为最终确认。


更新账本

  • 全网节点同步新区块,更新UTXO集,标记已使用的UTXO,记录新生成的UTXO。


关键特点

  • 去中心化:无银行等中介,依赖全网节点共识。
  • 透明性:所有交易公开可查(通过区块链浏览器)。
  • 不可逆性:确认后无法撤销(除非51%攻击,但极难实现)。


示例流程

  1. Alice向Bob转1 BTC:

    Alice用私钥签名交易,输入为之前收到的1.2 BTC UTXO,输出为Bob的地址(1 BTC)和找零地址(0.19 BTC,手续费0.01 BTC)。

  2. 交易广播后,矿工验证并打包到区块#800000。
  3. 区块#800001~800006依次确认后,交易完成。


注意事项

  • 手续费:影响交易速度,动态调整(如使用RBF*替换低手续费交易)。
  • 交易延迟:网络拥堵时可能需要更长时间。
  • 隐私性:地址不直接关联身份,但链上分析可能追踪行为。

*RBF(Replace-by-Fee):允许替换未确认交易并提高手续费。

通过这一流程,比特币实现了无需信任的点对点价值转移。