|火星独家 | 通向以太坊2.0:读懂「无状态验证机制」( 二 )


以太坊2.0
以太坊2.0是加密货币领域有史以来最大的开源 , 旨在提供一个全新系统 , 实现以太坊更多预期目标 。 你可能听说过Casper(权益证明)和分片 , 但是其中包含了许多以太坊 2.0将包含的目标 。
由于以太坊2.0的很多改进对于现有ETH1.0来说肯定是突破性的改变 , 这些改变将建立在Eth2链上 , 现有的以太坊1.0链将被“插入”(变成一个分片)新系统中 。 这样一来 , Eth2就不需要对现有网络进行复杂的升级 , 以太坊网络将正常运行 , 并享受新系统带来的所有好处 。
Eth 1.X的核心目的有两个:
(A) 延长Eth 1.0 的寿命 。
【|火星独家 | 通向以太坊2.0:读懂「无状态验证机制」】(B) 与 Eth 2.0 链接 。
由于 Eth 2.0 中的分片(shards)将是无状态的 , 因此「无状态」将是参与 Eth 2.0 区块验证的先决条件 。 Eth 1.0 要与 Eth 2.0 相容的话势必得支援无状态运作 , 方能顺利过度 , 与 Eth 2.0 介接 。
具体来说 , 是找到一种方式让以太坊网络中的部分节点可以将保留整个以太坊状态的副本变为一个选项 , 而非必须 。 因此 , 要让现行的以太坊网络能够支援没有保存完整全网状态的轻量级节点:「无状态节点」参与到网络中的新区块验证 。
重要的是 , 转向无状态或半无状态范式对现有 Eth1.0 网络的破坏要小于状态租金之类的方式 , 因为这种方式不会对现有客户端带来重大的更改 。 有状态节点和无状态轻客户端可以同时共存 , 且 semi-stateless (半无状态) 的以太坊将为试验不同的客户端实现提供了更多的机遇 。 同时 , Eth2.0中的分片(shards)几乎可以肯定会是无状态的 , 因此当时机成熟时 , 这将为Eth1.0最终向Serenity过渡开辟出一条新的道路 。
Eth2.0将朝着无状态的目标发展 , 这意味着轻(无状态)节点将能够验证所有交易以及状态的所有部分 , 而无需实际存储任何状态 。 无状态允许轻客户端以各种状态/无状态存在 , 每个状态都需要不同的规范 , 从而使节点更易于访问 。
由于每个分片都有自己独特的状态 , Eth2中的验证者需要在验证分片的状态上执行状态变化 。 无状态协议使得验证者不必每次在切换时下载分片状态 , 只需要下载代表数据的二进制merkle树(这要小得多) 。 分片越多 , 状态增长越无止境 , 总会有像交易所或区块探索者这样的服务 , 激励他们保留所有的分片链状态/数据 , 并不计成本地准确交付 。
这为充当“状态提供者”的软件打开了方便之门 , 这些软件向验证器提供事务更改的状态部分 , 因此它们可以轻松地执行状态更改 。 状态中继器帮助将验证过程中的磁盘I/O和存储密集型部分完全转移到另一个实体 。 这为有趣的激励计划打开了大门(对于状态 , 这一直是以太坊的一个问题) , 并使验证者大大受益 , 他们不再需要保留整个分片状态 。
以上介绍 , 相信读者们应该对于现行的Eth 1.0升级到 Eth 1.x 需要进行的改动有简单的认识 。 在 Eth 1.x 升级完成后 , 人们将能用便宜的硬件运行自己的无状态节点(轻节点) , 更多能够参与验证的轻节点可以进一步维护全网的安全性 。
拥有无状态验证机制的Eth1.x方能顺利和Eth2.0的信标链与其它分片链介接 , 正式让以太坊网络进入由无状态验证机制与分片技术构筑成的轻量化Eth 2.0未来 。
参考文章:
Ivan Martinez:What ETH2 has learned from ETH1
以太坊中文网


推荐阅读