介绍了以太坊未来的数据存储技术,Verkle Tree,并与现有的 Merkle Tree 进行了对比。
- 原文链接:mirror.xyz/0x3Cc99bfc69...
- 译者:AI翻译官,校对:翻译小组
- 本文链接:learnblockchain.cn/article…
让我们从基础开始。每个人都知道区块链几乎可以永久存储数据。因此,问题出现了:验证者需要多少存储空间才能验证整个区块链?答案是:很多!
数据是如何存储在区块链上的?
由于以太坊区块链上每天发生数百万笔交易,以及基于以太坊的 L2 区块链,我们必须面对现实:区块链所承载的数据量很快会大到任何人都无法简单地运行节点。我们需要一个解决方案,那就是 Verkle Trees。在理解它之前,我想简要解释一下当前的技术,称为默克尔树。
默克尔树并不是一项革命性技术;它早已存在。然而,在区块链中,它首次出现在比特币时代。其主要思想是,当验证者需要证明某个在 block.number N 中的内容时,验证者必须首先找到这个块,因此,他会取上面的哈希(在圆圈中),这个哈希基本上存储着我们要查找的块的根以及许多其他块的根。验证者取这个哈希,实际上是开始“打开”所有其他哈希(称为节点),直到找到底部存储的必要信息(称为叶子 🍁)。你可以把它想象成一个俄罗斯套娃。
默克尔树的主要挑战在于在“证明某种内容”的过程中,几乎所有哈希都需要被打开,即使它们不包含所需的信息。因此,随着以太坊区块链的扩展,运行节点和验证数据完整性变得愈发困难,因为存储的信息越来越多。没有合适的技术进步,我们可能会面临无法运行节点和验证数据的问题,这可能导致“区块链停机”或更糟糕的“中心化”。因此,有必要创建一些更有效的东西,以实现更顺畅、更有效的数据验证,而无需在整个过程中打开所有内容。这就是开发者目前在研发的新技术,称为 Verkle Tree。
“默克尔树的问题在于,如果你想找到特定交易的哈希并证明它,你不得不‘打开’整个过程,这需要巨大的数据量。”
Verkle tree 更有效,因为它减少了验证过程中的距离,并且消除了“打开”整个过程的需要。
Verkle Tree 结构
现在让我们理解一下这里发生了什么。我尽量简化解释,以便完全初学者能够理解这一技术的基本原理。
第一部分称为“茎(stem)树”。当你提供某个关键值以进行验证时,它将沿着茎树一直向下走,并在某个时刻,会遇到“扩展节点”,它基本上检查你应该向哪个方向进一步前进。
第二部分称为“扩展”。在这里,你需要理解数据哈希的方式与当前标准不同;这样做是为了允许 ZK 集成。主要点是数据以 32 字节的形式进行哈希,其中 31 字节是实际的键(你的请求),称为“Stem”,最后 1 字节是“Suffix”。后缀起着至关重要的作用,因为它基本上指明了我们应该往哪个方向继续。
如你所见,过程从第一部分 - 茎树开始。它一直向下到达 扩展部分
。
在这个 扩展部分
,Verkle Tree 机制查看后缀,并试图理解这个后缀指向哪个组。根据这一点,必要的组在 后缀树
中被选择,过程继续。基本上,这一步消除了下载和证明所有其他叶节点的需要,这显著减少了证明的大小和距离。
我们可以看到,这项前景广阔的技术如何能够革新以太坊,使其更易于访问和更先进。然而,目前面临诸多挑战,因此我认为它需要更多时间才能融入我们日常生活。我还想指出,尽管这是一个非常广泛的主题,我没有机会覆盖每一个细节,但我仍然希望我能给你提供对这项技术应如何工作的概述。我强烈鼓励你查看我在此报告中使用的以下资源。
Verkle tree structure | Ethereum Foundation Blog
A high level description of Verkle trees and how they will be used to upgrade Ethereum
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!