木星链 木星链
Ctrl+D收藏木星链
首页 > USDC > 正文

以太坊:合并前夜 回顾以太坊协议层的七年之变

作者:

时间:1900/1/1 0:00:00

什么是以太坊

什么是以太坊?一千个人有一千个答案,而本文想探讨的是最为一致的答案,即以太坊的协议是什么?或用更技术地描述——如果要开发以太坊的客户端(PoW链/ETH1),我需要依照什么规则?

你没法找到一份规范描述以太坊当前的共识规则,因为以太坊的协议是通过增量更新来描述的。以太坊黄皮书描述了创世时的完整协议,而每一次协议变更都称为一次硬分叉(当然,也有人尝试用「网络升级」这个表述),需要所有的客户端更新代码。简而言之,以太坊通过硬分叉来实现协议层的变化//加威信JQSH996//变化的最小单元被称为以太坊改进提案(EIP,EthereumImprovementProposal),一次硬分叉包含一组以太坊改进提案。本文将回顾以太坊的历次硬分叉及其中包含的改进提案,试图展现过去的七年中以太坊究竟做了什么。

历次硬分叉介绍

概况

以太坊的历次硬分叉可以通过此页面查看。自2015年7月30日上线起,共进行了14次硬分叉,包含39个EIP。间隔最近的两次硬分叉是26天,间隔最远的两次则是490天。

硬分叉分为「主动升级」和「被动升级」。主动升级指的是开发团队主动对以太坊协议的修正,而被动升级则是「不得不」采取的行动,以应对潜在的安全性风险。被动升级至少包括「DAOFork」、「TangerineWhistle」、「SpuriousDragon」、「MuirGlacier」、「ArrowGlacier」、「GrayGlacier」,它们或处置黑客盗窃(DAOFork),或应对DDOS攻击(TangerineWhistle,SpuriousDragon),或仅仅处置难度炸弹(MuirGlacier,ArrowGlacier,GrayGlacier)。而「主动升级」大致符合白皮书的规划,Frontier(Frontier,FrontierThawing)、Homestead、Metropolis(Byzantium,Constantinople/Petersburg,Istanbul),而Berlin和London则是以太坊线路图变更后的过渡性升级。此外,多次主动升级也包含了推迟难度炸弹的选项。

加密研究员:“以太坊信标链区块重组”情形在合并之后不会发生:5月29日消息,对于在5月25日以太坊信标链发生7个区块的重组,加密研究员Barnabé Monnot发布文章分析表示,这种情况在以太坊实行POS后不会发生。重组突出了动态可用链的一个失败案例,这在理论上是可能的,但实际上是不可想象的,就像长期重组在工作量证明中是可能的,但在实践中很少见到(除非是敌对行为)。因此,必须认识到,目前重组的促成因素纯粹是偶然的。如果所有验证节点都运行相同的配置,问题就不会发生,特别是合并之后不会发生。因为所有验证节点都必须在合并之前进行硬分叉,否则会被完全排除在共识之外。

此前消息,以太坊预测平台Gnosis创始人Martin K?ppelmann表示,大约2.5小时前,以太坊信标链经历了7个区块的深度重组。这表明应该重新考虑当前节点的证明策略,V神文章的“重组稳定性将在POS中优于POW”的观点分析过于乐观。多年来,我们还没有在以太坊主网上看到7次区块重组。目前还不清楚重组是由攻击引起的,还是只是网络状况。[2022/5/29 3:48:46]

硬分叉是如何达成共识的呢?尽管关于硬分叉的协商并无成文规定,而是依照某种社区惯例进行,但其流程发生过一次变更,标志性事件是MartinHolstSwende提出了「以EIP为中心的升级」。这种新的硬分叉协商机制首次在Berlin升级使用,并避免了一次大型失误,细节将在后文中介绍。

专注1.0和2.0合并的以太坊开发者测试网已启动:10月9日消息,ConsenSys 研究员、以太坊 2.0 开发者 Ben Edgington 在 HackMD 上What’s New in Eth2资料库中,更新了关于合并(The Merge)的最新进展,称在希腊的研讨会(Workshop)期间,Eth1 和 Eth2 团队、以太坊基金会研究团队、ConsenSys Quilt R&D 和 ConsenSys TX/RX 团队致力于实现长期存在的、多客户端合并的 DevNet (开发网),目前包含 3 个 Eth 1 客户端(执行客户端)和 4 个 Eth 2 客户端(共识客户端)的 Eth1-Eth2 合并开发者测试网,已经通过了从工作量证明机制(PoW)到权益证明机制(PoS)的转换,并且正在运行和处理事务。[2021/10/9 20:16:03]

代表性硬分叉解读

历次硬分叉背后蕴含着一些代表性事件,颇具戏剧性,包括DAO分叉、上海DOS、双堡奇缘和拆弹危机。

DAO分叉

DAO分叉事件是以太坊发展过程中最为深远的一次事件。由于theDAO的智能合约被黑客攻击,约360万ether被黑客盗走,但有28天的冻结时间。在这期间,借助Carbonvote,持币者表达意愿,以太坊基金会决定将这部分资金转移到新的智能合约,允许投资者提款。此次分叉产生了EthereumClassic,也引发了大量的社会争论。

Circle已向美国SEC提交S-4表格,其中包含合并SPAC信息:美国SEC披露的文件显示,Circle于8月6日向美国SEC提交S-4表格,S-4表格登记与合并或收购有关的任何重要信息。此前报道,Circle完成4.4亿美元融资,并考虑通过与SPAC合并上市。此外,表格中表示,所有已发行和未偿还的USDC代币均由至少等量的高质量美元计价资产支持,这些资产存放在美国受监管金融机构的隔离账户中,受监管监督和储备管理政策的约束,这些政策旨在始终满足或超过对USDC未偿付的需求。截至2021年3月31日,为客户和USDC持有人的利益而隔离的现金为111.672亿美元。USDC目前支持ETH、Algorand、Solana、Stellar和Tron区块链。

Circle计划在2021年第三季度推出的DeFi API将允许机构进入由去中心化金融(“DeFi”)驱动的新贷款市场。借助DeFi API,机构将能够自动将USDC流入第三方DeFi借贷市场,以通过实时应计和赎回赚取收益,包括特定于协议的治理代币,并在Circle的可信账户基础设施内进行管理。[2021/8/9 1:43:13]

上海DOS

在Devcon2期间,以太坊核心开发者们齐聚上海,但以太坊网络却遭遇了大量的网络流量攻击,造成了拒绝服务(DOS)。由于EXTCODESIZE操作码所消耗的实际系统资源远高于攻击者所需支付的手续费,攻击者反复调用该操作码,造成全网大多数节点无法追上最新区块。开发者们一面协调矿池和全节点启用受影响较小的Parity客户端,一面协商降低区块gas(从5M降低至1.5M)。最终,借助TangerineWhistle和SpuriousDragon两次硬分叉调整了相关操作码的价格,并做了状态清理,才缓解了DOS攻击的影响。这次硬分叉还带来了后续影响,由于对EIP-161(纳入在SpuriousDragon中)的实现不当(Go-ethereum和Parity各自错误地做了实现),造成了共识分叉。

动态 | 摩根大通正在商讨将其区块链部门Quorum与ConsenSys合并:2月11日消息,据知情人士透露,摩根大通公司(JPM.N)正在商讨将其区块链部门Quorum与以太坊开发商ConsenSys合并。据悉,这笔交易很可能在未来六个月内正式宣布,但财务条款尚不清楚。目前全球约有25人在Quorum团队中工作,尚不清楚他们是否会在合并后加入ConsenSys。(路透社)[2020/2/11]

双堡奇兵

你也许会好奇为什么在7280000高度会有「君士坦丁堡」和「彼得堡」两个分叉,仔细观察会发现两者的差别就在于「彼得堡」移除了EIP-1283。

根据ChainSecurity的报告,EIP-1283会为部分合约引入重入攻击的风险。TrailOfBits给出了更详尽的分析并提供了可能受影响的合约列表。在硬分叉激活前32小时,以太坊基金会发文提醒节点升级或降级以推迟君士坦丁堡升级,随后发布新版本引入彼得堡硬分叉,客户端需要将「双堡」配置在同一块高或禁用君士坦丁堡硬分叉。

拆弹危机

为什么MuirGlacier和Istanbul两次硬分叉之间只有26天,这是因为核心开发者们错误计算了难度炸弹的bao时间,导致在Istanbul中未纳入推迟难度炸弹的提案。等到发现难度炸弹即将要对网络产生影响时,第76次核心开发者会议迅速接受了EIP-2384,并纳入到MuirGlacier硬分叉中。

动态 | 日本Zaif和FISCO加密货币交易所将于2019年中旬合并:据Crypto Watch消息,FISCO加密货币交易所有限公司目前经营着Zaif和FISCO两家加密货币交易所,但计划将在2019年中旬将两家交易所合并。该公司先前有表明想要将两家交易所合并以结束一个持牌公司运营两家交易所的特殊情况,但在最新的有价证券报告书中公布了这一具体实施时间。[2019/4/10]

硬分叉决策流程变更

硬分叉是如何决定的?实际上以太坊长期缺少成文文档,更多依赖「社会共识」。EIP-233试图规范分叉的正式流程,但并未被接受。

尽管本文无法展现以太坊社区对硬分叉决策流程的讨论,但以太坊的硬分叉决定流程显然发生过变化。在Berlin硬分叉之前,开发者首先确定硬分叉的时间,再决定要纳入哪些EIP,确定之后再进行实现和测试。Berlin前的每次硬分叉都是一个MetaEIP,例如Istanbul硬分叉通过EIP-1679定义(简称HFM-1679)。

MartinHolstSwende提出了EIP为中心的硬分叉流程,其核心观点是将EIP的接受与硬分叉剥离,核心开发者聚焦于单个EIP的认可、实现和测试,当单个EIP被接受后,后续的硬分叉可选择纳入该EIP。尽管在写作过程中尚未找到该流程是如何被以太坊核心开发者接受的,但是Berlin硬分叉弃用了HFM-2070,而是采纳了Martin提出的流程。

决策流程的变更很快就发挥了作用,在Berlin硬分叉测试网激活前两周,围绕EIP-2315的废留,开发者们展开了激烈的争论并最终移除了EIP-2315。由于新流程的采纳,最后时刻的变更并未对硬分叉造成太大影响,并最终按期进行。更多细节可参考本人撰写的《移除EIP-2315:以太坊柏林升级前的紧急刹车》

不是改变的改变

值得一提的是,以太坊的区块空间上限(Blockgaslimit)并非共识的一部分。矿工有权更改区块空间上限,每个区块的上限变化最多为0.1%。不去硬编码这个数值主要是为了避免潜在的攻击风险。该数值变化的历史可参见MyCrypto撰写的研究报告。

EIP深入分析

这些EIP对以太坊究竟造成了什么影响,又是谁影响着以太坊的决策呢。本文整理了以太坊硬分叉中纳入的所有EIP(不包含元提案),详见链接。

EIP都在做什么

纳入硬分叉的EIP的类型主要包含计费模型变更、新操作码引入、难度炸弹、经济模型、预编译、安全考虑等。

计费模型变更

计费模型变更是数量最多的EIP,共有10个,占25.6%。其通过增减操作码的单价,以平衡gas消耗和实际占用系统资源的不匹配,可消除系统被DOS攻击的隐患,或是有利于特定类型应用的部署。一部分DOS隐患是因为对系统资源的错误估计造成的,EIP-150和EIP-160解决了这个问题;而另一部分DOS隐患则是系统的固有特性,伴随着状态数据增长,访问状态数据的实际资源消耗也随之增长,因此需要定期调整相应操作码的单价,典型的有EIP-1884(我认为写得最好的EIP之一)。

由于以太坊的状态表示模型,计费模型必须定期调整,这是特性,而非故障。

新操作码引入

共有9个EIP为以太坊虚拟机引入了新的操作码(不含EIP-1884),占23.08%。其中比较有影响力的包括EIP-7(DELEGATECALL),EIP-1014(CREATE2),EIP-3198(BASEFEE)等。

难度炸弹

共有6个EIP在推迟难度炸弹,占15.4%。有2次硬分叉伴随着经济模型的调整,即降低新区块奖励。其中有3次仅为了推迟难度炸弹而实施的分叉,即名字中带有Glacier的硬分叉。有关难度炸弹的历史,可见原语里弄的报告。

经济模型

有4个EIP对经济模型有影响,2个降低了新区块奖励,1个调整了难度计算模型(EIP-100),此外引发较多争议的EIP-1559调整了手续费市场。

预编译

有4个EIP将一些密码学操作预编译,因此无需在EVM中执行,提升运行效率。包括EIP-152,EIP-196,EIP-197,EIP-198。

安全考虑

有3个EIP是出于安全考虑的,包括重放攻击保护(EIP-155),状态前缀树清理(EIP-161),合约代码大小限制(EIP-170)。

其它

其它EIP还包括网络协议改进(EIP-8),增加交易执行状态接口(EIP-658),增加新的交易类型(EIP-2718)等。此外,EIP-2包含了Homestead的所有更新,较为复杂。

谁为EIP做贡献

共有43人,77人次参与了这些EIP的撰写,其中参与2个以上(含)EIP的作者有11个。VitalikButerin参与撰写的最多,共17个,占43.6%。MartinSwende和ChristianReitwiessner各参与5个,AlexBeregszaszi和JamesHancock各参与3个,其余人参与的个数均不超过2个。

MartinSwende是以太坊基金会安全负责人,Go-ethereum工程师,EIP为中心的硬分叉流程的提出者;ChristianReitwiessner是Solidity语言的发明者。

另外有趣的是在新的硬分叉流程实施之后,EIP作者的数量发生了显著变化,这或许说明新的流程提高了EIP的参与度。Berlin之前,28个EIP,43人次,平均每个EIP有1.54个作者;Berlin之后,11个EIP,34人次,平均每个EIP有3.09个作者,增长了一倍。

总结

本文介绍了以太坊历史上的历次硬分叉,解读了几次硬分叉背后的代表性事件,并详细描述了以太坊硬分叉决策流程向EIP为中心的转变。文章还深入分析了历次硬分叉中的EIP所发挥的作用以及他们背后的贡献者。

以太坊即将迎来新的时代,往事涌上心头,读者朋友,你有何感受?

在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。想抱团取暖,或者有疑惑的,欢迎加入我们——公众号:枯藤老树新芽感谢阅读,我们下期再见!

标签:以太坊ETHLACBER以太坊硬币可以卖钱么迩尔etherealElement.BlackLibero Financial

USDC热门资讯
GATE:Gate.io 首发上线Startup项目ChainPort (PORTX)及免费认购规则公告(免费瓜分833,333个PORTX)

关于Gate.ioStartup免费空投计划为回馈平台用户,Gate.io上线“免费空投计划”,在Startup区不定期进行区块链项目的免费空投计划.

1900/1/1 0:00:00
比特币:合并和22000美元的比特币——本周比特币需了解的5件事

看涨的每周收盘价使比特币解决已实现的价格,而分析师推测未来几天将出现重大的波动。随着多头成功消除数周的损失,比特币在稳固的基础上开始了关键的一周.

1900/1/1 0:00:00
BTC:盘中宝——美国CPI数据继续上涨 加密市场联动美股暴跌

美国劳工部周二公布的数据显示,尽管汽油价格下降,8月消费者价格指数仍环比上涨0.1%,同比上涨8.3%.

1900/1/1 0:00:00
加密货币:金色晨讯 | 9月10日隔夜重要动态一览

21:00-7:00关键词:MicroStrategy、摩根大通、SBF、Bloccelerate1.MicroStrategy计划出售5亿美元股票.

1900/1/1 0:00:00
GATE:Gate.io 关于暂停 r/CryptoCurrency Moons (MOON) 交易的公告

由于技术配置原因,Gate.io将暂停r/CryptoCurrencyMoons(MOON)的市场交易,具体上线时间将在技术配置完成后另行通知.

1900/1/1 0:00:00
TAL:一周融资速递 | 42家项目获投;已披露融资总额约为9.6亿美元(9.5-9.11)

经Odaily星球日报不完全统计,9月5日-9月11日当周公布的海内外区块链融资事件共42起,较前一周有一定增加;已披露融资总额约为9.6亿美元,较前一周有大幅上升.

1900/1/1 0:00:00