一句话总结:首先,我会总的介绍一下EIP流程及其在2019年的调整。然后,我会提出新的EIP流程,其灵感主要源于RFC和W3C流程。
前言:自2016年以来,我一直在参与EIP。我最初是一名贡献者,之后参与“AllCoreDev流程”并承担编辑任务。
现行流程
当前的EIP库中包含两种迥异流程:
规范
全网推行
EIP-1和EIP233定义了这两种流程的部分内容。之后,EIP-2378又在此基础上进行了扩展。
在2019年,有人提议了几处修改,其中与提案状态相关的有4处:
引入“Review”状态
将“Accepted”重命名为“Ready”
引入“Abandoned”状态
移除“Deferred”状态
引入前两个变更的动机相似,但是略有不同。“Review”状态是一个全新的阶段,在这个阶段,提案并不急着实施,虽然已经有清晰的提案、可以接受更广泛的审查。“Ready”状态只是一个小小的增量变化,语气相比“Accepted”更加柔和,但是仍保留EIP-1中的硬分叉流程。
数据:3月份Coinbase的现货交易量为494亿美元,较去年同期下降46%:金色财经报道,据 The Block 的数据,随着加密货币价格飙升,第一季度加密货币交易所的整体现货交易量略有上升,TD Cowen 分析师指出,Coinbase 交易所每月的平均每日现货交易量继续呈下降趋势。我们认为美国对加密银行的监管打击(Signature 和 Silvergate 的 24/7 交易支持网络)可能在这方面发挥了作用。
根据 The Block 的数据,3 月份 Coinbase 的现货交易量为 494 亿美元,比去年同期的 918 亿美元下降了 46%。此外,Coinbase 上一季度来自 USDC 的利息收入为 1.46 亿美元,较上一季度增长超过 100%,尽管全年收入有所下降。这一收入有助于提高本季度交易所的收入。?[2023/5/4 14:40:39]
引入“Abandoned”状态是为了清理很多被放弃的草案。显然,过去未使用的“Withdrawn”状态已经被移除。
由于EIP-233和EIP-2378发生了更改,“Deferred”状态已渐渐变得不合时宜,已经被移除。
还有人提议移除其它关于硬分叉的状态,例如,“Accepted”和“Rejected”。
菲律宾财长:目前即时支付系统运行良好,不需要CBDC:10月9日消息,菲律宾财政部长Benjamin Diokno近期在出席参议院财政委员会表示,采用数字比索CBDC“目前还不值得”。他认为菲律宾已经有了运行良好的数字支付系统,PesoNet和InstaPay这两种电子资金转账服务可以在银行、电子货币发行者和移动钱包之间进行实时支付,作为数字比索的充分替代品。
此外,Diokno证实,在他执掌菲律宾中央银行期间,央行对CBDC发行进行了可行性测试。然而央行最终决定放弃CBDC,并得出结论“(我们应该首先)加强PesoNet和InstaPay。”
来自Chainalysis数据显示,菲律宾在2022年全球加密货币采用指数中排名第二,仅次于越南。(coingeek)[2022/10/9 12:50:47]
请注意,我不会详细解释下图中每个状态的含义。请阅读EIP-1以了解每个极端情况。不过,下文的‘提议流程’会给出合理的解释。”
2019年6月,我们就已经深入讨论过EIP流程的复杂性。如果考虑到每个状态,则整个EIP流程如下图所示:
当时,我自己假设EIP可以从“LastCall(最后一次征求意见)”状态转向“Abandoned”状态,虽然文档里面没有这么写。
OpenSea NFT礼物赠送功能存在“被错误标记为购买交易”问题:金色财经报道,据decrypt消息,Opensea最新上线的NFT礼物赠送功能或存在Bug,这些NFT会被标记为“购买交易”,导致产生混淆。据 Metaverse HQ 创始人“JakeandBake”在社交媒体称,该功能已经被“利用”,让人们觉得许多公众任务正在从各种收藏品中购买 NFT,进而引发市场跟从效应,导致人们被误导去购买某些NFT系列。目前 Opensea 已承认该功能存在问题,但强调这个问题“不是漏洞利用”,而是“数据误解的结果”,该公司在一条推文中补充说: “似乎第 3 方钱包追踪器错误地将这些行为归类为礼物接收者的购买行为。 ”[2022/8/3 2:55:03]
我没有提到的是,有两种流程不同的EIP,而且并非以上所有组合都是有效的。
“核心”EIP的流程如下所示:
这里要特别说明的是,“核心”EIP直到最近才引入“LastCall”状态。
“非核心”EIP的流程如下所示:
2020年5月,我提议了一个更加简单的流程:
该提议的目的是引入“Review”状态,并移除所有协调硬分叉的尝试。这样可以统一“核心”EIP和“非核心”EIP的流程。但是,为了方便起见,我略去了协调硬分叉的部分。
英国央行副行长:加密货币需要类似传统金融体系的监管措施来降低风险:7月11日消息,英国央行负责金融稳定的副行长Jon Cunliffe建议制定一套类似传统金融体系的监管措施,以应对加密生态系统内的风险,同时提高投资者信心。Cunliffe在新闻发布会上提到了Terra崩盘事件,指出无法维持其价值的加密货币给整个加密市场带来了压力。他将自己对加密货币监管框架的想法与传统金融领域的类似情况进行了比较,后者的监管保护投资者免受不可挽回的损失:对我来说,这强调了一个事实,即我们现在需要引入监管体系,以我们在传统世界管理这些风险的方式来管理加密世界中的风险。
虽然承认加密货币“在金融系统中的真正使用潜力”,但Cunliffe表示,对加密货币的监管不需要与传统金融有根本上的不同。然而,在考虑支持加密货币的底层技术时,可能需要以不同的方式应用。
英国央行行长Andrew Bailey强调了国际机构参与加密货币无边界或跨境交易的必要性。Bailey表示,无担保加密货币”没有内在价值,但可以更好地视为一种投资。另一方面,他认为稳定币更适合作为一种支付方式,我认为它们(加密货币和稳定币)需要一个不同的视角,这就是我们在处理方式方面要做的。(Cointelegraph)[2022/7/11 2:05:32]
关于这点,我们已经进行过讨论。但是就像很多在走EIP流程的提案一样,这个提议并未得到推进。
波场联合储备在TRON上增加3亿USDC供应量:6月17日消息,波场联合储备(TRON DAO Reserve)发推称,已在TRON上增加了3亿USDC供应量。目前TRON上的USDC供应量已达28亿美元。[2022/6/18 4:36:11]
引起争论的还有是否应该将“Withdrawn”和“Abandoned”这两个状态合并的问题。在最近的议题中,这一点已经有了明确的解释。
在电话会议上,还有人建议用“Living”一词来代替“Active”。前者或许不是最佳选择,但是听起来优于后者。
硬分叉
我赞成将硬分叉管理和规范管理这两个过程分开。现在看来,似乎有很多人都这么认为。这样可以让流程变得更加简单流畅。
根据全体核心开发者会议上的新消息,现在似乎有一个ETH1.0规范库专门追踪和管理提案,并在所谓的“YOLO”临时测试网上进行测试。
我认为,即使将最后残余的硬分叉流程从EIP库中移除,EIP-233最初的构想依然是合理的:将已有的硬分叉记录到元文档中
然而,人们在EIP-233的最初构想上迈开了一步,规则变成了尽快创建元文档以明确硬分叉的名称,因为不同的客户端使用不同的名称。但是在命名机制得到一致认可后,这个问题就不再是问题了。
最后,EIP-233的构想再次延伸,延伸出了在计划和协调过程中追踪硬分叉的流程。幸运的是,以后这将由ETH1.0规范来处理。
硬分叉发生后,所有数据都记录在“hardforkmetas”中。事实证明,hardfordmetas是一种非常有用的资源。
提议流程
要想站在巨人的肩膀上,我们所能找到的最好资源是RFC流程和W3C流程。尽管这两个流程所涉及的规范通常比EIP大得多,但是我认为我们可以向它们取经。
这里,我从W3C流程借用了一些我个人比较喜欢的术语。不过,上图还给出了其它选择,都是现有术语或提议术语。我个人更倾向于“Candidate”这个术语。
Idea
任何提案在提交以前,都应该有一个深思熟虑的阶段,再提交创建草案的pullrequest。我们可以在EthereumMagicians、ethresear.ch,以及Gitter或Discord上的频道讨论和评议构想。
Draft
假设某个构想引起了人们的兴趣,我们就应该基于EIP模版为其创建草案。只要这个草案符合基本的语法要求,我们就应该将其合并。
问题:关于编辑应有多大的审核提案的权限,人们的观点各不相同,目前还没有明确的答案。如果我们有一个良好的流程来移除不成功的EIP,那么早一点合并草案无疑是正确的做法。
在这一阶段,预期会有一小群感兴趣的参与者对草案进行讨论。
“Draft”状态没有时间限制,但是建议不要超过合理的时间范围。
Candidate/Review
一旦草案足够稳定,预期不会再进行重大修改,就应该进入这一阶段。
在这个阶段,会有更多参与者提供反馈。这时,参与者有理由相信这个规范不会突然发生重大变化,因此他们更有可能投入时间来进行审核和讨论。
这个阶段至少应持续45天,以便收集反馈。
Proposed/LastCall
一旦参与者认为这个规范已经非常稳定,不会再进行修改,就应该进入这一阶段。
在这个阶段,这个规范会被推给更多参与者来征求意见。之后,这个规范就得到最终确定,无法再进行修改。
这个阶段应该持续至少14天。
如果需要进细微调整,可以在不改变当前状态的情况下进行,否则必须回退到“Candidate”状态。
特殊要求:frontmatter中必须带有review-end-date字段。
Final
如果“Proposed”状态的规范成功通过,就会最终敲定下来。
Withdrawn
除了“Final”和“Living”之外,其它所有状态都有可能变成这个状态。
特殊要求:以下几种情况可能会导致“Withdrawn”状态,但是必须带有reason字段:
withdrawnbyauthor:作者在任意阶段做出了撤销决定
withdrawnduetoinactivity:作者在一段特定的时间内没有任何活动。
Living/Active
那些作为注册表的EIP-1以及其它特殊的EIP都会被标记为这个状态,因为它们永远也不会被敲定。
任何新的注册文件必须经历完整的EIP流程,然后才会变成“Living”状态。
Archived
虽然这不是一个状态,但是通过这种方法,可以将撤销了很久的EIP移除,以免堆满EIP库。点击此处,了解详情。
Obsolete
这不是一个状态,而是从RFC那里借鉴的淘汰流程。该流程会引入两个字段:
obsoleted-by:包含一个将当前EIP淘汰的EIP编号
obsoletes:包含一组被当前EIP淘汰的EIP编号
只有在处于Final或Withdrawn状态时,当前EIP才能使用obsoleted-by字段。
只有被引用EIP的“obsoleted-by”字段指向当前EIP时,当前EIP才能带有obsoletes字段。
这就意味着,作为淘汰方和被淘汰方EIP的作者必须达成共识。鉴于有人提议了一个更好的淘汰流程,这一点未来可能会发生变化。
Errata
按照惯例,小的打字错误可由编辑修改。
按理来说,任意能帮助阐明规范的修改都可以接受,只要它不至于使远提案面目全非,因为小的修改可以在Errata部分做出解释。如果需要重大修改,必须淘汰相应的EIP,并重新创建一个EIP。
Remark
以下frontmatter字段被移除,因为它们未经详细说明和/或使用:*replace*superseded-by*resolution
需要这些字段的话,可以再添加回来。
以下状态被移除:*Abandoned*Rejected*Accepted*Superseded
工具
然而,EIP面临的最大挑战是需要人力。
最近,旧版本的格式校验器eip_validator已经换成了更好的版本eipv。另外,我们已经启动了一个机器人来检查过时PR的问题。
虽然有了工具的辅助,编辑和审校依然需要投入大量的人力。如果我们想要让EIP流程变得更加流畅,就要使用机器人来代替真人完成大部分工作。我已经创建了一个新的议题来讨论EIP库需要引入哪些机器人。
有志愿者想要一起实现机器人吗:):)
原文链接:https://hackmd.io/@axic/eip-overhaul
作者:AlexBeregszaszi翻译&校对:闵敏&阿剑
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。