Bitcoin基础
如果我向Bob转账 1BTC,这个过程是如何被比特币网络验证和确认的?
1. 交易创建
首先,你需要使用比特币钱包软件来创建一笔交易。这个交易将包括几个关键元素:
输入(Inputs):这些是你之前收到的比特币,现在你想要花费的比特币。每个输入引用了你钱包中未花费交易输出(UTXO)的一个。
输出(Outputs):这些指定了比特币将要发送到的目的地。在这个例子中,将有一个输出,即Bob的比特币地址,以及转账的金额 - 1BTC。
金额:转账的比特币数量。
手续费:为了使交易被矿工优先处理,通常需要付一定的手续费。这笔费用是由交易的输入金额与输出金额之差得出的。
2. 签名交易
创建交易后,你需要用你的私钥对交易进行数字签名。这个签名过程是确保只有比特币的所有者才能花费他们的比特币的关键步骤。签名同时也保护了交易不被篡改,因为任何对交易数据的修改都会使签名无效。
3. 广播交易
签名完成后,交易将通过你的比特币钱包被广播到比特币网络。这意味着交易将被发送到连接到网络的比特币节点。
4. 验证交易
比特币网络中的节点接收到交易后,将执行一系列验证,确保交易是有效的:
验证签名:检查交易签名是否有效,以确认交易是由UTXO的真正所有者发起的。
检查双花:确保交易中引用的UTXO没有在网络中的其他有效交易中被花费。
验证交易结构:检查交易是否符合比特币协议的规定,比如格式和大小。
5. 交易挖掘
一旦交易通过节点的验证,它就会被包括在候选区块中,等待矿工将其挖掘并加入到比特币的区块链上。矿工通过解决一个复杂的数学问题(工作量证明)来竞争创建新区块。成功的矿工将获得新比特币的奖励以及交易中的手续费。
6. 确认交易
当一个区块被矿工成功挖掘并被网络接受后(其他节点验证并同意将其添加到区块链上),该区块内的所有交易都被认为是已确认的。通常,为了确保交易的不可逆性,建议等待至少6个确认(即后续还有5个区块被添加到包含你交易的那个区块之后)。
Last updated