以太坊已经很优秀, 但 Cardano 的方案更先进
我研究链的时候, 最关心的其实就一句: 它会不会被黑。先把话说清楚: 以太坊是一条非常优秀的链——它开创了可编程的通用链, 账户模型的灵活性撑起了整个 DeFi 生态。这篇拿几起真实的安全事故做对照, 想说的是: 同样是要做智能合约和跨链, Cardano 的方案, 我认为更先进。
TheDAO 重入: 结构性隐患, 和结构性答案
2016 年, TheDAO 被抽走约 6000 万美元的以太坊, 直接导致社区硬分叉。漏洞是重入攻击: 账户模型里, “转账给对手"和"更新自己的余额"是两个动作, 中间存在时间差, 攻击者就在这个窗口里反复调用取款函数。
flowchart TB
A[合约转钱给攻击者] --> B[攻击者合约回调<br/>再次取款]
B --> C[因为余额还没扣<br/>第三次取款]
C --> D[账户模型里<br/>存在这种中间态]这个漏洞能存在, 根子在账户模型的共享可变状态: 余额是全局的、可变的, 执行到一半还能被插队。而 eUTXO 的答案是结构性的——一笔交易花哪些旧输出、造哪些新输出, 提交前就写死, 脚本一次性验证通过就结束, 根本没有"取款到一半"的中间态。同样的功能, eUTXO 用"不能随便改状态"换掉了整类漏洞, 这是我认为它更先进的地方。
Parity 锁死: 能改的便利, 和不可变的安心
2017 年, Parity 钱包的库合约被一个开发者误触发 selfdestruct, 价值约 1.5 亿美元以上的 ETH 被永久冻结(后来才通过升级部分解冻)。
事故暴露的是共享库 + 可升级合约模式的隐患: 所有多签钱包共用一份库合约, 库里还藏着升级能力, 库一死, 所有人遭殃。
Cardano 的选择是一旦上链就不可变: 脚本作为交易的一部分被哈希锁定, 没有升级后门, 也就没有"库被改成毒代码"或"库里埋后门"的玩法。对应用层, 能随时改是便利; 但对承载资金的底层规则, 不可变才是更先进的答案——代价是 bug 没法悄悄补, 只能部署新版本让用户迁移。
跨链桥被盗: 核心做小, 才是更先进的架构
这几年最大的几笔被盗几乎都发生在跨链桥, 而不是链本身:
- 2022 年 Wormhole: 约 3.26 亿美元, 签名验证逻辑有漏洞。
- 2022 年 Ronin: 约 6.25 亿美元, 验证者私钥被社会工程窃取。
- 2022 年 BNB Token Hub: 约 5.86 亿美元, 伪造 IAVL 默克尔证明绕过验证, 凭空铸造 2 百万 BNB。
这些事故有个共同点: 桥是第三方建的基础设施, 验证逻辑由桥自己实现, 不归核心链管。要理解为什么, 得看桥的信任结构:
flowchart TB
subgraph 链A[链 A]
A1[资产锁定在合约]
end
subgraph 桥[第三方桥]
B1[一组验证器/轻客户端<br/>监听另一条链]
B2[验证逻辑<br/>由桥自己实现]
end
subgraph 链B[链 B]
C1[铸造等量的封装资产]
end
A1 --> B1 --> B2 --> C1BNB 桥的教训最典型: 它的验证逻辑用 IAVL 默克尔证明, 但证明校验不彻底, 攻击者注入伪造叶子照样通过, 凭空铸出 2 百万 BNB。验证逻辑本身没被实现对——这正是 provable security(可证明安全)要防的东西。
而 Cardano 把"可证明安全"当成了立身之本: 核心共识的安全性有数学证明兜底, 而不是"我们审计过了"的话术。把核心做到小、严、可证明, 把复杂留给第三方——这是我认为更先进的架构。
诚实的一面: 再先进的方案, 也架不住第三方自己的 bug
这里必须说实话。2026 年 7 月, Cardano 生态的 Wanchain Cardano–BNB 桥被盗约 5.15 亿 NIGHT 代币。安全团队 BlockSec 复盘出根因: 桥的 TreasuryCheck 验证器在构造签名消息时, 把 14 个字段不带分隔符地裸拼接, 不同字段组合能拼出相同字节串, 于是攻击者复用一条合法签名伪造提款。
换句话说:核心链安全, 不等于生态安全。再先进的方案, 也架不住第三方自己实现自己的 bug——Midnight 基金会也声明协议本身未受影响。Cardano 能做的, 是把核心做小、做严、可证明, 而不是替所有第三方兜底。
真正的边界
对照下来, 有几类事故其实任何方案都防不住:
- Ronin 式的私钥泄露: 验证者把私钥交出去, 或被钓鱼, 这是密钥管理问题, 不是协议问题。哪条链都不该背这个锅。
- 业务逻辑 bug: 智能合约写错条件, 在 Cardano 上照样可能被盗, 只是"重入、跑马、利用共享状态的算术溢出"这类经典手法不再成立。
Cardano 的设计承诺的不是"永不被黑”, 而是"特定一类经典漏洞, 从结构上不存在"。它把安全上限押在可证明的共识和不可变的合约上, 剩下的边界, 靠人。
优秀和更先进
对照完这几起事故, 我的结论是: 以太坊用自由和速度换来了生态爆发, 这是它应得的成功; Cardano 用结构和稳健, 换来重入、库被自毁、证明被伪造这类经典路径从设计上不存在。两种不同的取舍, 而对一条要承载长期价值的结算层, 我认为 Cardano 的方案更先进。它未必能阻止每一次攻击, 但它保证经典手法打不进来; 剩下的边界, 靠的是人和运营。