ProgPoW算法将会如何影响以太坊
扫描二维码
随时随地手机看文章
近日,ProgPoW算法引发了以太坊社区的大量争论,众多社区成员对该提案发表了反对意见,对此,以太坊基金会成员Hudson Jameson撰文表示,ProgPoW是不值得的,并且会因为社区异议的压倒性证据而死亡。
这是他的个人立场声明:
"我一直支持社区想要的任何东西,从来没有对ProgPoW是否应实施有过强烈的意见。我在很多时候都对社区的看法有着错误的了解,而这次辩论就是其中的一次。ProgPoW遭到如此激烈的反对,其主要原因是因为我们在讨论它的过程中没有听到任何声音。我本人,其他组织者和核心开发者之间的沟通也有不足,当然,我们应该听取各方的意见,然而,理想情况下,ProgPoW的命运应该是经过复杂的优劣分析决定的,而不仅仅是因为存在异议。两者都需要考虑,然后在这种情况下决出胜者。这并不是说ProgPoW在技术层面上是完美的,但已完成的审计表明ProgPoW不会在技术层面上降低以太坊的价值。在我看来,ProgPoW是不值得的,并且会因为社区异议的压倒性证据而死亡。
开发社区尽了自己的职责确保这些声音被听到,尽管这种情况不是在理想情况下发生的。我们需要学习如何创建更好的信号系统,并确保每个人都能尽可能地听到。
我已经和因为这场辩论而直接受到骚扰的人们进行了交谈。我认为这是不可接受的,作为一个社区,我们应该谴责这种行为……当我们试图解决棘手的治理和沟通问题时,我们需要进行富有成效的对话,我相信我们能够做到。 "
所以,到底发生了什么呢?
为了更好地了解ProgPoW事件,我们不妨看看他是怎么说的,以下是其文章的大致译文:
ProgPoW算法一直是以太坊社区争论的话题。这篇文章解释了ProgPoW的历史,支持和反对它的各种论点,以及我对这个话题的个人看法,我仅代表我自己(Hudson Jameson),而不代表以太坊基金会或任何其他实体。
ProgPoW的历史
ProgPoW是一种新的工作量证明算法,它的存在是为了替代Ethash,以降低建造专用集成电路(ASIC)的经济激励,而ASIC是一种专为特定目的而设计的高度专业化设备,采用这类设备的情况下,矿工挖取以太币的效率要比传统的GPU挖矿要高地多。而ProgPoW的设计,并不是为了完全阻止ASIC矿机的创建,而是使其建造成本变得高昂,从而不值得去生产。
2018年5月2日,一个自称IfDefElse的半匿名组织将ProgPoW提案作为以太坊的core EIP(以太坊改进提议)进行提交。
IfDefElse和Kristy-Leigh Minehan
IfDefElse是由3位或3位以上开发者组成的团队,他们设计并开发了ProgPoW。IfDefElse唯一公开的成员是Kristy Leigh Minehan(又名OhGodAGirl或Miss If),她曾在以太坊核心开发者会议上公开代表ProgPoW,并在播客及Devcon4大会上谈论过ProgPoW。
EIP流程和以太坊核心开发者会议
EIP(以太坊改进提案)是一类设计文档,其向以太坊社区提供信息,或描述以太坊及其流程、环境的新功能。而EIP有草稿(draft)、已接受(Accepted)以及最终(Final)这几个状态。而需要共识层更改的EIP会被定义为Core EIP。在每两周举行一次的以太坊核心开发者会议上,开发者们会讨论这些Core EIP,并做出决定。这些会议有实时直播,并发布在YouTube上,相关讨论的内容和视频可以在这里查看。
自2016年底以来,我的职责一直是组织和举办核心开发者会议(当然还有其他人的帮助)。我认为自己是社区和核心开发人员之间的联络人,也是确保双方都意识到对方情绪的沟通者。随着时间的推移,我们一直在努力增加更多的角色,以便我们更好地组织流程并使之更加开放。我曾经既是会议的主持人,又是硬分叉的协调员。现在,我们有了专门的硬分叉协调员James Hancock,而Ethereum Cat Herders则负责笔记任务,并执行一些确保会议顺利进行的其它任务。
ProgPoW和以太坊核心开发者会议
关于以太坊核心开发者会议讨论ProgPoW的话题,我能找到的最早时间点是2018年5月18日,这也是开发者们参与的第38次会议。自那时以来,核心开发者会议关于ProgPoW的讨论一直在进行当中。以下是有关于ProgPoW话题的13次会议的清单。
#38 - May 18, 2018
#45 - August 24, 2018
#47 - September 28, 2018
#52 - January 4, 2019
#53 - January 18, 2019
#54 - February 1, 2019
#57 - March 15, 2019
#62 - May 24, 2019
#65 - July 18, 2019
#74 - November 1, 2019
#77 - December 13, 2019
#79 - January 24, 2020
#81 - February 21, 2020
早在2018年底我们决定减产EIP时,ProgPoW就经常被提起。一些人认为,这是矿工接受减产的“筹码”。一些矿工仍然认为,如果双方同意,我们将把ProgPoW放在网络升级中,以换取发行量的减少。事实上,当时我们决定将尽可能全面地调查ProgPoW,但没有承诺实施。这是我们当时讨论的相关片段:https://youtu.be/mAs3JZHroKM?t=2386
ProgPoW被开发者接受
EIP-1将Core EIP的“接受”状态定义为“不太可能发生实质性变化的状态信号,并且以太坊客户端开发人员应考虑将该EIP包括在内。” 这与“最终”状态是不同的,最终状态是指在网络升级过程中在以太坊主网上实现并部署了core EIP。
在2018年12月份的某个时候,核心开发人员Martin Swende与其他人一起构建并部署了Gangnam测试网,测试从Ethash到ProgPoW的过渡将如何工作,以及其他的见解。这些测试成功地证明了ProgPoW不会破坏网络,也就是说,IfDefElse为Geth客户端贡献的代码是奏效的(Geth团队做了一些调整)。
在2019年1月4日的第52次会议期间,ProgPow被“暂时接受,并等待审计”。我决定和ProgPoW一起前进的决定,是在征询开发组意见的情况下做出的,结果是没有人发表意见,这有点像默认接受了该提案,这是不理想的。需要明确的是,一些以太坊核心开发者是赞成ProgPoW的,并且这种观点已经存在很长的一段时间,因此当时无需重申他们的支持。这就是我看到的大家沉默的理由:ProgPoW是一个陈旧的话题,我们只是在寻求不同意见,否则,我们会继续前进。比如某次会议上:
“听起来,我们要做的是暂时尝试ProgPoW,除非是在测试中发现一个重大问题或类似性质的问题,否则我们的意思是继续前进。有没有人感觉不是这样,或者有不同的感觉?好,太棒了。然后,我们将继续ProgPoW……”
(视频中1:24:59开始-https://youtu.be/iSc3TbjZu1k?t=5099)
在之后的一次会议中(2019年2月1日),开发者们决定:
让Ethereum Cat Herders进行第三方审核;
矿工应使用extraData字段开始表决信号;
Ethereum Cat Herders将研究其他方法来帮助解析社区情绪,然后找到做出决定的方法;
然而,一些核心开发者怀疑,这次审计并不会平息社区的担忧,这仍然是一个有争议的EIP。
在这件事发生的时候,我因为一些个人原因,没有像平时那样通过twitter和Reddit向社区传达这些信息。2019年3月下旬,一些社区成员惊讶地发现,这些决定似乎是在没有提醒社区的情况下做出的。我在这个Reddit帖子中谈到了ProgPoW辩论中存在的一些误解,我也在Twitter上发布了这个帖子。
Ethereum Cat Herders开始审计工作
2019年2月1日,在第54次以太坊核心开发者会议上,Ethereum Cat Herders被委任ProgPoW的审计工作并筹集相关资金,然后进行社区反馈分析。审核的目的(然后变成来自两个不同实体的审核)是为了评估ProgPoW开发团队提出的硬件要求,以及在ProgPoW软件实现中查找漏洞及负面影响。
这篇文章提供了更多详细信息以及反馈分析的结果。
2019年初的社区情绪分析
2019年3月下旬,关于社区对ProgPoW的情绪分析报告被发布了。在一个具有很多不同参与者的分散式生态系统中衡量社区情绪,实际是一件非常困难的事情。对于收集的信息,我们选择了几种不同类型的信号进行测量:调查/访谈,币投票以及矿工投票。
当时收集的情绪表明,接受调查的人及参与投票的矿工,都对ProgPoW的实施是非常支持的。而这是一个非常不完善的情绪收集集合。币投票显示,赞成票为2,936,072,反对票只有184,528,ProgPoW的通过率是压倒性的。但是,币投票是容易受到贿选的影响的,很难让社区成员都参与进来。除非我非常关心ProgPoW,否则我为什么要动用冷钱包中的币?由Ethereum Cat Herders 进行的调查,是很容易存在偏见的。而矿工投票,是这次情绪收集中最有说服力的结果。有77.2%的矿工通过在区块中的extraData字段来表示支持ProgPoW。虽然投票已经结束,但一些矿工仍在发出“Yes”的信号,如最近这一区块所示(见“extraData”字段中的“PPYE”)。有一种观点认为,网络中的ASIC矿工参与这一投票会是愚蠢的,因为这会揭示他们是ASIC的本质,并显示出相关的比例。
这很容易忽略掉不同意见的一方。如果没有社区合约可以依靠,通过信号的方式来解决分歧可能会变得棘手。
ProgPoW的软件及硬件审计报告
2019年9月份,关于ProgPoW的软件及硬件审计报告发布了。审计报告推迟发布的主要原因,是因为资金筹集的问题。Last Authority是加密货币领域著名的安全咨询团队,他们负责了ProgPoW的软件审计和硬件审计,主要负责人是英特尔前研究员Bob Rao,报告链接在这里:https://medium.com/ethereum-cat-herders/ProgPoW-audits-released-ed4973ebe073
这次审计引起的主要关注是算法中Keccak函数的修改设计。审计的另一个发现是,Ethash和ProgPoW都容易受到所谓的“轻评估方法挖矿攻击”的影响。
审计报告发布后,以太坊核心开发人员因为忙于伊斯坦布尔网络升级,而无暇关注ProgPoW。我相信核心开发人员对于谈论这个话题已经感到了厌倦,并在等待某人采取积极行动来实施该计划。应该注意的是,关于ProgPoW,社区的确有一些讨论,但其它以太坊事件在1-2周内迅速将其掩埋。
在2019年11月1日的第74次开发者会议上,ProgPoW再次被拿出来讨论。这次是为了回答有关是否为EFI(符合纳入条件)的问题。EFI是这样一种状态,在这种状态下,Core EIP会被认为是一个好主意,并由核心开发人员进行进一步的调查、编码。
2019年12月13日,在第77次开发者会议期间,ProgPoW正式进入了EFI状态。
近期的发展
在2020年2月21日的第81次以太坊开发者会议上,ProgPoW的话题再次被提出,此后争论开始发酵:
我们提出了一个关于BLS预编译网络升级的提议,这将被称为柏林(Berlin),然后在之后一个月,会有一个只包含ProgPoW的分叉。请注意,这不是最终的决定,而是仍然需要经过讨论的;
会议中有部分核心开发者担心社区情绪是反对ProgPoW的;
当时,在我和硬分叉协调员James Hancock看来,ProgPoW会导致网络分叉的可能性是很小的;
我们讨论了是否用Hudson的个人推特来传播ProgPoW在某个特定日期上线的消息,当然也有声音提出用Ethereum.org的博客,但我的反驳是:“这样做会使得这一方案看起来得到了以太坊基金会的认可,但实际上并没有这回事情。 Geth团队虽然是由基金会资助的,但其在这些类型的决策方面拥有自主权。”
作为硬分叉协调员,James Hancock努力地听取每个人的观点及不满,并表示任何有意见的人都可以去找他;
我们曾一度决定在Ethereum.org博客上发布一篇博文,以确保每个人都知道关于ProgPoW的事情。
此后,来自社区的争论不断爆发。有人提出了一份“EIP-2538:反对激活ProgPoW立场声明”草案,其中附有反对将ProgPoW纳入以太坊的签名者列表。后来,还有一封发给核心开发者的匿名信,信中表明其支持ProgPoW的立场,而其签名是“以太坊忠实的投资者、矿工和支持者”。
关于ProgPoW的利弊分析
我一直在收集赞成和反对ProgPoW的论据,这些论点并不反映我的个人观点。值得注意的是,我忽略了任何我认为是阴谋论的东西。
动机1: 根据以太坊白皮书和黄皮书(第13-14页),以太坊被设计为具有ASIC抗性。
反驳:尽管抗ASIC是以太坊最初的设计目标,但实际很难防止矿业形成反竞争的规模经济。此外,还需要探索比ProgPoW更具争议的其他算法,例如SHA3。
动机2: ProgPoW可以改善以太坊的去中心化,因为个人的GPU可以有机会参与挖矿,防止少数大型公司垄断挖矿,这有效分散了算力;
反驳:该论点假设ASIC不会出售给普通人,而之前的证据否定了这个说法(请参阅Antminer E3)。
针对反驳的反驳:廉价的电力可以驱动挖矿和去中心化,使用E3 Ethash ASIC 矿机每千瓦时支付13美分的普通人,与使用RX580 GPU卡每千瓦时支付1美分的矿工,在成本上是不匹配的。
动机3: 自成立以来,主要由矿工和爱好者组成的社区一直在支持以太坊,应该要尊重矿工投票的意愿。
反驳:矿工是为保护网络安全而获得奖励的服务提供商。尽管他们是社区的一部分,但他们不应该是这场辩论中唯一的利益相关者。矿工的投票只能通过算力计算,无法区分算力较低的单个矿工以及控制大量矿机的大矿工。
动机4: 如果ASIC激增,1-2个实体就可以执行例如双花这样的攻击。由于系统要转向PoS,他们有这种动力。
反驳:目前的GPU矿工无法证明是无私的,因此他们具有破坏网络的相同动机。他们在生态系统中的行为并不一定反映他们将如何以Eth 2.0的方式行事。以太坊的难度炸弹会使任何矿工都难以抵挡系统转向PoS的过程,因为一旦难度炸弹发生了,他们就需要分叉链并移除难度炸弹,以创建一个可盈利的链。
动机5: 顶级以太坊GPU矿池的身份是已知的。随着ASIC在网络中的扩散,它将淘汰掉GPU矿池。如果矿机商开发了一个秘密ASIC,我们将无法追究可能攻击网络的实体的责任。
反驳:由于轻评估(Light-EvaluaTIon)挖矿攻击在Ethash是一个已知的漏洞,ASIC制造商只要能够生产出性能良好的ASIC,就有一个公平的竞争环境。ASIC公司之间的竞争将接踵而至,类似于比特币,这并不是坏事。
针对反驳的反驳:这要求创建ASIC的公司具有高级知识,这会使一些ASIC公司处于优势。
动机6:当前的GPU矿池支持Eth 2.0的转换,他们不会攻击网络。Sparkpool为以太坊社区所做的工作等都表明了这一点。如果有一个未知的ASIC矿工秘密地占用了大量的算力,我们就会处于危险之中。
反驳:见针对动机4的反驳。
动机7: ProgPoW在推出时是没有争议的,争议与某些方面直接相关,比如Kristy和IfDefElse,而不是算法本身。这实际上打开了一个威胁向量,你可以创建足够的“FUD”来拒绝你不同意的提议。
反驳:关于ProgPoW的问题一直存在。治理捕获是双向的,因此,如果我们允许ProgPoW通过,那我们就可以让不良行为者捕获开发者的兴趣,并在社区的强烈反对下推动一个提案。
……
(更多讨论可以看原文)
结论(个人观点)
ProgPoW会导致网络分裂吗?
人们一直担心,如果将ProgPoW包含在网络升级中,就会发生有争议的硬分叉,就像创建ETC的那次分叉一样。我在Twitter上看到有一些知名社区成员表示他们会支持该分叉,或者至少不运行包含ProgPoW的以太坊版本。我还看到有杰出的以太坊客户端开发者表示,他们希望避免分叉,我相信,如果要产生一个分叉,会有人从中获利,但是少数分支链会很快消失。由于DeFi和其他链上协议所涉及的知名度和金钱,支持有争议的算法更新对任何人都是不利的,而该算法的更新,主要是由于社区在不太知情或者不愿了解的情况下引起的。但是,无论如何,这仍然是不理想的!我不想看到分叉。
矿工在ProgPoW中的作用
我认为,以太坊GPU矿工的声音是值得倾听的,他们不仅仅是为了牟利的“服务提供商”,我和Ethermine和Sparkpool这两大矿池的运营者进行了广泛的合作。目前,他们掌握的算力大约占全网的51%,而他们在核心开发者社区中是非常活跃的,在网络升级期间,他们为我们提供了帮助。我们无法证明这些实体是利他主义的,但我信任他们,并且相信他们不会攻击网络。
在ProgPoW上达成共识的过程很混乱,这是不理想的。我相信,我们目前主要是在技术专家的领导下运作的,因为没有适当的治理基础可以让社区表达自己的决定。技术官僚主义被定义为“由技术专家精英对社会或产业的控制”,核心开发人员会决定哪些core EIP要纳入网络升级,并且在大多数情况下,讨论和确定的主题,对于社区的大多数成员而言都过于技术化,因此他们无法参与决策。Eric Connor最近就此问题发表了一篇精彩的文章。对于如何解决这个问题,我没有答案,但是我希望,随着时间的推移,我们将能够让尽可能多的人发表意见,从而更好地治理系统。
也就是说,2019年初的情绪收集不再有效,经过近1年的发展,事情已经发生了变化。出于我上面提到的一些原因,社区对ProgPoW是很有争议的。
我的立场
我一直支持社区想要的任何东西,从来没有对ProgPoW是否应实施有过强烈的意见。我在很多时候都对社区的看法有着错误的了解,而这次辩论就是其中的一次。ProgPoW遭到如此激烈的反对,其主要原因是因为我们在讨论它的过程中没有听到任何声音。我本人,其他组织者和核心开发者之间的沟通也有不足,当然,我们应该听取各方的意见,然而,理想情况下,ProgPoW的命运应该是经过复杂的优劣分析决定的,而不仅仅是因为存在异议。两者都需要考虑,然后在这种情况下决出胜者。这并不是说ProgPoW在技术层面上是完美的,但已完成的审计表明ProgPoW不会在技术层面上降低以太坊的价值。在我看来,ProgPoW是不值得的,并且会因为社区异议的压倒性证据而死亡。
开发社区尽了自己的职责确保这些声音被听到,尽管这种情况不是在理想情况下发生的。我们需要学习如何创建更好的信号系统,并确保每个人都能尽可能地听到。
我已经和因为这场辩论而直接受到骚扰的人们进行了交谈。我认为这是不可接受的,作为一个社区,我们应该谴责这种行为……当我们试图解决棘手的治理和沟通问题时,我们需要进行富有成效的对话,我相信我们能够做到。
特别感谢Artem Vorotnikov、Ben DiFrancesco、Charles St.Louis、Collin Myers、Edson Ayllon、James Hancock、Jerome de Tychey、Kristy Leigh Minehan、Mariano ConTI、Pooja Ranjan、Samuel Dare和TIm Beiko花时间审阅本文并提出建议。