LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > Eth2.0 状态详细分解

Eth2.0 状态详细分解

2020-08-07 洁sir 来源:区块链网络

这篇文章是针对社区的,目的是为你提供以太坊社区全面了解eth2的现状:它的去向,可能的发展以及对你的意义。我将尝试提供适当数量的技术内容,以说明动机,愿景,项目的当前状态以及即将开展的工作,而不会陷入过多的数学或专业术语中。

这个项目很大,很复杂,而且将来似乎总是足够远,希望这篇文章可以帮助你更好地了解即将发生的事情。对我们现在的处境以及我如何思考未来的事情有更广泛的了解。

Eth2,wtf

“ Eth2是可扩展的权益证明基础结构”。Eth2是为以太坊构建的,最终旨在为当前的以太坊主网提供一个更安全和可扩展的上下文,对目前的工作方式提供最小的干扰。同时,它为我们提供了升级的环境。

自从以太坊启动之前,众所周知,单个区块链范式不会提供足够的带宽来充当新的去中心化互联网的骨干。以太坊相关的权益证明和分片研究的历史可以追溯到2014年。权益证明和分片的目的都是为了回答以下问题:给定一定数量的资本支持加密经济体系,我们能否在提高安全性和吞吐量的同时,仍允许消费者参与共识并遵循它?虽然我不会在这里讨论历史,但是这项探索花了很多年,并且有很多错误的开始。最后,答案是肯定的,并已证明是eth2项目是一个雄心勃勃的多年项目,将分阶段推出。

阶段0

信标链是第0阶段,是新共识机制的核心。这是所有系统级活动和编排发生的地方。阶段0就是要与遍布全球数千个节点的数十万个共识实体(验证器)达成共识。

由于在阶段1+中将验证程序的子集分布在各个分片上的技术要求,我们需要能够处理大量的验证程序。许多工程复杂性源于此要求。其他非分片的权益证明机制具有100或1000个验证器,但是eth2设计为至少具有约1.6k个验证器,并期望在两年内该数字将达到数十万。

阶段1

阶段0即将达成共识,而阶段1即将达成很多共识。这种“东西”以许多分片链的形式出现。可以将分片链视为其自己的区块链,其复杂性与今天的以太坊大致相同,但生活在eth2共识下,即生活在信标链之下并由其构建或控制。从信标链的验证者获得随机的短期任务,以构建和验证分片链,对每个链的状态,可用性和有效性做出加密经济承诺,并返回到核心系统。

今天,我们预计将有64个分片启动,并且系统可用的总数据在1-4 MB / s范围内,这是大量数据。

1.5阶段

1.5阶段是将以太坊主网作为一个碎片,作为第1阶段创建的许多碎片之一存在,集成到新的eth2共识机制中。它不是由工作量证明挖掘算法构建的以太坊,而是由eth2验证器构建的。对于现有的应用程序和用户,共识机制的这种热交换在很大程度上将是透明的。应用程序将继续发展,但是开发人员现在将拥有一个功能更强大的系统,即更好的安全性,适当的经济终结性,更多的用于汇总的第1层数据和其他有趣的应用程序。

阶段2

第2阶段是在不仅仅是原始的以太坊碎片上添加状态和执行更多的碎片。可以采用多种形式,弄清楚哪种形式及其背后的细节是当今研究和原型开发的温床。我将在下面的部分中对此进行更多讨论。

随着时间的推移,eth2对社区的好处

我们已经完成了所有阶段,实际上,阶段0即将来临。但是该路线图听起来似乎还很长。在升级阶段,实际上对eth2有什么期望?好问题!总的来说,在每一步中,都会出现一波越来越多地涉及以太坊和社区的升级潮。作为用户,可以尽早参与阶段0的抵押,也可以等到以太坊在阶段1.5完全迁移到eth2中(从dapp开发人员和用户的角度来看,这种过渡应该是无缝的)。无论选择如何参与以及处于哪个阶段,随着这一切的开始,都有一些重要的里程碑和好处值得关注。

首先,很多人都是坚定的ETH持有人,他们渴望介入这个赌注行动。对于所有潜在的验证者,尤其是业余爱好者,阶段0适合你。阶段0有其自身的风险和时间范围,这对于某些参与者而言将使其不受欢迎,因此我个人希望该阶段对业余爱好者和长期以太坊信徒来说都是福音。这是随着时间的推移影响愿景并获得早期采用者更高的ETH奖励的难得机会。

那第一阶段呢?在将以太坊集成到eth2中之前,我们可以对所有这些数据进行任何有用的处理吗?是的,即使没有本地计算,第1层数据也非常有用。实际上,在过去的12个月中,最有前途的第2层伸缩解决方案是这些所谓的“汇总”链,它们随着第1层数据的可用性而伸缩。预计eth2数据层将为以太坊提供1-4 MB / s的数据可用性,这在与汇总技术结合使用时可转化为巨大的可扩展性。但是由于以太坊最初的脱节性和开始时的新分片,因此很难对eth2分片数据进行声明。这就是EIP 2537对以太坊主网如此重要的原因之一。

借助本机BLS(新的eth2签名算法)预编译,我们可以编写高效的eth2 light客户端作为实体合同,从而使以太坊应用程序能够在1.5阶段集成之前对eth2中的数据进行声明。如上所述,阶段1.5很大。

Eth2是为以太坊构建的,此时,eth2成为以太坊。我们了解和喜爱的所有应用程序都集成在升级的eth2共识机制中,保留了我们惯用的功能集,同时打开了安全的权益证明共识的广阔新局面,并通过本地访问高度可扩展性数据层。我认为这是过程的重点。这是我们取得巨大成功的时刻,我们将以太坊完全锚定在其新现实中。除此之外,通过在其他分片链上启用状态或执行,随着时间的推移,可能还会获得更多的可伸缩性。这可能以EVM或称为eWASM的新VM的形式出现。无论选择哪种VM,现有的以太坊EVM分片和新的分片链都将能够通过信标链进行本地交互和通信,从而完成多执行,分片的愿景。这是一个旅程,但是在此过程中会有很多收获。

困难以及为什么值得

如此多的验证器

分片的关键部分取决于共识参与者(验证者)进入委员会的随机抽样,以验证协议的一部分(例如分片)。如果给定协议中足够的验证者,并且假定攻击者的大小达到最大值(例如控制验证者的1/3),则从数学上讲,这是不可能的。这使我们可以设计系统,以便具有消费类计算机的任何人(例如,笔记本电脑甚至旧手机)都可以成为验证器(因为将验证器分配给系统的各个子部分,并且可以使用计算来验证任何子部分)。这就是使分片变得不可思议且同时又困难的原因。

首先,我们必须有足够的验证器以确保此随机抽样的安全,这意味着eth2比大多数其他权益证明协议具有更多的预期验证器。这在过程的每个阶段都引入了挑战,从研究到共识机制规范,网络,资源消耗和客户端优化。每个附加的验证器都会在系统的每个步骤中引起系统负载,必须对此加以重视。 Eth2客户团队已经完成了艰巨的任务,即管理成千上万验证者的共识,以便我们可以安全有效地集成第1阶段中的许多碎片。

如此多碎片


另一个使我们难以构建的基本设计决策是,在以太坊中,我们选择获得可扩展性而又不影响分散性。

如果我们不在乎用户实际上是否能够自行验证链,也不在乎保证数据实际上可用于网络,那么将区块链扩展到每秒成千上万的交易并不难。需要分片共识机制的复杂性,以便可以将系统分解为一口大小的可验证块。规范和实施这种共识机制是一件非常困难的任务。

如此多客户


以太坊的核心宗旨是以太坊首先是协议。以太坊是组成协议的抽象规则集,而不是这些规则集的任何特定实现。为此,以太坊社区从第0天开始就鼓励许多客户端实现。今天在以太坊主网上,形式为besu,ethereumJS,geth,nethermind,nimbus,open-ethereum,trinity和turbo-geth。

多客户端范例具有许多重要的优点:

1.有许多客户可以对思想,算法和体系结构进行更广泛的探索,每个客户都有自己的方法和观点。由于我们都构建了更强大的系统,因此在此过程中存在良好的传授性。


2.客户通常有不同的设计目标。随着时间的推移,这将导致用户和应用程序的集合更加多样化。客户端可能或多或少地专注于以下任何方面:性能,安全性,水平扩展,UI / UX,轻客户端,浏览器,资源受限的设备等。


3.由于主网上有许多生产级客户,当其余客户保持强大状态时,可以击倒任何一个客户的重大攻击(例如DoS攻击)。这是在以太坊历史上很早就在“上海DoS攻击”中看到的,当时一系列DoS攻击能够降低安全性和均等性,但绝不会同时出现。


4.每个客户端都充当通往编程语言社区的门户。特定语言的客户基础打开,并邀请该语言进行实验和创新。围绕客户的基本工具通常会滚入该语言的强大工具和贡献者生态系统。多客户端范例增强了以太坊的引力。

这些明显的优势带来了一些困难:

1.规格和测试必须是分开的,以避免在主网上意外分叉。如果该协议只有一种实现,则该实现将成为该协议。在单客户端情况下,如果在主网上击中任何形式的共识“错误”,那么它将被植入协议的现实中。从纯度的角度来看,这不是很好,但是可以避免发生意外分叉的风险。为了解决这一难题,如果我们在主网上分配了健康的客户端(例如,没有一个客户端的节点/验证器总数超过1/3),即使面对一个达成共识的客户端,网络也可以保持正常运行问题。


2.与仅单个客户端相比,最多协调N个客户端会产生线性开销,但在某些情况下可能会导致二次开销。我们采用了一些技术来减少这种开销,例如共识(即将推出网络)测试套件,但是它将始终以某种能力存在。

eth2客户端和测试网的状态

在过去的两年中,eth0客户端0已成为相当复杂的软件,能够处理数千个节点中成千上万个验证器的分布式共识。我们目前正处于测试网阶段,每天都在接近启动阶段。期望最后一英里很长。事实证明是这样。在发布之前的这段时间内,离开舒适区并尝试多个客户。它们之间需要权衡取舍,因此必须动手以找出最适合你的方法。

如上所述,以太坊以多客户端模式运行。为了获得这种范例的好处,我们需要用户运行各种各样的客户端(以在所有类型的客户端上创建健康的分布)。除此之外,该协议还内置了反相关激励措施。在极端情况下,如果主要客户无意中使验证者下线或犯下严重罪行,那么如果你的验证者的行为与该客户相关,那么与你做错了事却与他人无关的情况相比,将受到更多的惩罚。换句话说,在这种情况下,运行少数客户端而不是拥有大量网络的客户端会更好。

绝对要明确如果有多个可行且安全的客户端,则有责任运行少数客户端软件以促进客户端软件在网络上的健康分布。另外,如果在文档方面遇到问题,请告知他人。如果看到错字,请提交PR。如果崩溃或弹出错误,请在github或客户端中报告。你是Beta版用户,在你的帮助下,我们可以为所有人提供更好的体验。

Testnet

我们目前正在运行小型公共devnet,大约每隔一到两周就会重新启动一次。之所以说“ devnet”,是因为它们首先是客户团队开发人员通过错误,优化等工作的方式。它们是公开的,欢迎加入,但要注意,它们还没有像Goerli或Korli那样。

由Afri Schoedon领导的最新发布是运行v0.11规范的Witti测试网。客户团队正在积极升级到v0.12规范,该规范集成了最新版本的IETF BLS标准。从那里开始,随着我们不断扩大网络规模,在客户端上增加越来越多的负载,我们将把devnet过渡到v0.12。在有2-3个客户端可靠地启动成功的v0.12网络并以高负载运行之后,我们将进行一个更公开的测试网,在其中将运行大多数节点和验证程序。这里的目的是创建一个长期存在的多客户端测试网,它尽可能地模仿主网(用户可以在其中可靠地练习运行节点并测试他们想要的其他任何东西)。

理想的做法是将其旋转一次,并在维护网络的同时对所有故障进行分类。但是,根据故障的存在和严重程度,我们可能需要运行几次才能实现。除了普通的测试网之外,我们还将提供激励性的“攻击网”,客户团队可以在其中运行稳定的测试网,并邀请你尝试以多种不同方式对其进行破坏。对于成功的攻击,EF将提供ETH奖励。

eth2工具的现状

尽管eth2的工具还处于起步阶段,但这是令人兴奋且不断发展的努力。如上所述,工具通常来自客户代码库和客户团队的努力,但是每天都有越来越多的人介入。为了更好地与eth2进行交互,理解,保护和增强eth2,我们作为一个社区需要扩展并建立在基本eth2工具的基础上。我想对已经为其eth2工具提供了巨大价值的团队和个人大声疾呼,并希望欢迎其他所有人开发新工具并扩展和增强现有工具。

Eth2工具是一个全新的机会。这是一个难以置信的机会,可以挖掘,提供真正的价值并取得成功。以下是进行中的工作示例,但是还有很多工作要做!资源管理器:Beaconcha.in,Etherscan,Eth2stats网络工具:Prrkl,Rumor,Pyrum,Stethoscope密钥库和钱包:ethdo,deposit cli,EIP 2335以及其他新的标准API设计和原型绑定斜线检测。

这里是一些开放式工具创意的示例:

1.Eth2验证器警报:提供一项服务,以在节点验证器的性能未达到最佳状态时向节点操作员发出警报。
2.验证者存款跟踪:通过跟踪验证者存款过程,帮助在当前的以太坊和eth2浏览器之间架起桥梁。
3.通过代理保护验证者:使用代理跟踪验证者消息,以确保客户端不会发送不安全的消息。

不仅如此,这是一种贡献类型,不仅限于规范。创造力很重要。如果你想做出贡献,请与eth2客户团队联系以开始使用。

Eth1 + eth2集成的状态

在当今的以太坊客户端中(例如geth等),几乎所有复杂性都在于处理用户级活动。事务池,块创建,虚拟机计算以及状态存储/检索。实际的核心共识(工作量证明)在协议中相当简单。大多数复杂性由核心协议之外的复杂硬件处理。

另一方面,eth2客户完全是共识。在权益证明和分片中,许多复杂性被引入协议中以实现可扩展共识的目标。关注点的这种分离使eth1和eth2客户可以完美配对。目前,geth(EF)和TXRX(ConsenSys)团队的成员正在将两者合并。这项工作涉及(1)定义eth1和eth2客户端之间的通信协议,(2)向eth1客户端添加可以通过通信协议控制的共识引擎,以及(3)原型化和模拟eth2阶段1的行为以测试耦合。我们希望今年夏天在这些方面能看到一些具体结果。

跨碎片执行和通信的状态

如上所述,实现跨多个碎片执行的确切路径是一个受到广泛研究和争论的领域。有很多问题要回答。例如:执行时应启用多少个分片?对于其他分片,我们是否将EVM或eWASM用于虚拟机?我们如何有效地组织和处理跨分片交易?我们需要对现有EVM进行哪些更改以支持跨分片交易?一般而言,执行和帐户结构是否可以扩展?

在过去的12个月中,eWASM(EF)和Quilt(ConsenSys)团队在这些领域进行了大量研究。事实证明,解决方案领域非常庞大,尽管我们现在可以很好地掌握该领域的广度,但是最近的重点是挖掘简单,切实的解决方案,以便能够测试,原型化并真正建立对话。由此产生了eWASM的Eth1x64计划。在将抽象的交叉碎片思想引入具体规范以进行讨论并最终成为原型方面,已经取得了迅速的进步。密切注意这方面的进展,特别是如果你是dapp开发人员。

无状态以太坊与eth2的关系

与eth2并行发生的另一项重大研发活动是“无状态以太坊”。无状态以太坊致力于解决规模增长问题。它允许参与者验证块,而不必在本地存储整个状态。现在,以太坊状态转换函数中有一个隐式输入:状态的整体。使用无状态以太坊,将在块内部提供有关必要状态的证明。这允许将块作为仅该块的纯函数进行转换/验证。

对于用户而言,这意味着一个世界,可以在其中遵循链条,甚至可以遵循自己关心的状态的一部分,而无需存储所有状态。一些网络参与者可能会存储所有状态(区块生产者,区块浏览器,按需付费状态提供者),但是绝大多数参与者将变成有状态的状态。对于eth2,这是一种重要的技术机制,可确保节点和验证器可以验证并保护协议,而无需负担存储每个分片的完整用户状态的负担。

取而代之的是,验证程序可能选择加入某些分片的块生产者,而基线验证程序可能仅验证无状态块。无状态的以太坊是eth2愿景的一个非常有价值的补充,使分片协议的基础非常薄。尽管我们计划在eth2上实现无状态运行,但如果无状态路径最终无法证明是可行的,我们确实有一些选择。这是确保以太坊长期可持续发展的令人兴奋的并行研发路径。

总结

Eth2是一项艰巨的任务,旨在为以太坊提供升级的,下一代的,高度可扩展的和安全的,去中心化的共识。每天有数十个团队和数百个人在努力实现这一目标。我们选择的道路是困难的,但是已经取得并继续取得巨大进步。这种新机制的核心指日可待。

如果你是一个有抱负的验证者,那么现在就该深入探究了。通过尝试多个客户来支持多客户范例,并从eth2的起源中帮助灌输丰富的客户多样性基础。如果你是用户或dapp开发人员,请继续使用以太坊,同时我们将继续为你准备更安全和可扩展的环境。

感谢令人难以置信的团队和个人,以确保今天的以太坊保持生机和健康;谢谢你们所有人为eth2中以太坊的未来做准备;并感谢所有使以太坊很棒的用户和开发人员。

原文链接:The State of Eth2, June 2020

—-

编译者/作者:洁sir

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...