首页 > 比特币 > 正文

可扩展性仍然是比特币的一个关注点——但聪明的头脑继续提出创新的建议来解决瓶颈。

具体的可扩展性问题之一是比特币节点持有的未花费交易输出 (UTXO) 数据集的增长。这是存在的所有(部分)比特币的列表以及如何使用它的详细信息。不幸的是,这个列表往往会随着时间的推移而增长,特别是当新用户进入系统时——他们的代币也会反映在 UTXO 中。

为了解决这个日益严重的问题,麻省理工学院媒体实验室数字货币计划的 Tadge Dryja(也是闪电网络白皮书的合著者)提出了一种基于哈希的累加器,他称之为“Utreexo”解决方案。

比特币的可扩展性

用户的比特币余额是其所有 UTXO 的总和。当您进行交易时,您的钱包应用程序将“翻找”您的 UTXO 集合,以找到足够的资金来支付交易。交易(在区块链上确认后)本质上会“销毁”使用的 UTXO,并“创建”新的 UTXO:现在由交易接收方控制,供他们在下一笔交易中使用。

比特币节点还将整个 UTXO 数据集存储为一种方式,以了解先前付款的哪些输出尚未花费,从而确定哪些 UTXO 仍然可用。每当他们收到来自网络的新交易时,他们会根据 UTXO 列表检查该交易,以确保在交易中花费的硬币确实存在,并且它们尚未花费。如果交易有效,他们会更新他们的 UTXO 数据集。

因此,比特币节点有两个大数据集要存储:区块链和 UTXO 列表。在撰写本文时,区块链已超过 230 GB,并且正在以可预测的速度增长。不喜欢存储这些数据的用户可以“修剪”(删除)旧的区块链数据:由于 UTXO 列表,他们仍然会知道哪些硬币是可以使用的。然而,目前已经有近 6000 万个 UTXO,没有真正的激励措施来阻止列表的增长速度。并且这些数据不能被删除,因为节点需要它来判断哪些新交易是有效的。

随着比特币用户数量的增加和 UTXO 数据集的增长,它正在成为运行全节点不断增长的需求的重要因素。从长远来看,这个问题可能比区块链的增长还要大。

优特瑞克

比特币开发者多年来一直意识到 UTXO 问题,并提出了几种解决方案。最近的研究建议使用加密累加器,这是默克尔树的“表亲”。Merkle 树将数据一起散列成单个散列,累加器将数据乘以固定大小的单个数据总和:“根”。结合其他一些数据——“证明”——一个累加器让用户可以检查特定的数据片段是否“存储”在根中。

Dryja 的 Utreexo 项目背后的想法是为 UTXO 集创建另一种类型的修剪。Utreexo 使用累加器来创建 UTXO 集的根。通过仅存储这个总和而不是完整的 UTXO 集,累加器将 RAM 和磁盘存储保持在少于 1 KB 的数据。使用此 Utreexo 累加器的节点称为“紧凑节点”。

当紧凑节点创建新交易并通过网络传输时,它会随交易一起发送包含证明。从那时起,每个紧凑节点将交易和证明转发给其他紧凑节点。由于每个紧凑节点具有相同的累加器状态和根,因此每个节点的证明都是相同的。紧凑节点所做的就是将完全相同的消息转发给它的对等节点。

一旦交易被包含在一个区块中,他们就会丢弃所有的证明数据。这意味着紧凑节点可以将交易和包含证明保存在它们的内存池中,但实际上永远不会写入硬盘驱动器。

桥接节点

但是当交易不是由紧凑节点创建时会发生什么?

尽管紧凑节点可以轻松地将这些事务相互通信,但并不是每个人都会保留一个紧凑节点。为了让紧凑节点与完整节点通信,Utreexo 还引入了“桥节点”的概念。桥节点存储区块链和整个 UTXO 集。 

该桥接节点是现有网络的重要“引导程序”。紧凑节点不能直接从标准全节点接收交易,因为标准节点不会发送包含证明。当全节点向紧凑节点发送事务时,它首先通过桥节点。桥节点查找 UTXO,从其累加器中构建证明,并将交易和证明转发给紧凑节点。紧凑节点将转发的包含证明检查到其自己的证明累加器,并在匹配时验证交易。 

一个重要的注意事项是桥节点仅在一个方向上需要。紧凑节点能够直接向完整节点发送交易。尽管紧凑节点存储的数据较少,但除了包含证明之外,紧凑节点之间的消息还包含全节点消息所做的所有数据。如果紧凑节点想要向全节点发送交易,他们所要做的就是省略包含证明,标准全节点将接受交易。

图片占位符标题

权衡

Utreexo 确实需要权衡。

如果 Utreexo 被广泛使用,人们会担心节点的潜在中心化。桥接节点实际上比传统的完整节点需要更多的存储空间,因为它们不仅需要存储常规的 UTXO 集,还需要存储它们转发到紧凑节点的包含证明。问题仍然是,是否有足够的“好心人”在没有直接经济激励的情况下运行这些桥接节点。

还应该指出的是,Utreexo 仍在进行中。目前还没有将其包含在比特币核心中的具体计划,但由于这不是共识更改,任何个人或实体都可以继续进行。

猜你喜欢
发表评论

电子邮件地址不会被公开。 必填项已用*标注

评论信息