什么是以太坊
什么是以太坊?一千个人有一千个答案,而本文想探讨的是最为一致的答案,即以太坊的协议是什么?或用更技术地描述——如果要开发以太坊的客户端(PoW链/ETH1),我需要依照什么规则?
你没法找到一份规范描述以太坊当前的共识规则,因为以太坊的协议是通过增量更新来描述的。以太坊黄皮书描述了创世时的完整协议,而每一次协议变更都称为一次硬分叉(当然,也有人尝试用「网络升级」这个表述),需要所有的客户端更新代码。简而言之,以太坊通过硬分叉来实现协议层的变化,变化的最小单元被称为以太坊改进提案(EIP,EthereumImprovementProposal),一次硬分叉包含一组以太坊改进提案。本文将回顾以太坊的历次硬分叉及其中包含的改进提案,试图展现过去的七年中以太坊究竟做了什么
PeopleDAO多签钱包被攻击,损失76枚ETH:3月12日消息,PeopleDAO推文显示,PeopleDAO 在数字资产管理平台 Safe(原 Gnosis Safe)上的社区金库多签钱包在3月6日发放月度贡献者奖励时,被黑客通过社会工程攻击盗取 76 枚 ETH(约 12 万美元)。该事件与 PEOPLE 代币合约无关。PeopleDAO 通过 Google Form 收集每月贡献者奖励信息,会计负责人在 Discord 公共频道中错误共享了一个具有编辑权限的链接,黑客通过该链接获得编辑权限后,在表格中插入一笔支付 76 枚 ETH 给自己地址的付款,并将其设置为不可见。由于该恶意隐藏,团队领导在复查时没有发现,在下载带有 insertef 数据的 csv 文件后提交到 Safe 的 CSV Airdrop 工具进行奖励发放。由于交易中有 80 笔转账,9 个多签账户中有 6 个没有注意到恶意转账,在签署并执行交易后,76 枚 ETH 转入黑客地址。
在慢雾与 ZachXBT 协助下,团队发现被攻击资金已存入 HitBTC 和币安两个交易所,并与两个交易所进行联系。此外,PeopleDAO 已向美国联邦调查局(FBI)和联邦贸易委员会(FTC)报告通过此次案件,并将继续与多方合作,追回损失。PeopleDAO 表示,若黑客在接下来 48 小时内归还被盗资金,将向其提供 10% 的白帽赏金。[2023/3/12 12:58:36]
ConstitutionDAO更改退款要求,按照持有PEOPLE代币数量退款而非按照快照退款:11月22日消息,去中心化自治组织ConstitutionDAO更新了退款要求,该组织原本根据用户持有的PEOPLE代币余额快照来退款(快照之后无需持有PEOPLE代币),后来又改为需要持有PEOPLE代币,以原始兑换率(1枚ETH兑1百万枚PEOPLE)退款。PEOPLE代币的价格在快照之后大幅下跌,该组织更改退款要求之后,PEOPLE代币价格大幅回升。[2021/11/22 7:04:01]
历次硬分叉介绍
概况
以太坊的历次硬分叉可以通过此页面查看。自2015年7月30日上线起,共进行了14次硬分叉,包含39个EIP。间隔最近的两次硬分叉是26天,间隔最远的两次则是490天
ConstitutionDAO (PEOPLE)24小时交易量超4300万美元:11月26日,据Uniswap数据显示,ConstitutionDAO原生Token PEOPLE24小时交易量已达4370万美元。[2021/11/26 12:34:32]
硬分叉分为「主动升级」和「被动升级」。主动升级指的是开发团队主动对以太坊协议的修正,而被动升级则是「不得不」采取的行动,以应对潜在的安全性风险。被动升级至少包括「DAOFork」、「TangerineWhistle」、「SpuriousDragon」、「MuirGlacier」、「ArrowGlacier」、「GrayGlacier」此外,多次主动升级也包含了推迟难度炸弹的选项
硬分叉是如何达成共识的呢?尽管关于硬分叉的协商并无成文规定,而是依照某种社区管理进行,但其流程发生过一次变更,标志性事件是MartinHolstSwende提出了「以EIP为中心的升级」。
代表性硬分叉解读
历次硬分叉背后蕴含着一些代表性事件,颇具戏剧性,包括DAO分叉、上海DOS、双堡奇缘和拆弹危机
DAO分叉
DAO分叉事件是以太坊发展过程中最为深远的一次事件。由于theDAO的智能合约被黑客攻击,约360万ether被黑客盗走,但有28天的冻结时间。在这期间,借助Carbonvote,持币者表达意愿,以太坊基金会决定将这部分资金转移到新的智能合约,允许投资者提款。此次分叉产生了EthereumClassic,也引发了大量的社会争论
硬分叉决策流程变更
硬分叉是如何决定的?实际上以太坊长期缺少成文文档,更多依赖「社会共识」。EIP-233试图规范分叉的正式流程,但并未被接受
尽管本文无法展现以太坊社区对硬分叉决策流程的讨论,但以太坊的硬分叉决定流程显然发生过变化。在Berlin硬分叉之前,开发者首先确定硬分叉的时间,再决定要纳入哪些EIP,确定之后再进行实现和测试
不是改变的改变
值得一提的是,以太坊的区块空间上限(Blockgaslimit)并非共识的一部分。矿工有权更改区块空间上限,每个区块的上限变化最多为0.1%。不去硬编码这个数值主要是为了避免潜在的攻击风险
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)等
经济模型
有4个EIP对经济模型有影响,2个降低了新区块奖励,1个调整了难度计算模型(EIP-100),此外引发较多争议的EIP-1559调整了手续费市场
安全考虑
有3个EIP是出于安全考虑的,包括重放攻击保护(EIP-155),状态前缀树清理(EIP-161),合约代码大小限制(EIP-170)
其它
其它EIP还包括网络协议改进(EIP-8),增加交易执行状态接口(EIP-658),增加新的交易类型(EIP-2718)等。此外,EIP-2包含了Homestead的所有更新,较为复杂
总结
本文介绍了以太坊历史上的历次硬分叉,解读了几次硬分叉背后的代表性事件,并详细描述了以太坊硬分叉决策流程向EIP为中心的转变。文章还深入分析了历次硬分叉中的EIP所发挥的作用
以太坊即将迎来新的时代,往事涌上心头,读者朋友,你有何感受?
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。