以太坊基金会博客

Eth 1.x:无状态以太坊峰会回顾

来源 | Ethereum Blog

作者 | Griffin Ichiba

译者序:以太坊无状态峰会于上周EthCC会议之后举行,为期两天。本文是Griffin Ichiba个人对于无状态以太坊峰会的总结,包括一些宏观见解、决策以及会议结果。

 

会议概览

本次峰会为期两天,没有严格的组织形式。第一场会议大家集中在一起,以便探讨一些较为宏观的重要主题,然后分成两三个小组同时进行讨论。期间总共约有30名与会者,小组人数非常适宜,既可以进行深度探讨,还可以轻松地问答交流。当然,这也是一次与“网友”线下会面的机会,并且能够与整个团队建立更人性化的关系。

我认为对于大多数参加此次峰会的人(包括我自己),我们对需要解决的问题和可能的解决方案有了更深的认知。领导Eth 1.x的成员 (Piper、Alexey及其团队) 得以为其他参与者进行讲解,而参与者也能尽情发问,省去了在论坛发帖询问琐碎问题的顾虑。

我之所以强调这一点,是因为这次聚集的主要目的之一就是要更清楚地呈现工作中的机遇和挑战。将工作清楚地解释给感兴趣的人听,以便他们更好地参与进来。我想说的是,峰会在这方面取得了巨大成功,到目前为止我们吸引到了更多人参与Eth 1.x的工作。

 

会议主题

会议可以说是几乎涵盖到了所有主题。大家讨论到了Eth 1.x技术树 (tech tree) 中的大部分问题,并且正如上一节所述,本次峰会的真正目的是将大家聚集在一起,就无状态以太坊的总体方向达成共识。

译者注:Eth 1.x技术树在本系列前序文章《ETH1.x:如何通向无状态以太坊》中进行过专门探讨。

我们需要解决的核心问题是什么?首个要达到的“里程碑”是什么?是否值得为历史见证 (witnesses) 投入精力到零知识方案中?

我整理的会议主题如下:

  • 同步原语
  • 二进制树转换
  • EVM
  • 无状态以太坊中的数据传递
  • 见证规范草案

Alexey评论说,这次峰会的目的是首先处理线上无法协调的事,然后将可以线上解决的事留待完成。相较于线上,分歧更适合面对面解决,并且针对复杂的问题能够更快地做出决策。

因此,除了对讨论的核心主题进行一般性总结和分享之外,还强调对关键决策进行论辩,例如首要工作是什么,或者工作开始之前需要哪些新工具。更重要的是,这次峰会有利于更准确地定义和缩小工作范围,并且为工作的最终成果提供了多个观察角度。

 

会议决策和新方向

再次强调:这只是我个人对峰会进行的记忆转储,我还没有回顾过我的笔记和录音。以下是我个人整理的要点,不按特别顺序排列。这些在会议中讨论得出的新见解将会影响未来的工作走向。

同步方面,具体来说,要推进无状态工作, getNodeData 是必须要进行改动的关键内容。在过渡到二进制树之前,这个问题亟待解决,并且需要所有客户端团队之间的协作。Geth团队的Felix围绕同步开展了卓有成效的讨论,鼓舞人心的是关于同步的替代建议大多数都是殊途同归。优化同步有利于更顺利地过渡到二进制树。

在此之前,大家认为平稳过渡到二进制树需要暂时中断区块链并重新计算新的二进制状态。但新的想法是,如果客户端之间充分协调,那么无需网络中断即可完成过渡。

新想法的融合在一定程度上折衷了先前要为状态建立以太坊专用数据传输网络的计划。首先,我们邀请了更专业的嘉宾来说明要构建一个这样的网络有多难。其次,我们可以通过优化同步来逐步建立这样的网络,而更简易的版本可以立即投入使用(例如仅用于区块头、交易和收据),之后再逐步进行升级。

针对EVM的改动是最复杂的,需要对EVM进行哪些更改以使其兼容无状态以太坊,还没有明确的决策或解决方案。较为棘手的是,许多考虑中的建议都不是达到无状态的必要条件,这就涉及到如何权衡这些额外建议的价值、复杂度以及工作量。我想值得注意的是,无论如何,某些操作的gas费用预计会提高。但对于EVM来说还没有定论,除非获得更多数据,不然我们也无法获知最佳路径。

目前推进中的一些工作是为了提高效率。主要有两种形式:一类是工具,使数据收集和分析更加容易,另一种是资源类,以提高工作效率,例如为新研究人员提供无状态文档。

目前的分歧集中在两个方面:在短期内应该投入多少精力来构建工具以及最需要哪些工具。在接下来的几周内,我们将对技术树进行修缮,使其更能起到代表无状态以太坊计划的作用。这既可以帮助社区了解工作进展,也能提高新成员的参与效率。

如果有任何问题,希望提出新主题或加入无状态以太坊的研究工作,请在ethresear.ch上进行自我介绍,或在Twitter上联系@gichiba或@JHancock。

 

原文链接:https://blog.ethereum.org/2020/03/12/eth1x-files-stateless-summit-summary/