比Libra还令人振奋 以太坊2.0进展更新 (2019年6月)_ETH:COM

作者|BenEdgington

编译|Jhonny

我知道你们最近几天都被有关Libra的消息刷屏了,所以这里有一点精神慰藉:本文不会提及Libra的相关信息,在这里我们将回顾一些最新的以太坊2.0开发进展。

本文的内容不是非常全面的,这些天发生的事情太多了。我将把过去几周积累的各种片段整理成一些连贯的东西。

让我们从开发更新开始。众所周知,以太坊2.0的交付计划分为三个不同的阶段。最近最令人兴奋的是有关阶段0(接近信标链客户端的互操作性)和阶段2(以太坊2.0计算模型的开始)的进展。

阶段0:信标链实现

信标链(beaconchain)是整个以太坊2.0系统的协调层,可能也是最难交付的部分。有关信标链的背景知识,请参阅我之前发表的StateofEthereumProtocol#2:TheBeaconChain这篇文章。

去年6月份,信标链被设想为以太坊2.0的未来。仅仅一年之后,阶段0的规范将在今年6月30日被冻结敲定。它是一个全新的区块链设计,其野心之大前所未有,包含了几十项重大的创新和见解,8个客户端实现已经准备就绪:这是惊人的以太坊社区一年以来的成就。坦率地说,这将使Libra相形见绌。任何对此不以为然的人,都生活在与我不同的宇宙中。

既然有关以太坊2.0规范的更新进展已经在Github上被很好地跟踪和记录了,我就不像在以前那样详细介绍了。今天我们将从更广泛的角度来介绍相关的进展。

01.互操作性

随着阶段0的规范趋于稳定,现在的重点转移到各个以太坊2.0客户端实现之间的互操作性(interoperability)。当前由8个活跃团队正在跟上最新的以太坊2.0规范。

一旦信标链网络启用,每个客户端都将需要相互进行通信,以便就信标链的状态达成一致。每个客户端都需要遵循相同的规则:即使是一个位(bit)不正确,也会导致无法达成共识。

考虑到这一点,我们在布鲁克林的BushwickGenerator举办了一个研讨会,名为“通往互操作之路”(TheRoadtoInterop)。我拍了一些照片,感兴趣的人还可以观看现场录制的长达四个小时的视频,还有研讨会的议程。这是一个让几个客户端实施团队聚在一起,计划如何让我们的客户端彼此连贯地通信的场合。Vitalik在当天下午做了一个关于阶段2想法的演讲(见下文)。TerenceTsao也发布了关于Prysm客户端架构和设计的演讲幻灯片。

计划中的下一个重大事件是大约在9月初举办的主题为“InteropLock-in”的研讨会。那时,客户端实现团队将在聚集在安大略省某个偏远的小屋,但只有在我们确认了所有客户端都能够很好地相处之后才会进行。

数据:超5400万枚USDC从匿名地址转移至Binance:4月28日消息,据 Whale Alert 数据显示,54,427,839 枚 USDC 于今日 12 时 56 分从匿名地址转移至 Binance 平台。[2023/4/28 14:32:32]

JonnyRhea在Github上整理发布了拟定通往互操作性之路的各阶段,大家可进行参阅。

02.网络(Networking)

最终目标是使Libp2p成为以太坊2.0网络基础上的P2P通信协议(备注:Libp2p是一个便于使用者开发去中心化点对点应用程序的网络框架)。

然而,作为实现这一目标的一个简化步骤,各个客户端正在实现更简单的Hobbits协议,TrentonvanEpps发表的这篇文章对Hobbits协议进行了很好地介绍。Jonny也以推文风暴的形式阐述了Hobbits协议的基本原理,且ConsenSys也提供了一些奖励金来鼓励各团队在客户端中整合该协议。

与此同时,Whiteblock在Libp2p上做了一些性能测试,DanielChoi在ScalingEthereum探讨会上进行了介绍。他们的发现对Libp2p在某些情况下的性能提出了一些问题。但是,通过与PrtcocolLabs进行合作,我们还将对Libp2p进行一些进一步的测试,以探索与以太坊2.0相关的更真实的参数范围。

另一个有趣的进展是,PegaSys研发团队发表的拜占庭容错聚合协议Handel:PracticalMulti-signatureAggregationforLargeByzantineCommittees(《Handel:实现更大规模的拜占庭委员会的实用多重签名聚合》)。

该协议可以显著地加快以太坊2.0中验证者搜集区块证明(attestations)的速度,允许更大的委员会规模(committeesizes),因此可能更快地实现交易的最终性(finality)。

03.Testing测试(Testing)

在当前对阶段0进行开发的期间,大量的测试工作正在进行。值得注意的是AntoineToulme关于测试运行器(runner)的工作,这项测试工作由MolochDAO资助,可以通过这个视频来了解最近的进展更新,该视频非常值得客户端开发人员查看。

该规范是可执行的,并且所有跨客户端测试向量都可以直接从编写好的规范生成,这一点是非常棒的。

还需要进行大量的工作来对该规范进行模糊测试(fuzz-test),并提供一个用于对客户端进行模糊测试的框架,正如在最新版的以太坊2.0规范中所体现出来的那样。

04.形式化验证(FormalVerification)

比特币去中心化交易所Alex完成250万美元融资:金色财经报道,比特币去中心化交易所Alex完成250万美元战略轮融资,Trust Machines和Gossamer Capital参投。除了去中心化交易所,Alex还提供质押、收益农业和启动板服务。此次筹集的资金将用于继续在比特币生态系统中建立去中心化金融并扩大用户社区。

此前报道,Alex在2021年筹集了580万美元的种子轮融资,由White Star Capital领投。其他支持者包括Cultur3和SeaX。[2023/3/15 13:04:16]

RuntimeVerification已经编写了有关以太坊2.0存款合约增量Merkle树实现的审计报告,该报告使用Vyper语言(而不是Solidity)进行编写。

这是一个重要的里程碑,为将存款合约部署到当前的以太坊1.0链铺平道路。为了便于阅读,我们团队(备注:即PegaSys团队)的JoeDelong撰写了一篇解释性的有关以太坊2.0存款Merkle树的实现的文章。稀疏的Merkle数是非常棒的!

RuntimeVerification还将在K语言中生成信标链的正式可执行规范。

05.信标链上线

在上周以太坊2.0实施者的电话会议上,JustinDrake提出了信标链部署阶段的两个目标日期:

在DevCon5会议期间:将存款合约部署到当前的以太坊1.0链上。这一公开仪式将有助于避免子发布虚假地址来窃取人们的存款。

2020年1月3日:信标链创世区块可能诞生。那时信标链将正式启用。

信标链创世区块的诞生将取决于两个先决条件。首先,存款合约中必须质押有足够多的ETH。之前的一个硬性目标是质押的数量超过200万ETH,但这个要求已经被移除。但质押数量的目标将是一个保证信标链安全启动的指令。

第二个先决条件是目标为3个(或至少两个)“生产就绪”的信标链客户端和网络验证者。在此之前,所有客户端都要完成大量的兼容性、优化、测试、审计、改进、工具化、文档化和打包工作,所以我认为1月3日的目标有些雄心壮志。

阶段1:分片数据

最近,阶段1的规范已经成了Serenity的一片绿洲。

阶段2:状态执行

公平地说,就在几个月前,以太坊2.0要交付的阶段2还是一片迷雾。阶段2是所谓的“执行层”,这使得以太坊2.0区块链实际可用。该阶段将提供资金转移、实现智能合约和所有让dapp得以构建等功能。但是,就在最近的4月初,我们还不清楚该阶段将会是什么样子。CaseyDetrio在ScalingEthereum会议期间上做了一个关于阶段2的历史和现状的精彩演讲,非常值得你花五分钟的时间进行观看……当时针对此阶段的所有问题都是开放的,设计空间仍然是巨大的,可能性也是无限的,那时我们不知道从哪里开始。

美联储戴利:将在下次会议上讨论加息50个基点或25个基点:金色财经报道,美联储博斯蒂克表示,5%-5.25%的利率峰值是合理的,可能会是这个水平。将在下次会议上讨论加息50个基点或25个基点。我不认为加息50个基点是不可能的,毕竟还没有看到CPI数据。通胀率过高,美联储专注于降低通胀率。[2023/1/10 11:03:23]

为了打破这一僵局,Casey在Ethresear.ch上发布了一项令人兴奋的提议:PhaseOneandDone:eth2asadataavailabilityengine。在不深入所有细节的情况下,这引发了一股创新浪潮,阶段2迅速而令人兴奋地开始成为关注的焦点。

之后Vitalik默默地公开了有关阶段2的首个提案及其后续跟进,以回应Casey的提议。新成立不久的Quilt团队的WillVillaneuva在Medium上发表了一篇对此进行解释的文章。在纽约的Interopday期间,Vitalik讲述了有关阶段2的最新想法(相关视频见),最后在多伦多的ScalingEthereum会议期间阐述了更多的背景信息(视频见)。

Vitalik提议的主旨是将以太坊区块链在执行交易中的作用降至最低。在以太坊1.0链中,只有一种执行交易的方式,即通过EVM。在执行了某个区块中的交易之后,交易状态的Merkle根将被写入该区块中。为了在该区块中的交易上运行EVM,所有的节点都需要存储整条链的状态(包含账户余额、合约存储情况等)。

目前的阶段2建议采用这个模型并加以推广。现在可以有几种(甚至很多)EVM类型(我们称之为执行环境,executionenvironments(EEs))。

执行环境(EE)就是在eWASM中编写的、(几乎)作为纯函数运行的代码。这意味着执行环境本身并不会存储任何状态:执行环境所需要知道的任何信息都必须伴随着交易一并被提供。因此,假如我想要发送一枚代币给你,那伴随这笔交易,我需要提供一个证明(比如一个Merklebranch),从而证明我的余额中有这枚代币;该执行环境不知道我的余额有多少,因为它并不存储任何信息。实际上,这并不完全正确:每个执行环境都将存储一个32字节的值,该值是其当前全局状态的某种概要或累加器(也许是一个Merkle根,但这并不是规定性的,它可以是任何足够安全的东西)。

以这种方式将执行层提取出来,这能够提供最大程度的灵活性。可能会出现针对zk-Rollups、ERC20之类的代币或者企业友好型环境、Plasam,亦或者使用Haskell编写的智能合约的EE(执行环境)等等。

其理念是,只要支付相当高的费用(大约100ETH?),任何人都可以部署自己的EE来支持自己的专业区块链环境。以太坊2.0分片链只关注基本方面:交易排序和数据可用性。

Sudoswap NFT交易量突破10万枚:金色财经报道,据 Dune Analytics 数据显示,Sudoswap 平台的 NFT 交易量已突破 10 万枚,本文撰写时为 102,419 枚,当前平台总用户量 14,904,总交易额达到 23,248,117 美元,费用收入为 116,105 美元。[2022/8/23 12:43:13]

当前,一些问题仍在积极讨论中:是否支持EE之间的同步调用、如何组装区块的细节以及收取gas费用、EE是永久性的还是需要支付一些存储费用(storagefee)、EE最初将在以太坊2.0中部署什么等等。但在我看来,这无疑是正确的方向。

如果你想了解更多关于这一切的细节,你可以查看Casey和Alex的Scout库,他们正在做一些可能的原型,以及他们在Ethersear.ch上发表的文章:Phase2executionprototypingengine。

对于我们这些更熟悉当前EVM执行的具体情况的人来说,所有这些听起来可能相当抽象和陌生。不用担心,适应以太坊1.0和以太坊2.0之间的平稳过渡路径已经成为一项优先事项,现在有一些有趣的想法可以有效地实现这一点。虽然还存在一些挑战,但相关的讨论一直在Ethresear.ch行进行展开。

其他信息

以下是我在过去一个月左右的时间里随机收集的一些零碎信息:

Chainsafe的ColinSchwartz正在撰写一篇以太坊2.0的完整指南以及有关以太坊2.0扩展性的第一部分;

DannyRyan在Ethereal会议期间传递的“CautiousOptimism(审慎的乐观态度)”;

EthGasStation与Prysm团队合作并发布了相关报告;

AlexStokes撰写了一篇解释以太坊2.0如何充当以太坊1.0的最终性小工具的文章,以及一篇有关以太坊2.0共识的经济安全性的文章;

MattGarnett列出的开启以太坊2.0学习的资源列表;

可以在Twitter或Peepeth上关注我,了解更多信息。

更多资源

相关的规范文档

?Pullrequests

?Commits

?Issues

验证者注册合约

两周一次的以太坊2.0实施者电话会议

https://ethresear.ch/

https://gitter.im/ethereum/sharding&https://gitter.im/ethereum/casper

Ripple联合创始人Jed McCaleb通过出售XRP盈利30亿美元:金色财经报道,Ripple联合创始人Jed McCaleb昨日在XRP Ledger上的“tacostand”钱包中出售了最后一笔XRP。根据@Leonidas列出的数据显示,McCaleb预计通过出售他的代币赚了30亿美元。McCaleb早在2011年就开始为Ripple工作,并在该公司于2013年成立时成为其创始团队的一员。虽然他于2014年离开公司从事Stellar(XLM)工作,但他获得了90亿XRP代币。(cryptoglobe)[2022/7/20 2:26:01]

Eth2.0Handbook更新

Sharding路线图更新

信标链相关问题

https://github.com/ethresearch/p2p/issues

以太坊Reddit社区地址

加密货币领域相关推特账户

----

文中涉及的链接:

:https://media.consensys.net/state-of-ethereum-protocol-2-the-beacon-chain-c6b6a9a69129

:https://github.com/ethereum/eth2.0-specs/releases

:https://photos.app.goo.gl/eV81rzNZoBBtnm1HA

:https://www.youtube.com/watch?v=NlDA3gKqysA

:https://hackmd.io/@vJTdwcwQSByvMaZGfTX_oQ/Hyz8Mw-9V?type=view

:https://docs.google.com/presentation/d/1UN5EV6nb2UHAQdVkE5BGkL2fyKKND0cdWi7gS2SWhAw/edit#slide=id.p

:https://github.com/ethereum/eth2.0-pm/tree/master/interop/hobbits

:https://medium.com/whiteblock/introducing-hobbits-a-lightweight-wire-protocol-for-eth-2-0-b1bfae5e4843

:https://twitter.com/JonnyRhea/status/1139245584169209858

:https://explorer.bounties.network/profile/0xb7693d3f040d66ab89ab86e7f8688c01febbc77c

:https://youtu.be/RW7K3JQOZOg?t=9335

:https://twitter.com/DeanEigenmann/status/1137032627230089216

:https://arxiv.org/pdf/1906.05132.pdf

:https://www.youtube.com/watch?v=4V-WQ2CnRfA

:https://github.com/ethereum/eth2.0-specs/tree/dev/test_generators

:https://github.com/ethereum/eth2.0-specs/releases/tag/v0.7.1

:https://medium.com/@josephdelong/ethereum-2-0-deposit-merkle-tree-13ec8404ca4f

:https://twitter.com/RosuGrigore/status/1131066228460675072

:https://github.com/ethereum/eth2.0-specs/pull/1152

:https://github.com/ethereum/eth2.0-specs/blob/dev/specs/core/1_shard-data-chains.md

:https://www.youtube.com/watch?v=RW7K3JQOZOg&t=6284

:https://ethresear.ch/t/phase-one-and-done-eth2-as-a-data-availability-engine/5269?u=benjaminion

:https://notes.ethereum.org/s/HylpjAWsE#

:https://ethresear.ch/t/proposed-further-simplifications-abstraction-for-phase-2/5445

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

:https://youtu.be/NlDA3gKqysA?t=9441

:https://www.youtube.com/watch?v=RW7K3JQOZOg&feature=youtu.be&t=2090

:https://sites.google.com/consensys.net/fae

:https://ethresear.ch/t/one-fee-market-ee-to-rule-them-all/5608?u=benjaminion

:https://github.com/ewasm/scout

:https://twitter.com/alexberegszaszi/status/1132242394102009856

:https://ethresear.ch/t/phase-2-execution-prototyping-engine-ewasm-scout/5509?u=benjaminion

:https://twitter.com/cdetrio/status/1134949249974767616

:https://twitter.com/matt_garnett/status/1135925934882775043?s=03

:https://ethresear.ch/t/work-to-natively-integrate-eth1-into-eth2/5573?u=benjaminion

:https://medium.com/chainsafe-systems/ethereum-2-0-a-complete-guide-d46d8ac914ce

:https://medium.com/chainsafe-systems/ethereum-2-0-a-complete-guide-3739a74be61a

:https://www.youtube.com/watch?v=Z_dhq0MlFtc

:https://ethgasstation.info/blog/eth2-proof-of-stake-testnet-what-we-learned/

:https://medium.com/@ralexstokes/the-finality-gadget-2bf608529e50

:https://medium.com/@ralexstokes/how-secure-is-ethereum-2-0-consensus-41523a59f270

:https://twitter.com/matt_garnett/status/1136049338176720896

:https://twitter.com/benjaminion_xyz

:https://peepeth.com/benjaminion_xyz

:https://github.com/ethereum/eth2.0-specs/tree/master/specs

:https://github.com/ethereum/eth2.0-specs/pulls?q=is:prsort:updated-desc

:https://github.com/ethereum/eth2.0-specs/commits/master

:https://github.com/ethereum/eth2.0-specs/issues

:https://github.com/ethereum/deposit_contract/

:https://github.com/ethereum/eth2.0-pm

:https://notes.ethereum.org/s/BkSZAJNwX

:https://github.com/ethereum/wiki/wiki/Sharding-roadmap

:https://github.com/ethereum/beacon_chain/issues

:https://www.reddit.com/r/ethereum/

:https://twitter.com/benjaminion_xyz/following

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

金宝趣谈

[0:62ms0-3:239ms