主页 > imtoken官方首页 > 如果将 30 名以太坊 2.0 开发人员关在一所房子里一周,会发生什么?

如果将 30 名以太坊 2.0 开发人员关在一所房子里一周,会发生什么?

imtoken官方首页 2023-01-17 04:38:36

开个玩笑,一个团队出来脱口而出:“我们需要进入一个房间,锁上门,在我们让所有客户都互相交谈之前不要让任何人出去。” 互操作性,也称为互操作性,是指不同的计算机系统、网络、操作系统和应用程序协同工作和共享信息的能力。 互操作性有不同层次,比如语法层面的互操作性和语义层面的互操作性)

据我所知,没有人认真对待它。 因此,几周后在布鲁克林举行的以太坊 2.0 会议上,Joe Delong 宣布了一项可互操作的质押计划,这让人有点意外。 他找到了一个场地,从 ConsenSys 获得了资金,并在没有透露任何信息的情况下确定了日期。 以太坊2.0互操作性锁定项目(The Ethereum 2.0 Interoperability Lock-in)启动! (#Block Rhythm BlockBeats注:5月19日,由ConsenSys组织的Ethereal Summit在德国布鲁克林举行,Bushwick Generator在会上举办了名为“互操作之路”(The Road to Interop)的研讨会,为9月“Interop Lock-in”研讨会)

这就是为什么 30 多名以太坊 2.0 开发人员在 9 月初在安大略湖度过了一周的时间。 那么,我们在那里取得了什么成就?

以太坊开发功能_以太坊开发区块链_以太坊核心开发者会议

令人印象深刻的地方 [图片来源:Ben Edgington]

从铅到锁

以太坊 2.0 发展的一大优点是有许多开发团队开发软件客户端来运行信标链。 在过去的一年里,至少有九个开发团队一直致力于此,每个团队都在改进已实施的规范并将其反馈到设计过程中。 (#区块节奏BlockBeats注:Beacon Chain,Beacon Chain,以太坊2.0系统的核心,一个全新的权利证明(PoS)区块链,它是解决共识问题,分片链(Shard Chains)的目的是解决以太坊的可扩展性问题)

为了使以太坊 2.0 网络正常运行,所有参与的客户端都需要相互通信以得出关于网络状态的相同结论。 到目前为止,每个团队都或多或少地独立工作,将规范转化为自己特定的编程语言和架构。 一些开发团队已经建立了测试网,让他们自己的客户端相互通信,但这次 Interop Event 是第一次启动并运行跨客户端通信。 机会。

不同客户端软件之间实现互操作的方式大致有3种。 首先与共识机制有关:在每一步,给定相同的信息,每个客户端必须准确地同意系统的状态:包括验证者余额、委员会订单转换和状态根。 简而言之,每个客户都必须实施一个无错误实施的第 0 阶段核心规范。 但是编写无错误的代码很难! 帮助做到这一点的是以太坊基金会创建的广泛且非常详细的参考测试,它也在几周后的互操作事件的诞生中发挥了重要作用。

以太坊开发功能_以太坊开发区块链_以太坊核心开发者会议

互操作性项目的(大多数)成员 [图片来源:Danny Ryan]

其他互操作性挑战与网络相关。 一是信标链客户端需要相互通信,以便“八卦”区块并在网络上进行身份验证(区块投票)。 另一个挑战是客户端需要能够加入一个已经运行的网络,通过从现有参与者那里下载他们需要的数据来“同步”其当前状态。

互操作性项目研讨会是我们在第一个方面的主要关注点,尽管在同步方面已经取得了一些进展。 由于几个客户团队和协议实验室的大量工作,几个月前完成了网络规范草案,在网络上取得了长足的进步。 该规范详细说明了客户端如何相互连接、发送的消息类型、通过网络传输的数据格式、使用的加密技术等等。 对于基本的互操作性测试,我们再次简化了客户端如何找到(发现)彼此的问题。 (#Block Rhythm BlockBeats 注:Protocol Labs,Protocol Labs,一家专注于分布式互联网技术的初创公司,由毕业于斯坦福大学的Juan Benet于2014年5月创立,2014年夏天加入美国顶级孵化器 Y-Combinator 于 2015 年 1 月发布了 IPFS,IPFS 一度成为区块链行业最热门的技术之一,被成千上万的开发者称为“WEB 的未来”。同年,Protocol Labs 还创建了 libp2p、IPLD、 multiformats, Orbit, 等项目。该公司以IPFS和Filecoin这两款旗舰产品着称。Filecoin在2017年完成了巨额ICO,24小时筹集了超过2亿美元)

在互操作项目启动前的几周内,以太坊基金会与 Whiteblock 合作,对所有客户进行了调查,以评估他们对该项目的准备情况。 一些结果令人鼓舞,但并非全部。 因为还有一些客户端没有通过测试,还有一些团队在上线的时候使用的方法不一致。 有些团队甚至无法维持一个仅由他们自己的客户组成的稳定网络。 (#Block Rhythm BlockBeats注:Whiteblock是一个区块链测试平台,可以帮助开发团队更快地验证区块链性能,部署分布式账本技术,为特定客户提供区块链测试即服务BTaaS。为PaaS业务服务做准备。2018年,WhiteBlock受区块链组织 ConsenSys 委托对 EOS 进行测试,得出的结论是 EOS(Token 和 RAM 市场)本质上是一种用于计算的云服务,而不是区域区块链。)

以太坊开发区块链_以太坊开发功能_以太坊核心开发者会议

对一些人来说早上有点早 [图片来源:Ben Edgington]

互操作性的相互合作

9 月 6 日星期五,在安大略省美丽的骷髅湖畔,这群以太坊 2.0 开发人员像复仇者联盟一样聚集在一起,但他们可以使用更多的计算机硬件。 远离任何干扰,远离任何宽带互联网,除了偶尔的扑克游戏或皮划艇旅行之外,没有什么可以让您分心。

共有 7 个客户团队参与了这个项目:Artemis(PegaSys/ConsenSys)、Harmony(Mikhail 刚刚拿到签证!)Lighthouse(Sigma Prime)、Lodestar(Chainsafe)、Nimbus(Status)、Prysm(Prysmatic Labs)和三位一体(以太坊基金会)。 遗憾的是,来自 Shasper (Parity) 的 Wei Tang 未能成功,但这并没有阻止他远程工作以与 Lighthouse 进行互操作! Yeeth 的两名队友在现场,但他们都在与另一个客户团队合作:Nimbus 的 Dean Eigenmann 和 Lodestar 的 Eric Tu。

(#block节动BlockBeats注:以下是部分正在研究或开发以太坊2.0信标链/分片客户端的团队:

Prysm,由 Prysmatic Labs 开发以太坊核心开发者会议,用 Go 语言编写;

Lighthouse,由 Sigma Prime 开发,用 Rust 编写;

Nimbus,由 Status 开发,用 Nim 编写;

Lodestar,由 Chain Safe Systems 开发,用 JavaScript 编写;

Harmony,由Ether Camp开发,用Java编写;

Pantheon,由 PegaSys 开发,ConsenSys 的协议工程组,用 Java 编写;

Trinity,由 Trinity 团队(由 Piper Merriam 领导)开发,用 Python 编写。 )

此外,以太坊基金会的 Danny Ryan 与 Diederik Loerakker(又名 protolambda)和来自 Whiteblock 的团队一起主持了仪式。 在互操作活动的同时,我们还邀请了一些致力于以太坊 2.0 第 2 阶段(执行层)的人员:ConsenSys 的 Coil 团队和以太坊基金会的 Ewasm 团队。 这是一个很好的机会,可以同步(没有双关语意)彼此的工作。

以太坊开发区块链_以太坊开发功能_以太坊核心开发者会议

讨论同步协议的分组会议 [图片来源:Ben Edgington]

每天早上都以每日声明开始:每个小组的进度报告。 然后他们去追赶。 丹尼提前制定了详细的进攻计划。 但在这个项目中,团队几乎只是潜入其中,试图通过开发将网络链接在一起,这样就可以了。

前几天主要是学习如何开发和运行彼此的客户端,调试共识机制规则,填补基础设施和网络协议实现方面的空白。 在调试方面,protolambda 创建了一个简洁的工具 zcli,它接收一个状态和一些块,并生成输出状态。 事实证明,当两个客户端开始出现分歧时,这对于找出谁的错非常有帮助。

Lighthouse 团队的需求量很大。 他们的客户被认为是最稳定和符合规范的,因此团队首先尝试与 Lighthouse 进行互操作是非常有意义的。

很快,结果就出来了,团队在 Twitter 上宣布他们的成功。 美国东部时间 9 月 9 日凌晨 2:49,Lighthouse 和 Nimbus 率先实现互操作。 不久之后,Artemis 也与 Lighthouse 进行了互操作。 一个健康的信标链网络的衡量标准是它正在结束一个纪元; 您可以在屏幕截图中看到它的发生!

其他完成互操作消息对,开始变得密集和快速:Artemis 和 Nimbus、Lodestar 和 Lighthouse、Prysm 和 Lighthouse、Artemis 和 Trinity、Trinity 和 Lodestar。 很快,就到了尝试突破界限的时候了。 下一个成就是 9 月 11 日完成的四路互操作:ArtHouseBusStar 网络。 一天后,五路互通:ArtPryHouseBusIty。 当天晚些时候,该项目取得了最高成就:7 向互操作性; 一个网络运行来自七个团队的一个客户端。

以太坊开发功能_以太坊开发区块链_以太坊核心开发者会议

Jonny Rhea 首次展示了 7 路互操作性 [图片来源:Rene Lubov]

下一步是什么

互操作性周的进展超出了所有人的预期。 七方网络已经远远超出了最初的目标。 毫无疑问以太坊核心开发者会议,我们可以将其视为巨大的成功。

然而,仍有许多工作要做。 为快速实现互操作性所做的一些工作有点像“串封蜡”,需要做得更扎实。 我们开发的网络可以运行,但也很脆弱。 虽然在同步和发现方面取得了进展,但仍有更多工作要做。 这些都是激动人心的第一步,但在我们跑完马拉松之前还有很长的路要走。

我们需要扩展以处理数千个验证器并在客户端执行性能优化。

在下一阶段,团队之间的协作将会越来越多。 我们将建立一个联合公共网络,在接下来的几周内,也许会开发一个长期的在线测试网络,谁能破解它就会有赏金。

该目标仍需在 2020 年第一季度之前实现,届时将开发一个全面运作的信标链网络,该网络将由至少 200 万个 ETH 抵押。 我们在这次活动中发现的任何问题,都不会成为项目的风险点; 一切都表明一切顺利。

以太坊核心开发者会议_以太坊开发区块链_以太坊开发功能

Nimbus 节点和 Lighthouse 节点运行在两个黑莓 Pis 上。手机是控制台; 另一套

反射

我想我们都同意这次活动的时机是完美的。 没有过度准备的准备真的很好。 让每个人同时在一个地方的价值是巨大的。 因为远程操作会很痛苦。 学习开发和配置彼此的客户端是实现互操作性的一大步。

场地很棒。 所有人都住在一个设施齐全的美丽小屋中,提供一流的餐饮服务,没有任何干扰,促进了强烈的目标感和专注力。 这项活动使团队和个人能够发展良好的关系和友谊,这对我们来说非常重要,因为我们需要在未来几个月内共同努力才能实现这一目标。

我们真的需要那么多信标链客户团队吗? 这是一个经常被问到的问题。 坦率地说,我不知道。 尽管如此,我们与如此多的实现进行互操作,以至于它是对规范和彼此的彻底测试。 事实证明,协调成本相对较低。 有这么多顶尖工程师全神贯注于 Eth2,它肯定会提升每个人的游戏水平。

本次活动给我印象最深的是所有参赛队伍都非常积极向上,充满活力。 每个人都以一种奇妙的方式团结在一起; 我从未在如此敬业、积极和简单有趣的环境中工作过。 场内场外的每个人都付出了巨大而英勇的努力,使该项目取得成功。

最近,Jim Jagielski 让我想起了 Antoine de Saint Exupperéry 的一句名言:“如果你想造一艘船,不要鼓励人们去收集木材、分配工作和发号施令。相反,要让他们渴望无边无际的海”。 这也是以太坊 2.0 发展的核心精神。 (#Block Rhythm BlockBeats 注:Antoine de Saint Exupperéry,安托万·德·圣艾修伯里(1900年6月29日-1944年7月31日),法国作家,代表童话《小王子》等,最早一代飞行员之一法兰西,1940年流亡美国,旅居纽约,致力于文学创作。1943年参加北非盟军抗日战争。1944年演出第八届时失踪。飞行侦察任务。)

以太坊开发区块链_以太坊核心开发者会议_以太坊开发功能

不仅仅是工作,Mikhail Kalinin 在划船事故后救了 Jonny Rhea 的手

非常感谢 Joe Lubin 和 ConsenSys 让这次活动成为可能,并特别感谢 Joe Delong 自愿贡献他的时间和精力。 有关更多技术观点,请参阅以太坊基金会的评论。