10

以太坊爱好者必看 | 探索以太坊兔子洞,ETH2.0是如何工作的

 4 years ago
source link: https://news.huoxing24.com/20191218085059113613.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

FZFVnui.jpg!web

作者:Anett

编译:共享财经Neo

对我们所有人来说,看到以太坊的发展是非常令人着迷的,这是我最喜欢的事情之一。伊斯坦布尔硬分叉对我来说就像新年前夜。

当你学习更多关于ETH2.0的内容时,你会熟悉很多新的术语。让我们来看看它们,让我向您解释一下ETH2.0是如何以一种简单易懂的方式工作的,即使对于非技术人员也是如此。

Ethereum计划迁移到ETH2.0的一个主要原因很简单——生态系统是有机增长的,所以网络需要升级才能继续运行。

这就是为什么硬分叉会发生在当前的以太坊网络上。Ethereum将从工作证明(POW)转移到股权证明(POS)的原因是,这样即使在更基础的计算机(节点)上,生态系统也更容易运行。

j6jEzm3.jpg!web

ETH2.0信标链现在由prlabs在Sapphire测试网上运行,到目前为止有3个ETH2.0客户端,但总共有7个(主网和测试网),你不需要时间机器来运行它们。测试网现在在gETH (Goerli ETH)上运行。你现在可以加入测试网并押上你的gETH。

uIVb2en.jpg!web

ETH2.0 阶段

ETH2.0将分阶段推出,每个短语都位于不同的分片上。阶段=分片的软件= ETH2.0生态系统的硬件。

阶段0被称为信标链,它是关于核心部分,网络,签名方案和随机性。它有自己的Sapphire测试网,由prlabs创建。如果你有一些能力,你可以加入测试网,下注并参与。

第1阶段是面向独立操作64个分片链的机制。每个分片就像整个网络的一个状态,所以每个分片可以运行网络的一个状态。例如,可以在一个分片上有Maker,在另一个分片上有其它DeFi应用程序,在另一个分片上有ETH1,在另一个碎片上有Crypto Kitties,等等……

阶段2是关于执行引擎、通过空间的事务和帐户模型。执行引擎最小化了系统的复杂性。

我们不确定是否会推出更多的阶段。尽管研究人员希望看到更多的阶段出现在ETH2.0分片链上,但这仍然是一个早期的发展阶段。

让我们来看看以太坊的现状

在伊斯坦布尔硬分叉之后,Ethereum的状态很好,你不必担心,这只是一个常规的网络升级,以保持链的可持续性——在最好的条件下。

eA7zIfR.jpg!web

ETH1.x链现在叫做ETH1.x,“x”表示升级。在接下来的几个月里,在ETH2.0全面推出之前,将会有一些计划中的硬分叉风格的升级。ETH1.x链仍然是活跃的,可用的,你不必担心不使用当前的以太坊。

ETH1.x团队有自己的工作组,他们正在积极地将Ethereum转换为无状态模型(stateless model)。这个小组在布拉格的Devcon4期间开始,因为Ethereum的状态大小正在增长,这是正常的,因为网络是有机增长的。

说到状态,它还在增长,因为Ethereum上有更复杂的交易。复杂的意思是更多的用户-地址在网络上,更多的令牌,加密猫和所有的随机智能合约和存储这些数据需要使用Ethereum状态。这个由Piper领导的工作组提出了以下解决方案,以避免政府的打击,保持ETH1.x链的活力和健康:

从根本上改进运行Ethereum客户机的UX

改善以太坊网络的客户端多样性

奠定基础,顺利地从1 . x进入2.0执行环境

(注:要了解关于ETH1.x更具体的文章,参见Piper最近的文章:

https://medium.com/@pipermerriam/stateless-clients-a-new-direction-for-ethereum-1-x-e70d30dc27aa

关于以太坊的状态,它就像一个全新的兔子洞,与许多图形紧密相连。根据Alexey的信念,在Ethereum成为无状态之前,很可能会有一个硬分叉。我不想复制Alexey的话,但他创建了一个很好的图表,并解释了数据现在是如何存储在Ethereum上的,以及当Ethereum成为无状态时它将如何工作。Alexey写了很多关于Ethereum状态的文档,包括一篇关于无状态客户端的文章,它更具有技术性,其中有很多图。(Alexey文章链接: https://medium.com/@akhounov/ >

ETH1 . x转换到ETH2.0

当Ethereum将是无状态的时候,当前的Ethereum向ETH2.0的转换将更容易。

在ETH2.0上还有很多工作要完全运行,而且从ETH1.x完全转换到ETH2.0需要相当长的时间。

基于Vitalik的话“现有的应用程序将保持不变地运行”。所有帐户余额、合约代码和合约存储(包括ERC20余额、活动CDPs等)将结转。“没有必要担心Maker的CDP,也没有任何DeFi应用程序,令牌余额将顺利过渡到ETH2.0分片。如果你是一名开发人员,你想要帮助过渡,你可以通过主动确保不编写具有高见证大小的dapp,您可以消除Gas成本变化带来的最大干扰。(测量在一个事务中访问的总存储槽+合约+合约代码,并确保它不是太高)

从ETH 1.0到ETH 2.0的道路- BLS签名模式

让我们从ETH 1开始。x到ETH 2.0的过渡会是什么样子?BLS签名模式的应用层曲线在共识层使用,也可能在应用层使用。

这个模式解释了如何从ETH1.x过渡到ETH2.0是有效的。

你必须把自己从ETH1.0买到ETH 2.0,方法是将32 ETH存入Beacon Chain合约0,例如它位于分片5上,因此,您将输入一个分片编号5。

现在你的ETH到了。但是你必须把它移动到信标链合约与validator/staking 帐户,这样你将把你的ETH存放在信标链的分片上。这将通过向Beacon chain合约添加另一个函数来在分片链上创建一个帐户,该函数将减少您的帐户余额(>),从而增加接收帐户的余额(<)。

如果你仍然不能想象它是如何工作的,有一个威尔·维拉努瓦(Will Villanueva)制作的图表

26vequV.jpg!web

(来源链接:

https://medium.com/@william.j.villanueva/a-journey-through-phase-2-of-ethereum-2-0-c7a2397a36cb

信标链( Beacon Chain

Beacon chain有时被称为ETH2.0的“心跳”,因为它定义了系统的安全规则,将所有分片链接在一起。之所以将Beacon Chain称为ETH2.0的“心跳”,是因为它的构建是为了管理自身和所有分片链的利害关系证明协议。它包含了生态系统的基础层。它有能力使用ETH智能合约,钱包和(d)应用程序。

信标链有本地的Ether,这意味着你必须在ETH2.0链上存放32个ETH才能成为验证器/ staker。尽管它没有原生Ether的概念,并且在每个块中存储一个收据列表。建议创建使用信标链作为负载均衡器,而作为纯计算层的分片正在为层创建脚本。Bitfly创建了信标链资源管理器,你可以看到统计数据,信标链上有多少以太,信标链上有多少活跃的验证器,基本上信标链上都是数字,包括所有你要找的关于信标链的数字。

Ben Edgington写了一篇关于Beacon chain的文章,对于那些对Beacon chain感兴趣的人来说,这是一篇非常棒的文章。如果你想了解更多关于Beacon Chain的技术信息,请查看GitHub repo。

(Ben Edgington文章链接: https://media.consensys.net/state-of-ethereum-protocol-2-the-beacon-chain-c6b6a9a69129

(GitHub repo链接: https://github.com/ethereum/eth2.0-specs/blob/fffdb247081b184a0f6c31b52bd35eacf3970021/specs/core/0_beacon-chain.md#eth1-data

分片链

分片链和状态执行功能是信标链合约中定义的框架的反射和集成。分片链不需要一个状态,这是ETH1.x的一大好处。因为当前的Ethereum链需要状态,所以很多dapp开发者都将状态作为dapps数据的免费存储。而分片帮助ETH1.x访问存储在ETH2.0链上的数据。这是ETH2.0的可扩展性模型。有64个ETH1.x分片。使用分片和避免跨分片通信的一个有前途的模型是在分片链上构建乐观的滚动。这些乐观的滚动可以使用多个分片作为数据层。分片为ETH2.0带来了可伸缩性。

Shuffing(洗牌)

分片链上的Shuffing。这意味着分片将在epoch中洗牌——每6分钟一次,网络状态将从分片移动。实际上,一个新的提议刚刚发布——异步模式的智能接触开发可用于Viper和solidity。使ETH1.0无状态化将使向ETH2.0的转换更加容易。您将是验证器,因此不再需要在磁盘上有一个数据库来管理大型全局状态。在执行事务时,我们不需要来回访问数据库,这会让这部分更简单。

如果试图同步,就不再需要下载全局状态。

而这带来了大量的安全,因为将有洗牌=你不会只验证一个分片。

洗牌使得很难中断委员会和网络的安全,这给了你更少的时间去尝试和破坏它们(分片)。这有助于减少网络的状态=当前在ETH1.0 (current Ethereum)中面临这个问题。

执行环境 (Execution Environment)

我觉得这是一个隐藏在ETH2.0背后的全新的兔子洞。EE基本上完成了从ETH1.0到ETH2.0的过渡。通过WASM (web assembly)在执行环境中构建Ethereum虚拟机。这将提供当前的EVM将在WASM中重写,从而更容易过渡到ETH2.0。它使系统的复杂性最小化。执行环境在跨切分上有一个执行状态,它充当具有网络状态的数据集线器。Matt正在开发Sheth,这是一种让EE更容易为开发者设计协议决策的工具。

结论

在ETH2.0中还有很多东西需要开发,这意味着当开发人员和研究人员在开发ETH2.0时,他们也在开发ETH1.x链。

这对社区意味着什么?如果你有32枚ETH,我建议你把它们绑在分片链上。尝试它,打破它(也许),但一定要成为我们所有人面前的去中心化未来的一部分。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK