This article has been translated from English to Traditional Chinese.
比特币回答了“保留哪笔交易”的问题。
比特币回答这个问题的方式非常巧妙。
具体如下
比特币网络上的每个节点都会共享新交易的信息。
在比特币网络上进行的交易不会直接添加到区块链中。它们首先被收集并存储在所谓的“内存池”中。
运行比特币程序的每台计算机都会为交易创建一个临时存储区,称为“内存池”。简称“内存池”。
每个比特币节点都有自己的内存池,用于存储其检查并认为有效的交易队列。
从广义上讲,内存池是一个有序的队列,交易在添加到新创建的区块之前,会先在此存储和排序。
- 内存池保存“新鲜”或未经确认的交易(以单个交易的形式存储)。
- 区块链保存的是“已归档”或已确认的交易(打包为“区块”)。
所有比特币交易都是“未确认”交易,在“确认”并添加到区块链之前,它们只存在于内存池中。
在比特币网络中,所有完整节点都有一个内存池。
假设你在网络的这一侧发起一笔交易(紫色交易)。
然后走到这边,使用相同的比特币,将红色交易插入这台电脑。
如果你注意到,这两笔交易并没有直接写入文件。这两笔交易只是先存储在每台计算机的内存池中。
因此,这两笔交易将在网络中传播。
这台电脑将拒绝红色交易,因为它们已经收到了紫色交易。
所以现在两个事务都在网络上。
但它们尚未写入文件,因此文件仍未更新。
接下来会发生什么?所有这些计算机将开始工作,并尝试将内存中的事务写入文件。
假设这台电脑(黄色)是第一个能够做到这一点的。
它将内存池中的事务添加到文件中:
完成后……
它将把文件的更新副本传递给与其连接的其他人……
然后他们更新自己的副本。
在下面的图中,这个节点接收了包含紫色交易的更新文件,该交易花费了相同的比特币。
内存池中冲突的红色交易会怎样?
由于紫色交易已经使用了相同的比特币,它将把红色交易从内存池中踢出!
然后,该节点将传递更新的文件。
其他节点也会做同样的事情……它会从内存池中剔除任何冲突的交易。
现在所有的计算机都拥有更新的文件。
这就是解决网络中两个冲突事务的方法。
你实际上只是为待处理事务提供了一个“等待区”(内存池),各个节点相互竞争,试图将自己的事务添加到文件中。
在这个例子中,紫色的人会收到比特币……
但是,当您试图用同一笔比特币与红衣男子交易时,就会失败。
节点竞争将交易从内存池中写入文件(“区块链”)的过程称为挖矿。










