Eth2进展更新(截至2020/02/07)
来源 | What’s New in Eth2
作者 | Ben Edgingtonan
要点速览
跟往常一样,首要推荐是Danny Ryan的《Eth2更新速览》[1],在阅读本文前可以回顾一下。
Eth222临近,如果有兴趣或者最近两周在斯坦福大学周边的读者可以点击此处[2]报名。
Eth2 AMA
以太坊基金会研究团队本周进行了他们的第三次Eth2 Reddit AMA[3]。
关注点主要集中在信标链的发布时间[4]。概括来说,信标链可能会在7月发布,或者非常有希望在今年内发布。作为期望登录信标链测试网的客户端之一的产品负责人(Teku! Teku! Teku!),我对这个预期没有异议,但我们要明白,待到一切准备就绪,自然就水到渠成,而不是依靠一个任意指定的日期。
阶段0:信标链实现
规范正在由Least Authority进行安全审计,预计将在未来几天内发布初步报告,再由以太坊基金会复核之后向大众公布。
到目前为止,v0.10规范版本的稳定性得到了证明,暂未进行较大改动。如果安全审计的结果显示有问题需要解决,那么将会尽快进行更新。
网络
Whiteblock一直在对libp2p gossipsub协议进行一些细致的基准测试[5]:
测试工作的前两个阶段表明,Libp2p Gossipsub协议对于以太坊2.0规范而言表现良好。
但是他们建议后续跟进一些更大范围的测试和实现方面的改进。详细信息参见此处[6]。来自去年的某条推文可能是假新闻[7]。
测试网
Prysm的测试网目前已经超过了20万个slot,拥有35,281个验证者,数量是真正的信标链计划实现的两倍。据称[8],Prysm将继续尝试增加验证者的数量。该测试网最近出现了第一批自愿退出[9]的验证者,这对协议中一个重要部分来说是很好测试。(这个是包含首次自愿退出[10]的验证者的区块)
Lighthouse目前正在重启测试网,目标是运行10万名验证者。
信标链浏览器在提供测试网视图概况方面变现十分突出:beaconcha.in [11](试试深夜模式,点击右下角!) ,包括EtherScan[12],这两个浏览器都显示了Prysm测试网的情况。Alethio目前正在使用以信标节点为中心的网络状态视图eth2stats[13]。
Bitfly (EtherChain、beaconcha.in[14]以及Ethermine的幕后团队[15]) 也在切实向前推进。他们已经添加了一种功能,用以估算验证者将何时被激活[16],并且正致力于开发一种验证者停止工作时[17]的提醒服务。不仅如此,他们还建立了一个 Eth2知识库[18]。虽然目前只有一个术语表,但这是一个良好开端。我感觉 EtherChain通常被当做Eth1的第二选择,但也许他们的目标是成为Eth2的首要选择。
与此同时,Nimbus团队首次实现在移动手机端安装Eth2测试网[19]。他们已经建立了如何在安卓系统中安装Nimbus客户端的文档[20],因此读者也大可一试。除了手机,这[21]才是Status团队的Jacek想要[22]在移动端运行Eth2验证者的地方。
BLS 签名
随着v0.10.0规范的发布,这种全新的、标准化的数字签名生成方式已经被采用。
关于标准化的说明。在这之前,Eth1在多个候选者中最终采用了SHA3哈希标准 keccak256。不幸的是,在以太坊采用的Keccak和最终发布的标准之间,发生了一个非常小的改变[23],这意味着Eth1的哈希不再匹配SHA3标准。这个问题不算严重,但是有点恼火,主要是这可能会影响互操作性。
对于以太坊2.0来说,历史可能会重演。Hash-to-curve标准相关工作仍在进行中[24]。虽然我们之前认为它已经达到稳定状态,但它可能会产生一些变化[25]。这不会对以太坊2.0造成任何破坏,但是如果此标准最终偏离我们的预期,则可能会影响与其他链的互操作性。
除此之外,Shigeo Mitsunari发布了[26]Herumi库[27],这是该标准在通用库中的首次高性能实现。
阶段1:分片实现
针对阶段1规范[28]进行了微小更新,即移除[29]了分片区块的chunking(分块)。
尽管发生了一些小变动,阶段1规范已经准备好迎接审计。
阶段2:执行环境
关于阶段2的最终设计,目前仍存在大量研究和讨论。基本的大方向是高度一致的,然而在精准定义执行环境之前,还有巨大的设计空间有待探索。
Quilt团队撰写了[30]一篇关于ETH跨分片转移的文章,启发自Vitalik在ethresear.ch上发表的相关帖子[31]。
Vitalik提议在执行环境中延迟区块打包[32],以此作为一种抗审查机制。
常规电话会议
🔽 实现者会议
2月6日进行了第33次会议。
会议日程[33]
会议视频[34]
我的速记[35]以及Mamy的笔记[36]
话题除了最近的常规客户端更新和规范,我们还讨论了为分叉选择规则创建参考测试(reference tests)。
6个月前,我做过这种预测[37]:“围绕以太坊2.0的阐释性文章无疑会如同雨后春笋一般涌现。” 目前的状况正是如此!我在eth2.info[38]中放了许多链接,但此次电话会议中还涉及到一些更重要的工作。
首先,Quilt 团队已经宣布关于Eth2的书籍正在由Kelvin Fichter领导撰写。这是一次将以太坊2.0方方面面进行文档化的大胆尝试。我们的目标是在接下来的三个月内完成前五章。
其次,Protolambda正在撰写如何从零搭建信标链客户端[39]的有关文章。已经有多人参与其中,包括Leo,他在此次电话会议中提到他希望EthBarcelona[40]在今年5月完成初版草稿。
🔽 Networking
1月29日进行了第三次networking电话会议。此处是我的笔记[41],其中包含Protocol Labs的重大更新[42]、有关discv5节点恢复协议的讨论、对当前测试网的回顾,以及一些时间同步方面的工作等等。
🔽 Eth 1.x
Griffin Ichiba Hotchkiss在以太坊基金会博客发布了一篇非常不错的阐释性文章,主题是实现无状态以太坊1.0的路径。我们之前多次强调,实现“无状态”对是Eth2成功与否的关键因素,也是未来将Eth1并入Eth2的先决条件。
据称,下一次无状态以太坊电话会议将会于2月25日16:00(UTC)举行。
研究工作
Alex Vlasov仍然在思考如何使Eth2的时间协议具有拜占庭容错性。他的最新文章《时间在拜占庭环境中即公共服务》[43]。
其他新闻
Prysmatic Labs[44]和Lighthouse[45]都发布了进展更新。近来各个团队都一直疯狂致力于优化工作(我们的团队PegaSys也是如此)。
上周阐释性文章推荐:
🔶Alethio团队的Alex Tudorache :A Validator’s Journey Through the Beacon Chain (验证者的信标链之旅)[46]
🔶 Jim McDonald对Eth2的网络健康指标[47]提出了一些建议。
🔶 Rocketpool基于他们的文章[48]制作了一个运行信标链验证者[49]的视频教程(作为Trust-Less会议的一部分,下面会提到)
🔶 上周举行了Trust-Less虚拟会议,其间有一些关于Eth2的演示。Prysmatic Labs的Terence在会议上针对信标链和Prysm客户端做出了概述[50],之后Collin Myers以Eth2验证者经济学[51]做了主题演讲。
最后的最后
上周是Vitalik的生日,我给我的家人了播放这个Vitalik鼓掌[52]的视频。我真的错了,直到现在他们已经哼唱了一整周,对此我已无能为力。还好他们没发现这个10小时的版本[53]。
一定要看看这个视频!但是别怪我没警告过你哦!
原文链接:https://hackmd.io/@benjaminion/wnie2_200207
转载请注明:ECN以太坊中国
相关链接:
[1] https://blog.ethereum.org/2020/02/04/eth2-quick-update-no-8/
[2] https://www.eventbrite.com/e/eth-222-tickets-90667602239
[3] https://www.reddit.com/r/ethereum/comments/ez972u/ama_we_are_the_eth_20_research_team_pt_3/
[4] https://www.reddit.com/r/ethereum/comments/ez972u/ama_we_are_the_eth_20_research_team_pt_3/fglqao2/
[5] https://whiteblock.io/testing-gossipsub-with-genesis/
[6] https://github.com/whiteblock/gossipsub-testing
[7] https://twitter.com/DeanEigenmann/status/1137032627230089216
[8] https://twitter.com/terencechain/status/1225862506117156864
[9] https://beacon.etherscan.io/validators#exited
[10] https://beaconcha.in/block/124256
[11] https://beaconcha.in/
[12] https://beacon.etherscan.io/
[13] https://eth2stats.io/sapphire-testnet
[14] https://beaconcha.in/
[15] https://twitter.com/trent_vanepps/status/1225925911310151680
[16] https://twitter.com/etherchain_org/status/1221122130877779969
[17] https://twitter.com/etherchain_org/status/1224965122017370114
[18] https://kb.beaconcha.in/
[19] https://twitter.com/m_ratsim/status/1224769743892230151
[20] https://our.status.im/building-nimbus-on-android-2/
[21] https://inversepath.com/usbarmory.html
[22] https://twitter.com/jcksie/status/1222915245750063104
[23] https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub
[24] https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/
[25] https://github.com/cfrg/draft-irtf-cfrg-hash-to-curve/issues/202
[26] https://twitter.com/herumi/status/1225322677902049281
[27] https://github.com/herumi/mcl
[28] https://github.com/ethereum/eth2.0-specs/tree/dev/specs/phase1
[29] https://github.com/ethereum/eth2.0-specs/pull/1560
[30] https://hackmd.io/@villanuevawill/H1E1LT_z8
[31] https://ethresear.ch/t/an-even-simpler-meta-execution-environment-for-eth/6704?u=benjaminion
[32] https://ethresear.ch/t/stateless-ees-and-delayed-block-inclusion/6839?u=benjaminion
[33] https://github.com/ethereum/eth2.0-pm/issues/126
[34] https://www.youtube.com/watch?v=c8BhhPfdy0A&feature=youtu.be&t=117
[35] https://hackmd.io/@benjaminion/SyDfdcFGL
[36] https://gist.github.com/mratsim/1e9feaafd81a2dfa5e7106d08fc2848d
[37] https://notes.ethereum.org/@ChihChengLiang/Sk8Zs--CQ/https%3A%2F%2Fbenjaminion.xyz%2Fnewineth2%2F20190802.html?type=book
[38] https://hackmd.io/@benjaminion/eth2_info
[39] https://hackmd.io/@protolambda/BkfhKHxzI
[40] http://ethbarcelona.io/
[41] https://hackmd.io/@benjaminion/HJTHyWyf8
[42] https://github.com/ethereum/eth2.0-pm/issues/124#issuecomment-579740557
[43] https://hackmd.io/@ericsson49/SybaHTcMI
[44] https://medium.com/prysmatic-labs/eth-2-0-dev-update-42-rapid-iteration-7abdd62109e3
[45] https://lighthouse.sigmaprime.io/update-21.html
[46] https://medium.com/alethio/ethereum-2-a-validators-journey-through-the-beacon-chain-843f70aaab2e
[47] https://www.attestant.io/posts/defining-ethereum-2-network-metrics/
[48] https://medium.com/rocket-pool/rocket-pool-beta-v2-node-operators-guide-d2b691822c61
[49] https://www.youtube.com/watch?v=SGSlbEZLk-I
[50] https://www.crowdcast.io/e/trust-less-2020-validator-conf/register?session=23
[51] https://www.crowdcast.io/e/trust-less-2020-validator-conf/register?session=24
[52] https://www.youtube.com/watch?v=7lmNpMSPu0k
[53] https://www.youtube.com/watch?v=rlM7gsUY9Gw