您的位置 首页 块闻

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

据Trustnodes 5月22日报道,以太坊联合创始人Vitalik Buterin表示,开发人员已经解决了以太坊2.0所需的所有研究突破,现在只剩下实现了。他说道:

“实际上,我们已经取得了全面实施以太坊2.0所需要的所有研究突破。这种情况已经持续了大约一年。”

41978111975_fcec422dfc_b

图片来源:visualhunt

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

阶段0只是staking,也就是一个虚拟的主网,介于测试网和功能齐全的区块链之间。

一些诸如存储分片等的功能将在明年的阶段1添加。阶段2是实际和全面的启动,预计将在两年内实现。

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

分片(Shard)基本上构成当前的以太坊网络,但是假设有1000个节点,然后我们有网络B或分片B,它有自己的1000个节点,所有节点都运行在相同的基本代码上,因此属于同一区块链。分片数量达数百个。

由于这两个体系本质上是不同的,让它们整合在一起已是一项超越了分片技术的突,它将私有和公共区块链、侧链和其他所有领域连接了起来。

以太坊2.0设计

 

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

“跨分片交易的一般流程(我们以传输5ETH为例)是这样的:在分片A上销毁5eth,创建一个收据(如提交到该区块状态根的一个Merkle分支),其中包含:(1)目标分片,(2)目标地址,(3)值(5eth),(4)唯一ID。

在这个过程中,一旦分片 B在检测到分片 A的状态根时,则将一个证明该收据的Merkle分支提交到分片B中。如果Merkle分支验证了收据尚未被使用,则生成5 ETH并将其转给接收者。

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

换句话说,基本上你在分片A上把Eth锁在一个智能合约里,在分片B显示你这样做的证据,然后在分片B上获得Eth。

为了防止双花,开发人员基本上使用了一个听起来像nounce的东西,也就是给它一个数字,然后无限地增加数字。

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

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

正如你所能想象的那样,在这里很难让分片A上的智能合约与另一个分片B上的智能合约“交互”, 而比方说分片B上有Cryptokitties的DNA。

我们不知道你如何将DNA传输到分片A,并让Cryptokitties在分片A上运行,而它们是在分片B上产生的。

一种方法是通过一个中央协调器,但这也会有它自己的问题。如上文所述,当移动Eth时,它是点对点的。

突破还是极限提升?

 

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

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

这里的区别在于,你不必同时运行不同的分片,或者你可以为一个分片设置一个全节点,为另一个分片设置一个较轻的节点。

然而,在这点上,你可能会与Bitcoiner陷入无休止的争论,他们可能会说,一个全节点是一个运行所有分片的节点,很少有人能负担得起这样去做。

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

第一个可能比第二个更容易,Bitcoiner们不太了解以太坊智能合约,所以我们不知道他们会怎么说。

对于删剪,你可能需要设置检查点,这有点像一个新的创世区块。对于以太坊,你的节点不必从2015年就开始启动,而可以从2017年开始。然后其他数据被丢弃,可能上传到某个地方作为存档。

这里的难点是谁设置检查点。如果是一个人或一个团体人,可能会有很多问题,但有了staking,就有可能以去中心化的方式去做这件事。

扩容竞赛

 

一位比特币开发人员曾评论说,以太坊正在追求Bitcoin Core中被拒绝的所有理念。

这是好事还是坏事,取决于你的看法,也取决于它实际上是如何实现的,因为Bitcoin Core并没有完全遵循这些理念来得出正确的结论。

此外,比特币在其当前状态下无法在足够长的时间内继续运行,因为尽管每10分钟1MB并不多,但如果我们把它拿出来,十年后,它的总量累积起来就很多了。

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

显然,你可能会说最终我们都会死,但如果你解决了这个问题,你就解决了扩容性问题。

闪电网络可能会争取一些时间,以太坊拥有Plasma、状态通道以及其他所有特征,但它们并不能完全解决不断增长的历史性根本问题。

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

以太坊是否能解决扩容问题还有待观察。现在计划已经制定好了,并且很显然,所有的问题都已找出。基础框架将在今年晚些时候就绪,接下来在明年准备砖瓦和所有其它材料,然后在2021年装上窗户和屋顶,最后就是优雅的装修了。这样,一座由大约100个协议开发人员建造的漂亮的以太坊房子就建成了。

来源:巴比特

声明:文章仅代表作者个人观点意见,不代表认知区块链观点和立场,所有内容及观点仅供参考,不构成投资建议。投资者应自行决策与交易,对投资者交易形成的直接间接损失作者及认知区块链将不承担任何责任。图文转载于网络的,版权归原作者所有,仅供学习参考之用。如有异议,请联系本站删除。

关于作者: admin

热门文章

风险提示:请谨防以“区块链”,“虚拟货币”等相关名义进行非法集资,严格遵守国家法律法规。提高认知水平,认知区块链,增强风险防范。
Hello. Add your message here.