智能合约风险、跨链桥与黑客攻击
了解智能合约和跨链桥如何失效,从有据可查的黑客事件中吸取教训,并估算叠加的风险如何削减 DeFi 收益。
您将学到什么
- 智能合约失效的主要方式:代码漏洞、管理员密钥、预言机和升级。
- 跨链桥如何运作,以及它们为何是巨大的攻击目标。
- 三起有据可查的跨链桥黑客事件揭示了哪些不同类型的失效。
- 如何将多个风险层级合并为对预期损失的粗略估算。
讲解
智能合约是存储在区块链上、按固定规则持有和转移代币的程序。骗局和网络钓鱼已在《比特币与加密资产基础》课程中讲解。本课讨论的是另一种危险:协议本身是诚实的,但代码或其设置出了问题。
主要失效类型
- 代码漏洞:例如重入攻击,即合约在更新记录之前就发送资金,使攻击者可以再次调用它并反复提款。2016 年,以太坊上的 The DAO 就以这种方式损失了约 360 万 ETH。
- 管理员密钥:许多协议拥有可以暂停、更改或升级合约的特权密钥。如果密钥被盗或被滥用,即使代码正确,用户也会损失资金。多签(多重签名钱包)需要多个密钥(例如 9 个中的 5 个)才能批准一项操作。
- 可升级合约:代码可以被替换。时间锁会延迟升级,例如延迟 48 小时,让用户可以先行退出。
- 预言机操纵:预言机向合约输入外部价格。如果它读取的是一个交易清淡的市场,攻击者就可以用闪电贷(在同一笔交易中借入并归还的贷款)推动价格,从而欺骗借贷协议。
审计是安全公司对代码进行的审查。它能降低风险,但不能消除风险;数个遭到黑客攻击的协议都经过了审计。
跨链桥
跨链桥在区块链之间转移价值。常见的“锁定并铸造”设计会将代币锁定在链 A 上的合约中,并在链 B 上铸造包装代币。包装代币只是一张借据。如果被锁定的代币被盗,或者有人铸造了没有支撑的代币,包装代币可能会失去大部分价值。跨链桥将大量资金集中在一处,这使它们成为极具吸引力的攻击目标。
| 事件(2022 年) | 大致损失 | 根本原因 |
|---|---|---|
| Wormhole,2 月 | 约 $320 million(3.2 亿美元) | 签名校验漏洞:在没有存款的情况下于 Solana 上铸造了 120,000 枚包装 ETH |
| Ronin,3 月 | 约 $625 million(6.25 亿美元) | 攻击者控制了 9 个验证者密钥中的 5 个(属于运营失误,而非代码问题) |
| Nomad,8 月 | 约 $190 million(1.9 亿美元) | 一次有缺陷的升级使无效消息看起来有效;大量模仿者随之加入 |
教训:风险存在于代码、密钥管理和升级之中。在 Wormhole 事件中,一家关联公司补足了资金;在其他事件中,用户并未得到全额赔偿。赔偿从来都没有保证。
计算示例
假设示例:您将价值 €5,000 的跨链稳定币存入一个 Layer 2 网络上的借贷协议,预期年收益 6%。您为每一层分配粗略的、虚构的年度失效概率:跨链桥 2%,Layer 2 网络 1%,借贷协议 3%,价格预言机 1%。假设条件:各层独立失效;任何一层失效都意味着全部损失;不考虑费用、gas 和税费。
- 没有任何一层失效的概率 = 0.98 × 0.99 × 0.97 × 0.99 ≈ 0.932。
- 至少一层失效的概率 ≈ 1 − 0.932 = 0.068,约 6.8%。
- 预期损失 ≈ €5,000 × 0.068 ≈ €342。
- 预期收益 = €5,000 × 6% = €300。
- 风险调整后的结果 ≈ €300 − €342 ≈ 每年 −€42。
对比:在稳定币的原生链上,将其存入一个风险分别为 1% 和 2% 的更简单协议,失效概率为 1 − (0.99 × 0.98) ≈ 3.0%,预期损失约为 €149,而收益可能为 3%(€150)。每增加一层,都必须物有所值。
常见错误
练习活动
在纸上计算:您考虑将 €10,000 存入一个承诺年收益 9% 的资金池。代币通过一座跨链桥转入(假设年度失效风险为 3%),链本身为 2%,资金池合约为 4%。假设各层相互独立,且任何一层失效都导致全部损失。计算至少一层失效的概率、预期损失以及风险调整后的结果。
显示答案
无失效 = 0.97 × 0.98 × 0.96 ≈ 0.9126。至少一层失效 ≈ 8.7%。
预期损失 ≈ €10,000 × 0.087 ≈ €874。预期收益 = €900。
风险调整后的结果 ≈ €900 − €874 ≈ 每年 €26:为了几乎为零的回报,承担可能全部损失的巨大风险。
局限:真实概率是未知的,失效往往相互关联(一次黑客攻击可能引发其他攻击),而且也可能出现部分损失或部分赔偿。这种方法有助于比较不同结构,而不是衡量真实风险。
要点总结
- 智能合约风险包括代码漏洞、管理员密钥、升级和预言机。
- 包装代币是借据;如果跨链桥失效,它们可能几乎变得一文不值。
- 您每增加一层(跨链桥、网络、协议、预言机),失效的几率都会成倍增加。
- 审计和时间锁能降低风险,但永远无法消除风险,而且黑客攻击后的赔偿没有保证。
下一步
下一课将探讨 NFT 和现实世界资产的代币化:代币究竟赋予您什么,以及风险在哪里。
自测
回答问题后核对答案。你可以随意重试多次。
供您自行复习的自动自测。您的答案在浏览器中核对,我们不会查看或评估。这不是考试,也不是资格证书。
您的进度
“已完成”仅表示您将本课标记为已学完,并不是对您理解程度的测试。 学习进度和笔记仅保存在此设备的此浏览器中,而非账户中。