以太坊没有「以太坊公司」来强制大家升级,那新功能、修漏洞、改 gas 规则要怎么落地?靠的是硬分叉:大家约定在某个区块高度一起切换到新规则,没升级的节点就留在旧链上,和主网「分道扬镳」。下面用最直白的方式讲:去中心化下怎么升级、硬分叉是什么、计划内升级和争议分裂有啥不同、EIP 和 ERC 分别管什么、以及为啥 ERC 让钱包和 DEX 能通用对接各种代币。
一、去中心化世界里怎么「升级」?
可以类比手机系统更新:苹果/谷歌推送,用户点安装就行。但区块链没有一家公司说了算,升级是集体行动——全球开发者、节点运营商、用户要协调一致,否则就会有人跑旧规则、有人跑新规则,链就分裂了。
协议升级可能改的东西包括:
- 共识机制:例如以太坊从 PoW 改成 PoS(合并)。
- 交易与费用:怎么验证交易、怎么算 gas,例如伦敦升级引入 EIP-1559(基础费用 + 燃烧)。
- 智能合约能力:给开发者新接口、新 opcode。
- 安全与扩展:修漏洞、为 L2 铺路(如 Dencun 的 Proto-Danksharding)。
这些「大改」通常通过硬分叉在某个区块高度一次性生效。
二、硬分叉是什么?「不向后兼容」= 不升级就脱节
硬分叉就是用一次不向后兼容的规则变更来做协议升级。
- 不向后兼容的意思是:新规则和旧规则差太多,旧软件无法验证新规则下产生的区块。
- 到了约定好的区块高度,所有已升级的节点按新规则跑,继续形成「主网」;没升级的节点只能验证旧规则下的区块,相当于留在另一条链上,和主网从这一刻起分道扬镳。
- 所以硬分叉是一个「不归点」:要么跟上主网升级,要么就永远待在旧链上。
三、谁来决定升级?EIP 与治理流程
以太坊的变更从一份正式的技术提案开始——EIP(以太坊改进提案)。任何人都可以写 EIP,但想被采纳要走过一套开放流程:
- 草案:把想法写成提案,提交给社区。
- 审查:核心开发者和社区讨论、挑毛病、改设计(兼容性、安全、是否破坏现有应用)。
- 最后审核期:定稿前最后一轮反馈。
- 最终:共识达成后,EIP 被接受并排进某次网络升级(硬分叉),在约定的区块高度激活。
核心 EIP(改协议本身)往往要等主网硬分叉真正执行后,才被视为「已最终化」。所有正式提案可在 eips.ethereum.org 查看。
EIP 按改动的范围分类:核心(共识、gas 等)、网络(P2P 等)、接口(客户端 API)、ERC(应用层标准,下面单独说)、元(EIP 流程本身)、信息性(只提供说明、不要求改网)。
四、两种硬分叉:计划内升级 vs 争议分裂
按社区共识程度,硬分叉可以分成两类。
计划内升级(无争议)
大家普遍认为改得好,一起在同一区块高度升级软件,链继续是一条,只是规则换了。例如:
- 合并:PoW → PoS,共识机制大改。
- 伦敦升级:EIP-1559,gas 费结构改革(基础费用 + 燃烧)。
- Dencun(Cancun-Deneb):EIP-4844 Proto-Danksharding,为 L2 降费。
争议性硬分叉(链真的裂成两条)
有一部分人坚决不同意这次变更,拒绝升级。到分叉高度后,升级的人跑新链,不升级的人继续跑旧链,两条链从此共享分叉前的历史、分叉后各走各的。
最著名的例子是 2016 年 DAO 分叉:
- 事件:The DAO 合约被黑,约 1.5 亿美元 ETH 被转走。
- 分歧:一方坚持「链上历史不可改、代码即法律」;另一方认为应视为攻击,通过回滚把资金还给用户。
- 结果:多数社区选择硬分叉,回滚到攻击前状态,抹掉被盗那笔——这条链即今天的以太坊(ETH)。
- 分裂:少数人拒绝分叉,继续跑未回滚的旧链,即以太坊经典(ETC)。ETH 和 ETC 至今是两条独立链。
五、升级实操:谁来做、几步走
一次硬分叉通常经历:
- 提案与共识:想法写成 EIP,讨论到社区足够支持。
- 客户端实现:Geth、Nethermind 等多个独立团队把 EIP 写进各自客户端(客户端多样性能降低「一个 bug 拖垮全网」的风险)。
- 测试:在测试网反复验证,确认无致命问题。
- 激活:定一个区块高度作为分叉生效时刻,提前几周公布,给节点运营商时间升级。
- 分叉:到该高度,已升级节点按新规则出块/验证,未升级节点留在旧链。
真正的决策权在节点运营商:开发者只写代码,跑不跑新软件是每个节点自己的选择;大家都不升级,升级就失败。用户和 DApp 则「用钱包投票」——用哪条链、给哪条链带来价值和合法性。硬分叉也是应急手段:若出现灾难性攻击,社区可以协调一次硬分叉,放弃受损链、保全网络。
六、EIP 与 ERC:什么关系?
- EIP:以太坊改进提案,任何对以太坊网络/协议/接口/应用标准的正式提案都叫 EIP,是「升级的蓝图」。
- ERC:以太坊请求评论,是 EIP 里专门管应用层标准的一类,比如代币怎么转账、NFT 怎么表示所有权。
关系一句话:所有 ERC 都是 EIP,但不是所有 EIP 都是 ERC。ERC 是 EIP 的子集,只管「应用怎么和链、和彼此对话」。
七、ERC 为啥重要?常见 ERC 举例
没有统一标准,钱包、DEX、NFT 市场就要为每个项目写一套逻辑,没法通用。ERC 规定了「同一类东西」的统一接口,所以 MetaMask 能显示各种代币、Uniswap 能交易各种 ERC-20、OpenSea 能展示各种 NFT。
常见 ERC 示例:
| 标准 | 用途 |
|---|---|
| ERC-20 | 同质化代币(可互换),如 USDC、UNI |
| ERC-721 | 非同质化代币(NFT),每个唯一 |
| ERC-1155 | 一个合约里同时管同质化 + 非同质化代币 |
| ERC-165 | 接口检测,合约声明自己支持哪些标准 |
| ERC-4626 | 代币化金库,DeFi 收益金库的标准接口 |
| ERC-712 | 结构化数据签名,方便人读、防钓鱼与回放 |
小结
- 硬分叉 = 不向后兼容的协议升级,在约定区块高度生效;未升级节点留在旧链,与主网分道扬镳。
- 计划内升级:社区共识高,一起升级,链仍是一条(如合并、伦敦、Dencun)。
- 争议性硬分叉:部分人拒绝升级,链裂成两条,共享分叉前历史(如 DAO → ETH 与 ETC)。
- EIP = 以太坊改进提案,从草案到最终、经社区审查,核心 EIP 通过硬分叉落地。
- ERC = 应用层标准的 EIP 子集;ERC-20/721 等让钱包、DEX、市场能通用对接,互操作性靠标准。
没有中心化公司,升级靠提案(EIP)→ 共识 → 硬分叉;应用层统一靠 ERC。这样你就把「链怎么变」和「应用怎么互通」串起来了。