将交易添加到区块链中
Alice 的钱包应用程序创建的交易包含确认资金所有权和指定新所有者所需的一切。现在,这个交易必须被传输到比特币网络中,其中它将成为区块链的一部分。在接下来的部分中,我们将看到一个交易如何成为一个新区块的一部分,以及如何进行挖矿。最后,我们将看到,一旦新区块被添加到区块链上,随着更多的区块被添加,网络对其的信任程度也在增加。
传输交易
由于交易包含了处理所需的所有信息,因此它被传输到比特币网络的方式或位置并不重要。比特币网络是一个点对点网络,每个比特币节点通过连接到其他几个比特币节点来参与其中。比特币网络的目的是向所有参与者传播交易和区块。
交易是如何传播的
比特币点对点网络中的节点是具有完全验证新交易正确性所需的软件逻辑和数据的程序。节点之间的连接通常被可视化为图中的边(线),而节点本身则是节点(点)。因此,比特币节点通常被称为“全验证节点”,或简称为全节点。
Alice的钱包应用可以通过任何类型的连接发送新交易到任何比特币节点:有线、WiFi、移动等。它还可以将交易发送到其他程序(如区块浏览器),该程序将其中继到节点。她的比特币钱包不必直接连接到Bob的比特币钱包,并且她也不必使用Bob提供的互联网连接,尽管这两种选择也是可能的。任何收到未见过的有效交易的比特币节点都会将其转发到其连接的所有其他节点,这种传播技术称为gossiping协议。因此,交易迅速传播到点对点网络中的大多数节点,在几秒钟内就能到达。
Bob的视角
如果Bob的比特币钱包应用直接连接到Alice的钱包应用,那么Bob的钱包应用可能是第一个接收到交易的。然而,即使Alice的钱包将交易通过其他节点发送,它也将在几秒钟内到达Bob的钱包。Bob的钱包将立即识别Alice的交易为一笔进账款,因为它包含了一个可由Bob的密钥兑现的输出。Bob的钱包应用程序还可以独立验证交易是否格式良好。如果Bob正在使用自己的完整节点,他的钱包可以进一步验证Alice的交易只花费了有效的UTXO。
Last updated