首页 / 以太坊2 / 今日推荐|一文了解以太坊2.0当前发展现状

今日推荐|一文了解以太坊2.0当前发展现状

标题:今日推荐 | 一文看懂以太坊 2.0 如今发展状况

免责声明:本文旨在传达更多市场信息,不构成任何投资建议。文章仅代表作者观点,不代表火星财经官方立场。

小编:记得关注哦

来源:以太坊爱好者

原标题:干资讯|截至2020年6月,以太坊2.0发展状况

作者: Danny Ryan 翻译: 阿健

原标题:截至2020年6月以太坊2.0的发展现状

特别感谢Sacha Saint-Leger、Joseph Schweitzer、Josh Stark 和protolambda 的指导。

我花了很多个人时间来解释和回答有关以太坊2.0 的问题。有些是对技术方面的深入解读,帮助技术贡献者了解我们的研究和技术规范;但更多的是回答整个社区提出的有关Eth2 的进展、方向、动机、设计决策和延迟推出的问题。在解释Eth2等时,每当我想出新的方式来描述不同的组件,或者根据受众的特点发明精彩的隐喻让他们突然明白时,我都会感到非常自豪。

但这种充满活力的对话方式虽然有价值,但却让社区中的许多人不知所措。而且,我个人不得不一遍又一遍地回答同样的问题,更可怕的是,6个月后我还会被问到完全相同的问题!显然,存在信息沟通问题。这些信息存在,但分散在网络—— 中,从研究帖子到技术规范、规范解释、公开会议、公共沟通渠道、reddit 论坛帖子、基金会博客。

在Devcon 5 之后,我首次尝试弥合这一信息差距,其中之一是撰写一系列“Eth2 更新快照”博客系列。本系列博客提供了很多小片段来帮助读者了解Eth2.0,但我逐渐意识到这些博客并不能帮助大家真正做到全景了解。虽然音频播客、AMA 和会议上经常讨论大局,但以书面形式描述它仍然很有帮助。

所以我来了!本文想为我们社区—— 以太坊社区—— 的大家,全景解读一下Eth2 的发展现状:我们现在在开发什么,未来可能会开发什么,以及大家应该注意什么。我将提供适量的技术解释,帮助您了解我们的目的、我们的愿景、项目的当前状态以及仍需要完成的工作,同时尽量不让您用数学术语和我们的行话感到窒息。

这篇文章对于已经对以太坊有深入了解但对Eth2 不太了解的技术专家来说也应该有用。

别担心,我明白,整个项目又大又复杂,似乎即使不断解决遇到的问题也看不到结局。希望本文能帮助您更好地了解即将发生的事情。

对于那些已经很了解Eth2 的人,不要错过这篇文章——,这样你就可以从更广泛的角度了解我们所处的位置以及我如何看待未来可能的发展。

免责声明:文中仅代表我个人对以太坊2.0目前进展的看法。有许多不同的声音和意见推动着Eth2 的持续发展和演变。这篇文章只是我个人的解读。

Eth2,WTFEth2 是一个可扩展的权益证明基础设施。

如果你在过去六个月里听过我的演讲,那么你无疑不止一次听到我说过这样的话。 Eth2 是为以太坊构建的,最终将成为以太坊本身。 Eth2致力于为当前以太坊主网提供更安全、可扩展的环境,并以不会造成分裂影响的方式进行部署。同时也为我们不断进步提供了升级的环境。

早在以太坊推出之前,很明显单一的区块链模型无法提供足够的“带宽”来成为新的去中心化互联网的支柱。以太坊相关的权益证明研究和分片研究可以追溯到2014 年,即以太坊的早期(以太坊尚未推出)。权益证明协议和分片架构都旨在回答以下问题:考虑到在加密经济系统中投入的资源量,我们能否同时提高安全性和吞吐量,同时仍然允许普通消费级硬件参与共识和共识?同步块?链?我不会在这里详细介绍这些研究的历史;可以说,这些探索花费了数年时间,许多最初的想法最终被证明是错误的。最终,我们的答案是响亮的“是”,而它的体现就是Eth2项目。

Eth2是一个雄心勃勃且长期的项目,我们将分阶段启动它。这些计划已被广泛描述和讨论,但我将提供一个快速、技术性较低的解释。

Phase 0 Phase 0将推出Eth2新共识机制的核心——信标链。信标链是所有系统层活动发生的地方,也是系统内协作和通信发生的地方。 Phase 0的发展目标是让分布在全球、围绕数千个节点的数十万个共识单元(验证者)同时参与共识。

由于第一阶段启动后将验证人分配到多个分片的技术要求,我们需要信标链能够处理大量的验证人。工程中的大部分复杂性都源于这种技术要求。其他非分片的权益证明机制一般只有100 多个或1,000 多个验证者,但Eth2 的设计至少可以容纳16,000 个验证者,并且这个数字预计在几年内将达到数十万。

Phase 1Phase 0要做的就是启动共识机制,而Phase 1则是让很多事情达成共识。该内容来自分片链。你可以把分片链想象成一条几乎和现在的以太坊一样复杂的区块链,但它的运行必须遵守Eth2的共识规则(即必须由信标链控制)。来自信标链的验证者将被随机分配短期任务:在某个分片链上构建和验证区块,对分片链的状态、可用性和有效性提供加密经济承诺,最后发送回核心系统(分片链)。链)。

目前,我们预计在发布时将推出64 个分片链,这将导致网络上每秒1-4 MB 的数据可用性(是的,这很多)。

阶段1.5 阶段1.5 是将以太坊主网作为分片集成到Eth2 中的共识机制(作为第一阶段创建的众多分片之一继续存在)。从现在开始,我们所熟知和喜爱的以太坊区块链将不再由工作量证明挖矿算法提供支持,而是由Eth2 验证器构建。对于现有应用和用户来说,共识机制的热切换基本是透明的。应用将继续存在,但开放者将拥有更强大的底层系统(更好的安全属性、更好的经济终结性、成本保护的交易确定性)、更多的Layer-1 数据空间来支持Rollup 和其他有趣的应用)。

第2 阶段第2 阶段是为除初始以太坊分片之外的分片添加状态和执行机制。可能的方法有很多,弄清楚各种形式及其细节是当前研究和原型设计的热门话题。我将在下面进一步讨论这个问题。

Eth2将为以太坊社区带来的好处所以,我们未来必须实现上述目标,而且Phase 0指日可待,但整个路线图似乎有点太长了。在整个升级过程中,我们可以从Eth2中获得什么好处?

好问题。整体来看,每一步的升级都会触及以太坊区块链更深层的核心,从而给整个社区带来更大的刚性。作为用户,你可以参与Phase 0 的PoS 区块生产,也可以等待以太坊区块链完全融入Eth2(当然,这个过程从开发者和用户的角度来看应该是无缝的)。无论您选择如何参与以及从哪里开始,这些阶段都是重要的里程碑,并且都有显着的好处。

第一个好处是我知道很多人都是以太坊的铁杆粉丝,迫不及待地想参与PoS。第0 阶段适合您潜在的验证者(我们的PoS 适合业余爱好者)!成为PoS 的验证者有其自身的风险,而且质押资金的周期也很长,这可能会劝退一些参与者,所以我个人认为这个阶段对于业余爱好者以及以太坊的长期信仰者来说是一个机会。最后,我们有这个机会,您可以尽早参与,帮助实现我们的愿景,并因早期参与而获得更高的ETH 奖励。

第一阶段怎么样?在以太坊融入Eth2系统之前,我们容纳这么多数据有什么用呢?当然有效,我很高兴你问!

即使没有原生计算能力,Layer-1 上的数据空间也非常有用。事实上,近12个月出现的最有前景的Layer-2扩容计划,名为“rollup”的侧链(即包括乐观计划和ZK型计划),正是能够与Layer一起成长的计划-1 数据。扩大空间可用性并提高吞吐量的技术。 Eth2的数据层预计将提供1到4MB/s的数据可用性,可以与rollup技术结合转化为巨大的可扩展性。但由于以太坊主链最初与新的分片宇宙断开连接,因此很难对eth2 分片数据做出声明。这也是EIP 2537对于以太坊主网非常重要的一个原因:在以太坊主网上预编译BLS(Eth2使用的新签名算法)后,我们可以在Solidity合约内编写高效的Eth2轻客户端。允许以太坊主链上的应用程序(在阶段1.5 到来之前)在Eth2 上声明数据。

如上所述,1.5 阶段是一个重要的里程碑;在此之前,Eth2是为以太坊打造的;之后,Eth2 将成为以太坊本身。所有应用程序都将集成到升级后的Eth2共识机制中,它不仅可以保留我们习惯的功能,而且还开辟了安全的权益证明算法和高度可扩展的数据层的新世界。我认为这是整个升级过程的核心;它的成功意味着我们已经将以太坊完全锚定到了一个新的现实中,这是一个历史性的时刻。

此后,开启其他分片链上的状态机制/执行机制可以逐渐带来额外的可扩展性收益。执行机制可能采用EVM 或称为eWASM 的新虚拟机的形式。无论VM上的选择如何,EVM分片和原来以太坊形成的其他分片都可以通过信标链进行交互和通信,形成多线程、分片的系统。

你看到了吗?这是一段漫长的旅程,但一路上都有鲜花相伴。

Eth2 实施困难以及为什么值得验证者分片架构的许多核心组件都依赖于共识参与者(即验证者)的随机抽样,这些参与者组成一个委员会来验证协议的一部分(例如分片链)。只要协议中有足够多的验证人,即使存在最大攻击者(例如控制所有验证人的1/3),该攻击者几乎不可能控制一个委员会并破坏整个系统(概率非常小,需要以小至1/2^40 的量级来计算)。这使我们能够设计系统,以便任何拥有消费级硬件(例如笔记本电脑甚至旧手机)的人都可以成为验证者(因为验证者将被分配来验证系统的一部分,而这部分验证任务也可以利用普通机器的计算资源来完成)。

这就是分片架构的魔力,也是难点。第一,我们必须有足够的验证器,以便随机采样是安全的:因此Eth2 的验证器预期数量比大多数(我认为甚至是所有)其他PoS 协议要高得多。这对开发过程——的每一步都带来了挑战,从研究到共识机制的技术细节,到网络,再到客户端的资源消耗和优化。每个步骤都必须考虑到这一点:每个额外的验证器都会给系统带来更多的负担。 Eth2客户端团队完成了让数十万验证者同时参与共识的不可能任务,因此我们可以安全高效地加入许多分片。

许多分片另一个使我们的开发变得极其困难的基本设计决策是我们希望在不牺牲去中心化的情况下实现可扩展性。

如果不关心用户是否可以自己验证整个链的完整性,或者链上的数据是否可供整个网络使用,那么将区块链的处理速度提高到数千笔交易并不困难。每秒。困难在于我们需要一个分片共识机制,可以将系统分割成许多可验证的部分。可想而知,构想乃至实施这样的共识机制有多么困难。

许多以太坊客户的信条之一是以太坊首先是一组协议。以太坊是构成协议的许多规则的抽象集合,而不是这些规则集合的某种实现。因此,以太坊社区从一开始就鼓励多种客户端实现。现在有besu、ethereumJS、geth、nthermind、nimbus、open-ethereum、trinity和turbo-geth这么多可以同步以太坊区块链的客户端软件。在Eth2方面,我们有各种客户端软件,例如cortex、lighthouse、lodestar、nimbus、prysm、teku和trinity。

多客户端范例有很多好处:

多个客户端实现可以产生广泛的想法、算法和架构(每个客户端实现都会给出自己的观点和方法)。这种交叉碰撞是有益的,最终我们都开发出更可靠的软件。不同的客户端软件通常有不同的设计目标。然后随着时间的推移,用户和应用程序将变得更加多样化。客户端软件将或多或少地围绕以下目标进行开发:性能、安全性、水平可扩展性、用户体验、轻客户端、浏览器友好性、资源节约等。如果生产环境中可用的客户端软件很多,则可能会遭受重大攻击仅导致一个客户端软件崩溃(例如DoS攻击),而其他客户端软件保持完好,限制了攻击的损害。这就是以太坊早期遇到“上海DoS 攻击”时发生的情况:一系列DoS 攻击可能会导致geth 客户端或Parity 客户端崩溃,但绝不会同时崩溃。每个客户端都是通往编程语言社区的门户。特定语言的客户端可以作为基础,在此基础上引入该语言的实验和创新。此外,围绕客户端的底层工具通常会在语言的贡献者和工具生态系统中滚雪球般地发展。多客户端范式增强了以太坊的吸引力。当然,我们也必须为此付出一些代价:

无论是技术规范还是测试工具都必须是无懈可击的,以避免主网上线后出现意外分叉。如果协议只有一种实现,那么该实现就成为协议本身。在这种情况下,共识机制中的任何“bug”本质上都会成为协议本身。从纯粹中立的角度来看,这似乎不是一件好事,但它将消除意外分叉的风险。作为解决方案,如果同步主网的客户端使用情况具有健康分布(例如,不超过1/3 的所有节点/验证者使用同一客户端),那么整个网络也可以通过某种方式同步。当出现共识问题时,客户端仍然保持活跃。与单个客户端相比,N类客户端必须相互配合,这会引入额外的工作。如果做得好,可能是线性增长负担,但有时会是二次方增长负担。我们可以使用一些方法来减轻负担——,例如共识机制测试套件(以及网络测试套件)——,但永远不可能完全消除它。

Eth2 客户端和测试网第0 阶段的现状在过去的两年里,Eth2 客户端已经成为相当复杂的软件,因此能够处理具有数十万个验证器和数千个节点的分布式共识流程。我们现在已经有了一个测试网,并且每天都在朝着正式发布的方向迈进。俗话说,行者百里,行者半里,事实证明,确实如此。

我希望您在发布之前走出自己的舒适区并尝试各种客户端。他们常常在实施上进行权衡,你必须自己动手才能找到最适合你的软件。而且,为了真正获得以太坊多客户端范式的好处,我们需要用户使用各种客户端(在所有类型的客户端之间创建健康的使用分布)。

此外,协议中还纳入了反共谋激励措施。在主流客户端出现意外错误导致使用该客户端的验证人下线或者受到惩罚的极端情况下,如果你的验证人也因为同类型的客户端而表现出行为相关性,那么你也会受到更严重的惩罚如果你是唯一一个犯了错误并且与其他人无关的人。换句话说,这个时候,跑一个小众的客户端比跑一个大家都在用的客户端要好。

请务必考虑清楚—— 如果有多个可用且安全的客户端,则您有责任运行利基客户端软件并促进客户端使用在整个网络中的健康分布。

另一件事是,不要感到尴尬。如果您按照文档运行软件时出现错误,请告知大家。即使是拼写错误,您也可以发送修改请求。如果软件崩溃或弹出错误,请务必在github 或客户端的Discord 频道上报告。您是测试版用户,在您的帮助下,我们可以为每个人提供更好的客户端。

测试网我们目前正在运行一个小型开发者网络,每隔一到两周重新启动一次。之所以说“开发者网络”,是因为这些测试网络首先是服务于客户端团队的开发者发现bug、进行优化。这些网络是公开的,欢迎所有人加入,但请注意,这些网络还不如Goerli 或Rinkeby 测试网那么持久。最新推出的测试网之一是Witti 测试网(由Afri Schoedon 发起),运行技术规范的0.11 版本(如果您想参与,请参阅此处的参与指南)。

客户端团队目前正忙于将客户端升级到技术规范0.12版本,该版本纳入了最新的IETF BLS标准。一旦实施,我们将把开发者网络过渡到0.12版本,并继续增加网络规模,给客户端带来越来越多的负载。当我们有2到3个客户端能够成功同步到0.12开发者网络并在高负载下运行后,我们将制作一个更加开放的测试网络,让社区更充分地参与。我们的目标是创建一个持久的多客户端测试网,尽可能模拟主网启动前的运行环境(允许用户练习运行节点并测试他们想要测试的任何内容)。理想的情况是仅启动一个测试网并在维持网络运行的同时进行故障排除。但实际上,我们可能会根据故障的位置和严重程度多次重启测试网络,甚至开启新的测试网络。

除了常规的测试网络外,我们还将开放一个带有激励的“攻击网络”:客户端团队将运行一个稳定的测试网络,而你们将尝试破坏这个网络。成功的攻击者将获得以太坊基金会的ETH 奖励。更多信息将在未来发布,敬请关注——!

Eth2 工具的现状虽然围绕Eth2 的工具还很年轻,但它们正在不断发展且令人兴奋。如上所述,工具往往脱胎于客户端的代码库和客户端团队的开发工作,但现在越来越多的人加入进来。为了更好地理解Eth2,与Eth2 交互,甚至保护和加强Eth2,我们的社区需要继续开发Eth2工具。

已经有团队和个人用他们自己的Eth2 工具提供了巨大的价值,我为他们鼓掌!我也欢迎大家开发新工具,锐意进取,再接再厉。

Eth2 工具是一个全新的领域,是发现痛点、提供价值并在历史上留下印记的千载难逢的机会。

下面列出了一些正在进行的工作,但还有很多工作可以做!

区块浏览器:Beaconcha.in、Etherscan、Eth2stats 网络工具:Prrkl、Rumor、Pyrum、听诊器钱包和Keysotre: ethdo、deposit cli、EIP 2335 等新标准API 设计和原型绑定斜线检测工具:Prysm 《哈希吊打》 lasher”也有一些开放的工具主题:

Eth2 验证器警报:当验证器性能不理想时,向相关节点操作员发出警报。验证者存款跟踪:通过跟踪验证者的存款处理流程来帮助Eth2 区块浏览器。连接使用以太坊带来的验证者保护措施。使用代理来跟踪验证器消息以确保您的客户端无法发送不安全的消息仍然存在许多问题——,并且工具的开发不限于技术规范中已经提到的领域。创造力是关键。如果您想做出贡献,请联系Eth2 客户端团队。

Eth1+Eth2 融合现状在当前的以太坊客户端(如Geth)中,所有的技术复杂性都是由用户级活动—— 个交易池、区块创建、虚拟机计算、状态存储和检索带来的。核心共识机制—— 工作量证明—— 是协议中相对简单的部分。因此,大部分复杂性可以通过核心协议之外的复杂硬件来处理。

另一方面,Eth2 客户端实现完全专注于共识机制。在权益证明和分片架构中,大部分复杂性都内置于协议本身中,以实现可扩展的共识。

这种区别使得Eth1 和Eth2 客户端能够形成良好的配对。

以太坊基金会的geth 客户端团队和ConsenSys 的TXRX 团队正在做将两者合并的初步工作。工作内容包括:(1)定义Eth1和Eth2客户端之间的通信协议; (2)在Eth1客户端添加可通过通信协议控制的共识引擎; (3) 对Eth2 第1 阶段最终行为中的客户端进行原型设计和模拟,以测试耦合。我们预计今年夏天会看到一些具体成果。

您可以在这篇研究文章中了解Eth1+Eth2 客户关系的概述;可以在此处找到集成的技术范围。

执行机制和跨分片通信机制的研究现状如上所述,实现跨分片执行功能的具体路径是一个仍在激烈争论和研究的领域。还有很多问题需要解决。例如:

应启用多少条分片链执行?除了Eth1分片之外,我们还需要使用EVM或eWASM作为虚拟机吗?如何高效构建和处理跨分片交易?需要对现有EVM 进行哪些更改才能支持跨分片交易?执行机制和账户结构是否可以/应该普遍可扩展? eWASM 团队(以太坊基金会)和Quilit 团队(ConsenSys)在过去12 个月里进行了大量研究。结论是,解决方案的领域非常广泛,虽然我们已经完全了解这些领域的广度,但当前的重点是发现简单可靠的解决方案,我们可以对其进行测试、原型设计并真正开始讨论。由此还出现了eWASM 团队的Eth1x64 计划(这里是该项目的概述;以及一些正在讨论的技术规范)。

在将抽象的跨分片交易概念转化为可供讨论和最终原型设计的可靠技术规范方面取得了快速进展。请继续关注,特别是如果您是dApp 开发人员。我们计划在接下来的几个月内提供一些您可以理解并开始使用的内容,我们期待您的反馈。

无状态以太坊与Eth2 的关系与Eth2 并行的另一个研究和开发领域称为“无状态以太坊”。无状态以太坊研究就是为了解决以太坊的状态数据规模问题。解决方案是允许网络参与者验证区块的有效性,而无需在本地存储完整的以太坊区块链状态。当前的以太坊状态转换函数隐含地需要完整的状态作为输入。无状态以太坊的思想是在区块中包含交易将要改变的状态的见证人(witness)。这使得状态转换过程(也是状态验证过程)成为仅将块本身作为输入的函数。

对于用户来说,这意味着你可以同步区块链,甚至可以监控一些你关心的状态,但不需要存储所有的状态数据。一些参与者(例如区块生产者、区块浏览器、付费状态服务提供商)可能会存储所有状态,但大多数参与者不需要存储所有状态。

对于Eth2 来说,无状态性是一种重要的技术机制,可以确保节点和验证者可以验证和保护协议,而无需承担存储所有分片的所有用户状态的负担。相反,验证者可以有选择地成为某些分片的区块生产者,而基线验证者仅验证无状态区块。

无状态以太坊是对Eth2 愿景的有力补充,因为它确保了分片协议的基础保持轻量级。另一方面,虽然我们计划无状态地运行Eth2,但如果无状态路径最终行不通,我们还有其他选择(虽然我个人对无状态性很有信心)

上一篇
下一篇

为您推荐

手机访问
手机扫一扫打开网站

手机扫一扫打开网站

返回顶部