主页 > imtoken dapp > 精通比特币(59):交易池和UTXO池

精通比特币(59):交易池和UTXO池

imtoken dapp 2023-11-06 05:07:26

几乎比特币网络中的每个节点都维护着一个未确认交易的临时列表,称为内存池或交易池。 节点使用这个池来跟踪网络已知但尚未包含在区块链中的交易。

例如,保管用户钱包的节点会使用这个交易池来记录网络已经收到但尚未确认的属于用户钱包的预付款信息。

比特币交易会被追踪吗_比特币交易风险_火币网还能交易比特币吗

当交易被接收和验证时,它们被添加到交易池中并通知相邻节点,从而传播到网络中。

火币网还能交易比特币吗_比特币交易风险_比特币交易会被追踪吗

一些节点实现还维护一个单独的孤立交易池。 如果一笔交易的输入与未知交易有关,比如父交易缺失,则孤儿交易会暂时存放在孤儿交易池中,直到父交易的信息到达。

比特币交易会被追踪吗_火币网还能交易比特币吗_比特币交易风险

添加交易的过程

火币网还能交易比特币吗_比特币交易会被追踪吗_比特币交易风险

当一个交易被添加到交易池中时,会同时检查孤儿交易池,看是否有孤儿交易引用了这个交易的输出(子交易)。 验证任何匹配的孤立交易。 如果有效,它们将从孤立交易池中移除并添加到交易池中,从而完成以其父交易开始的链。 对于新加入交易池的交易,它不再是孤儿交易。 递归地重复上述过程寻找更多的后代,直到找到所有后代。 通过这个过程,父交易的到来将整个链中的孤立交易与它们的父交易重新结合起来,触发了整个独立交易链的级联重构。

火币网还能交易比特币吗_比特币交易会被追踪吗_比特币交易风险

交易池和孤立交易池(如果已实现)都存储在本地内存中,而不是存储在硬盘等持久性存储设备上。 更准确地说比特币交易会被追踪吗,它们是动态填充来自网络的传入消息。 当节点启动时,两个池都是空闲的; 随着网络中不断收到新的交易,两个池逐渐被填满。

一些比特币客户端实现还维护一个 UTXO 数据库,也称为 UTXO 池,它是区块链中所有未支付交易输出的集合。 “UTXO 池”听起来类似于交易池,但它代表不同的数据集。 UTXO 池不同于交易池和孤儿交易池,它在初始化时并不是空的,而是包含数百万个未花费的交易输出条目,其中一些甚至可以追溯到 2009 年。UTXO 池可能被放置在在本地内存中,或作为持久存储中的索引数据库表。

交易池和孤立交易池代表单个节点的局部视角。 根据节点启动或重新启动的时间,不同节点上的两个池的内容可能会有很大差异。 相反比特币交易会被追踪吗,UTXO 池代表了网络的显着共识,因此不同节点之间 UTXO 池的内容相差不大。 此外,交易池和孤儿交易池只包含未确认的交易,而 UTXO 池只包含已确认的交易。