详解以太坊2.0如何与1.0合并_ETH2:eth2.0币种

(图片来自:tuchong.com)以太坊1.0和以太坊2.0客户端的关系

自从Vitalik在2019年12月提出一个早期eth1<->eth2合并替代方案之后,研究人员一直在进行积极讨论,以从软件的角度来考虑这种合并的可能形式,而对于原型设计的期望,也是愈发变得更强。我们的愿景是创建一个混合体,其中核心共识工作是由以太坊2.0客户端管理,而状态/区块则由一个以太坊1.0引擎管理,而它们一起构成了eth1+eth2组合客户端。本文旨在更明确地区分eth2客户端和附属eth1引擎之间的职责,以便为会话、规范编写及原型提供更好的基础。注意,文章并不会定义协议的具体细节,并且文中包含的任何示例,都只是用于帮助描述及后续讨论。而要理解本文的内容,前提条件是需要你基本熟悉以太坊2.0以及无状态以太坊的概念。分工明确

eth1+eth2的合并目的,是在升级的以太坊2.0共识环境中利用现有以太坊1.0的状态、生态系统以及软件。概括地说,我们今天所认为的eth2客户端会处理核心PoS以及分片共识。本质上,eth2协议及eth2客户端被设计成非常擅于在一堆“东西”上产生及达成共识,而这些东西,就是很多充满数据和状态的分片链。与当今eth1的PoW共识层相比,eth2的“共识层”要先进的多,同时也复杂的多。今天,eth1客户端具有相对简单且较薄的共识层,它只有一条链,并且PoW可处理协议外硬件中的大部分复杂性。eth1客户端的大多数复杂性及优化,都位于用户层。当eth1作为一个分片被纳入eth2时,这种关注点分离就可实现很好的配对,eth2客户端可以处理PoS和分片共识的复杂性,而附属eth1客户端可以成为eth1引擎,它可以处理状态、交易、虚拟机以及更接近用户层事物的复杂性。最小的改变,实现本地通信

维基解密已收到价值超过200万美元的加密货币捐赠:12月12日消息,维基解密(WikiLeaks)已收到价值超过200万美元的加密货币捐赠,包括30.45 BTC、225.2 BCH、163.07 LTC、84.01 ZEC、145.45 ETH等。(Crypto Politan)[2021/12/13 7:34:41]

如何将eth1和eth2客户端软件组合在一起,有很多可能的途径,但在本文当中,我们会重点介绍一个最具微创性和和模块化的方法——一种eth2客户端与简化eth1引擎之间的本地通信协议。考虑到eth1和eth2客户端实现的多样性,这种方法可以防止客户端软件在任一侧锁定,允许客户端团队保持独立,并专注于他们自己的研发工作,使软件项目在很大程度上保持稳定,以便进行快速原型制作。那它会是什么样子的呢?大致上,一个eth1+eth2组合客户端会是下面这个样子的:

其中eth2引擎和eth1引擎一起运行,通过eth2客户端驱动的RPC进行本地通信。两者都会维护自己的p2p接口,连接到对等方并处理与每个特定域相关的网络协议。以太坊2.0客户端

动态 | 阿桑奇被捕以来维基解密已收到超40万美元的比特币捐款:去年4月维基解密联合创始人Julian Assange被捕,在他被捕后,维基解密比特币地址两天之内收到价值3.2万美元的比特币。截至目前已经累计收到超过40万美元的BTC捐款。此外,自2010年以来,维基解密的地址中有4043枚BTC捐款,按今天的汇率约合3700万美元。(Bitcoin.com)[2020/2/26]

信标链和信标状态;分片链;Mempool操作、存款、退出出口等)P2P接口;RPC到eth1引擎;以太坊1.0引擎

EVM虚拟机;eth1状态;交易存储池Mempool;P2P接口;来自eth2客户端的RPC;共识

从核心共识的角度来看,eth2客户端负责并推动信标链、数据分片链以及eth1分片链的构建。eth2客户端通过RPC直接提供有关eth1引擎关于eth1分片链和核心共识的任何知识。具体来说,附加的eth1引擎必须能够访问eth2客户端,因为它不能维护自己的共识。在今天以太坊的PoW中,eth1客户端检查工作量证明,形成一个树状结构,并运行分叉选择规则来查找链的顶端。在eth2中,这些机制要大不相同,这需要对eth2的核心共识有深入的了解。eth2客户端提供有关eth1分片链头部的最新信息,以便eth1引擎可以维护eth1状态的准确视图。由于eth1引擎完全依赖eth2客户端推动共识,因此我们提议eth2客户端与eth1引擎之间的通信,都是eth2客户端调用的eth1引擎上的所有方法。这将强制执行一个leader/follower关系,以降低系统推理的复杂性,并限制eth1引擎所需的业务逻辑。从eth2客户端和核心共识的角度来看,eth1分片链的处理,几乎与所有其他分片链完全相同。主要区别在于,可以针对eth1引擎执行分片区块内容,因此eth1分片区块数据的格式必须与eth1相关,并且必须针对此成功执行进行额外的验证。状态

动态 | “维基解密”创始人阿桑奇被捕,维基解密网站接受加密货币捐赠:据央视新闻报道,据英国消息,“维基解密“”创始人阿桑奇在厄瓜多尔驻英国大使馆经过7年庇护后,于当地时间4月11日被捕。据悉,维基解密网站接受加密货币捐赠。另据网传,维基解密创始人阿桑奇有很多比特币。[2019/4/11]

eth2有一种与核心共识相关的状态,这就是所谓的“信标状态”。信标状态数据很小,它包含了理解核心共识及如何处理分片链所需的所有信息。事实上,要处理分片链中与共识相关的部分,客户端必须能够访问信标状态。eth2的状态不会一直和用户层状态交互,其交互最多的是分片链数据的可用性。实际的用户层数据根位于该分片链数据中,对于eth1分片链,则为当前以太坊用户状态根。下面讨论了和eth2客户端相关的eth1状态的不同情况:1、没有eth1引擎的eth2客户端核心eth2协议可以在没有附加eth1引擎的情况下运行。单独的eth2客户端可以遵循信标链和分片链。而没有eth1引擎,客户端将无法执行无状态eth1分片区块,因此无法完全验证它们或从中获取任何有用的用户信息。不过,根据对eth2核心共识和验证者的假设,eth1分片链的头部仍然可以安全地找到。2、带无状态eth1引擎的eth2客户端要运行一个验证者节点,必须使用附加的eth1引擎运行eth2客户端。这可以通过无状态的方式完成,因此eth1分片区块具有可用于执行的验证数据。信标委员会可以通过对eth1引擎进行无状态调用,来检查分片区块数据的可用性及关于eth1的数据有效性。除了验证者外,很多用户/应用程序节点也可能使用无状态或半状态的eth1引擎运行。使用瘦eth2客户端,来跟随eth1分片链的头部,并以无状态或半无状态的方式与其交互。3、带有状态eth1引擎的eth2客户端要运行可产生eth1分片区块的验证者,必须使用附加的eth1引擎和完整的eth1状态运行eth2协议。然后,可以使用本地状态和交易存储池按需形成新的有效区块。除验证者外,很多用户/应用程序节点也可能使用完全有状态的eth1引擎运行,例如区块浏览器、存档节点、状态提供者等。网络

动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]

为简单起见,eth2和eth1最初会维护它们各自独立的网络堆栈和协议。为了响应责任转移,开发者已不赞成使用某些现有的eth1协议,取而代之的是eth2协议。在初始原型设计阶段之后,或者在更进一步的阶段,可能需要将eth1协议迁移到libp2p以统一网络堆栈,但这不是必须的。eth2客户端和eth1引擎可以访问相同的discv5DHT,但是可独立地找到具有适当功能的对等节点并独立地维护连接。ENR

Multichain宣布veMULTI第三季度将分配136万USDC奖励:7月12日消息,官方消息,Multichain公布veMULTI第三季度的奖励分配详情,10%跨链桥费用分配给Safety Fund,45%跨链桥费用将作为奖励分配,每季度以USDC分配。第二季度跨链桥费用为3,802,713美元,第二季度成本(Gas费用)为773,852美元,第二季度总输入为3,028,861美元,veMULTI第三季度 奖励 (45%)为1,362,987.45美元。[2022/7/12 2:08:21]

eth1+eth2组合客户端会使用一个ENR,因为节点位于具有多个功能的逻辑网络标识之后。eth1功能由ENR中的现有ethkey表示。eth2功能在ENR中用eth2key表示。每种协议的存在,都意味着节点能够且愿意识别底层网络协议的类别。Wire协议

1、eth2协议1、eth2请求/响应;2、核心共识gossip;2、eth1协议1、eth1wire协议的子集2、NOT;3、为什么eth2客户端会处理eth1区块gossip?eth2专门用于处理分片区块的生产、gossip以及验证。我们的目标是让eth1分片成为标准分片,并尽可能与其余分片保持一致。关于核心共识,与其他分片相比,eth1区块的主要区别在于针对eth1引擎执行/验证区块内容的能力,当验证者正在将eth1分片区块叉联到信标链时,eth2客户端将再次调用eth1引擎来执行和验证该区块。当有状态的eth1+eth2组合节点收到新的eth1分片区块时,eth2客户端将再次调用eth1引擎,以验证该区块并更新本地状态存储。交易gossip和存储池mempool

eth1引擎几乎会以当前以太坊相同的方式,维护用户交易gossip以及eth1交易储存池。同样的网络协议和本地机制,可以用于gossip及存储池的维护,为区块的生产做好准备。主要的区别在于如何确定已用交易的知识,以及如何将存储池用于区块生产,但这些可以说是位于存储池外部的一个层中。eth1分片区块是从附属eth2客户端提供给eth1引擎的。包含在这些区块中的交易,应该以类似于当前以太坊主网PoW区块的方式从存储池中清除。eth1分片区块是根据附属eth2客户端,通过存储池mempool的内容生成的。此RPC方法和基础功能类似于getWork,但将返回完整的区块内容,而不仅仅是一个哈希值。区块生产

在eth2协议中,所有区块必须由PoS验证者根据核心共识进行生产及签名。为此,eth2客户端最终要负责所有区块的生产。对于信标区块和非eth1分片区块,eth2客户端具有生成有效区块所需的一切。对于eth1分片区块,eth2客户端立即/随时访问eth1状态、交易和其它底层eth1结构,以生成有效区块。相反,当指定验证者生成eth1区块时,eth2客户端从eth1引擎请求一个可行的eth1区块数据。然后,eth2客户端将此eth1区块数据打包到完整的分片区块中,并将该区块广播至网络。eth1引擎之所以能够生成有效/可行的eth1区块数据,是因为它采用了今天以太坊主网所使用的相同方式来管理eth1交易存储池,并且它通过eth2客户端的更新来维护eth1头状态的最新信息。下一步该怎么走?

如果这一总体设计被大家认同,那接下来的步骤包括:确保有关eth2客户端驱动eth1引擎的假设与现有eth1软件一致,并且不会给现有eth1软件带来意外的负担;更明确地定义用于驱动eth1引擎的通信协议,例如new_head(block)、validate_block_transition(block)、get_proposal(parent_root)等;定义网络组件,例如需要eth1协议的哪一个子集,如何具体使用ENR;扩展以太坊2.0阶段1规范原型!本文经作者DannyRyan授权翻译。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-5:994ms