主页 > imtoken官方版 > 一篇文章看懂以太坊2.0的所有设计和实现路线图

一篇文章看懂以太坊2.0的所有设计和实现路线图

imtoken官方版 2023-10-04 05:09:58

大胆的声明是在以太坊 2.0 Phase 0 推出三个测试网时发布的,下一阶段将是一个跨客户端测试网,预计将于今年夏天开始。

阶段 0 只是质押,一个位于测试网和功能齐全的区块链之间的虚拟主网。

明年的第一阶段将添加一些功能,如存储分片。 第二阶段是实际全面启动,预计将在两年内进行。

完整的设计是一个有点复杂的系统,我们认为它通过运行感兴趣的分片节点的个人连接不同的节点组。

分片基本上构成了当前的以太坊网络,但假设有 1000 个节点,那么我们有网络 B 或分片 B,它有自己的 1000 个节点,都运行在相同的基本代码上,因此属于同一个区块链。 有数百个碎片。

由于这两个系统根本不同,将它们结合在一起是一个超越分片的突破,连接私有和公共区块链、侧链和其他一切。

以太坊收据树_sitehqz.com 以太坊和以太坊贸易的关系_sitebitcoin86.com 以太坊以太经典

以太坊 2.0 设计

Buterin可以从技术层面解释它的工作方式,然后我们将给出更简单的解释。 Buterin 是这样说的:

》跨分片交易的一般流程(我们以转5ETH为例)如下:

销毁分片 A 上的 5eth,创建一个收据(比如提交给区块状态根的 Merkle 分支)以太坊收据树,其中包含:(1)目标分片,(2)目标地址,(3)值(5eth),(4 ) 唯一身份。

在这个过程中,一旦分片 B 检测到分片 A 的状态根,它就会向分片 B 提交一个 Merkle 分支证明收据。如果 Merkle 分支验证收据没有被花费,则生成 5 ETH 并转移给接收者。

为了防止双重支出,我们需要跟踪哪些收据已经在存储中被认领。 为了提高效率,需要为收据分配顺序 ID。 具体来说,在每个目标分片中,我们存储每个目标分片的下一个序列号,当源分片A和目标分片B创建一个新的收据时,它的序列号是分片B的下一个序列号(下一个序列号递增所以它赢了'被重用)。 这意味着在每个目标分片中,我们只需要跟踪每个源分片的 SHARD_COUNT 位字段即可防止双花,这意味着每个跨分片交易只需要一个存储位。 “

sitehqz.com 以太坊和以太坊贸易的关系_以太坊收据树_sitebitcoin86.com 以太坊以太经典

换句话说,基本上你在分片 A 上的智能合约中锁定你的 Eth,在分片 B 上证明你这样做,然后在分片 B 上获得你的 Eth。

为了防止双重支出,开发人员基本上使用了听起来像 nounce 的东西,即给它一个数字,然后无限递增该数字。

这是在协议级别,所以你知道没有人在作弊,因为你同时运行分片 A 和分片 B 节点。 节点验证规则,查看区块头(Block header)或 Buterin 所说的收据,如果有任何错误,节点会告诉你。

这里我们使用大部分节点,但对于您来说,两个节点可能在一个客户端上运行,尽管这是第 2 阶段非常早的实现细节。

正如您所想象的,这里很难让分片 A 上的智能合约与另一个分片 B 上的智能合约“交互”,例如,Cryptokitties DNA。

我们不知道如何将 DNA 转移到分片 A 并让 Cryptokitties 在分片 B 上生成时在分片 A 上运行。

sitehqz.com 以太坊和以太坊贸易的关系_以太坊收据树_sitebitcoin86.com 以太坊以太经典

一种方法是通过中央协调器,但这有其自身的问题。 上面说了,Eth 移动的时候,是点对点的。

突破还是极限提升?

尽管有人说编码是最难的部分,但实现这个阶段可能是最难的部分。

另外,如果你同时运行不同分片的节点,那么这相当于增加了块大小。

这里的不同之处在于,您不必同时运行不同的分片,或者您可以为一个分片提供完整节点,为另一个分片提供轻型节点。

然而,在这一点上,你可能会与比特币人无休止地争论,他们可能会说全节点是运行所有分片的节点,很少有人能负担得起。

以太坊收据树_sitebitcoin86.com 以太坊以太经典_sitehqz.com 以太坊和以太坊贸易的关系

这就是以太坊 1.0 出现的地方,它本身是一个复杂的设计,其前提是通过删除过时的智能合约和彻底修剪来擦除数据。

第一个可能比第二个更容易,比特币人对以太坊智能合约了解不多,所以我们不知道他们会说什么。

对于修剪以太坊收据树,您可能需要设置检查点,这有点像新的创世块。 对于以太坊,您的节点不必自 2015 年起启动,它可以从 2017 年起启动。其他数据随后被丢弃,可能作为存档上传到某处。

这里的困难部分是谁设置检查点。 如果是一个人或者一群人,可能会有很多问题,但是有了staking,就可以做到去中心化。

扩展竞赛

一位比特币开发者曾评论说,以太坊正在追求所有在比特币核心中被拒绝的想法。

以太坊收据树_sitebitcoin86.com 以太坊以太经典_sitehqz.com 以太坊和以太坊贸易的关系

这是好事还是坏事取决于你如何看待它,以及它是如何实际实施的,因为比特币核心并没有完全遵循这些哲学来得出正确的结论。

此外,当前状态下的比特币无法继续运行足够长的时间,因为虽然每 10 分钟 1MB 并不多,但如果我们将其取出,十年后加起来就会很多。

这是一个非常缓慢的过程,在某些方面现在一切都很好。 例如,当前区块链大小为 220 GB。 十年后,它将增加到520GB。 考虑到比特币的运行速度略高于 1MB,届时其区块链大小应该为 1TB。 1TB 可能也不错,但它不会减少,只会增加。 所以最终它变成了 10TB,或者 100TB。

显然,你可能会争辩说我们最终都会死去,但如果你解决了这个问题,你就解决了可伸缩性问题。

闪电网络可能会争取一些时间,而以太坊有 Plasma、状态通道等等,但它们并没有完全解决增长历史的根本问题。

对于比特币,目前开发人员正在尝试尽可能地压缩数据。 你知道,在某种程度上,有时间,但时间有利于竞争对手,因为拥有更多的容量,同时仍然是去中心化的,这显然是一件非常有用的事情。

以太坊能否解决扩容问题还有待观察。 现在计划已经制定好了,显然所有的问题都已经想通了。 地基框架将于今年晚些时候到位,明年是砖块和所有其他材料,然后是 2021 年的窗户和屋顶,最后是优雅的装修。 就这样,一个由大约 100 名协议开发者建造的漂亮的以太坊房子建成了。 (巴比特)