本文内容
跨链桥安全:你真的需要吗?
跨链系统让一条区块链根据另一条链的信息采取行动。这会增加验证、托管、流动性和运营方面的假设。有些设计引入外部验证者,有些验证源链证明或使用本地流动性。正确的问题不只是桥是否经过审计,而是哪些假设可以移动价值、失败时如何限制影响,以及产品是否真的需要跨链移动。
ethereum.org 当前的跨链桥指南区分了外部验证、本地或原生验证、乐观验证、轻客户端和流动性网络等方法。它也强调,没有完美的设计,安全性、连接范围、延迟、能力和成本之间需要权衡。
准备上线跨链功能?
预约免费咨询跨链桥如何造成资金损失?
资产桥通常在接受另一条链上事件的证据后锁定、销毁、释放或兑换价值。证据可能来自外部签名者、预言机网络、轻客户端、欺诈证明流程或已连接链上的交易,因此攻击面取决于具体设计。
- 密钥或治理被攻破。攻击者达到可授权消息、升级或提款的签名或治理阈值。
- 验证或合约失败。链上代码接受伪造、重放或其他无效的消息、证明或状态转换。
- 流动性或经济机制失败。本地验证的转账或流动性网络仍可能面临资金池、定价、库存、relayer 或结算风险。
- 运营失败。即使协议逻辑正确,监控、权限、升级、事件响应、前端或依赖项也可能失败。
并非每座桥都把全部用户价值放在一个合约中,也并非每次失败都有无限的影响范围。应审查实际合约、上限、抵押、路线流动性、升级控制和恢复路径,而不是只看“桥”这个标签。
Ronin、Wormhole 和 Nomad 实际证明了什么?
Ronin,2022 年 3 月。Ronin 报告称,173,600 ETH 和 2,550 万 USDC 被转走。其后发布的安全更新把这次入侵视为分布式网络重要性的提醒,并提出增加独立验证者和提款限额。后续的官方重启公告记录了赔付、审计、治理调整、分级提款、对最大额提款的人工复核、熔断器和每日限额。长期教训是,验证者独立性、权限生命周期、提款政策和检测能力都属于安全边界。验证者或多签数量本身不能说明密钥是否真正独立控制。
Wormhole,2022 年 2 月。Wormhole 的事件报告称,攻击者利用 Solana 端合约铸造了 120,000 枚无抵押的 Wormhole 封装 ETH。漏洞位于对指令上下文的验证,并不能说明 guardian 法定人数签署了欺诈消息。边界处需要验证完整证明和执行上下文,而不只是某个与签名有关的对象。
Nomad,2022 年 8 月。Nomad 的根因分析称,2022 年 6 月升级后,Replica 实现中的错误让未经证明的消息通过身份验证。已初始化的零根与更改后的消息处理检查共同导致 acceptableRoot(bytes32(0)) 返回 true。Nomad 还说明,其 watcher 监控的是 updater 密钥被攻破,而不是合约缺陷导致的可疑行为,所以这次事件没有触发 watcher。升级和监控都应针对多种失败类别进行威胁建模。
历史美元估值取决于代币价格和所选时间点,因此本文在有资料时使用项目报告的代币数量。这三起事件展示了不同的失败模式,并不能证明所有跨链桥损失都有同一根因。
你需要跨链桥吗?
先明确用户结果和必要的结算保证。
- 产品能否留在一条链上?如果用户、资产和交易对手已在同一域内,跨链基础设施可能只增加风险,却没有带来足够价值。
- 是否已有成熟路线?对于 L2,应检查其指定桥和当前风险文档,包括证明或 fault proof 的成熟度、升级密钥、暂停控制、提款延迟和数据可用性。“官方”不等于无风险或不可更改。
- 你需要资产、消息,还是只需要数据?锁定铸造托管、任意消息执行、intent 结算和只读状态验证的安全与流动性要求不同。
- 产品能否提供选择而不是托管?聚合器或第三方路线链接可以减少自建协议工作,但会增加路由、前端、授权和第三方假设,必须披露并监控。
只有现有路线无法满足已记录的需求,并且团队能够在系统整个生命周期内投入安全工程、独立审查、监控、升级和事件响应时,才应自建桥。
如何比较跨链桥的信任模型?
标签只是起点。实现通常混合多种模型,管理员或升级控制可能比宣传的验证方法更关键。
| 模型 | 关键假设 | 代表性失败问题 |
|---|---|---|
| 外部验证者、多签、MPC 或预言机网络 | 阈值诚信、独立托管、密钥仪式、治理和可用性 | 单一组织能否达到法定人数?密钥如何轮换、撤销和恢复? |
| 乐观验证 | 正确的争议逻辑、足够挑战时间、可用 watcher 和可执行响应 | 谁监控每类失败?有效挑战能否及时暂停结算? |
| 轻客户端或证明验证 | 正确的客户端与证明实现、源链假设、升级和数据可用性 | 验证了哪些共识和最终性规则?谁能更改验证器? |
| 流动性网络或 intent 结算 | 链内交易有效性,以及流动性、solver 或 relayer 行为、定价和结算 | 流动性枯竭、审查、重组、过期价格或 solver 失败时会怎样? |
轻客户端验证可以减少对外部签名者的依赖,但并非在每个部署中都自动最安全。客户端缺陷、错误的最终性假设、治理、升级和已连接链仍然重要。应比较已实现的系统及其控制,而不是单个架构标签。我们关于 L1 与 L2 gas 成本权衡的文章涵盖了其中一部分。
上线前安全审查应包括什么?
- 记录资产、消息和权限。识别能影响结算的每个合约、签名者、治理者、升级者、暂停者、relayer、预言机和依赖。
- 说明安全性和活性假设。按路线定义阈值、最终性、争议、数据可用性、流动性和审查条件。
- 同时测试两端和接口。一起审查链上合约、链下代理、序列化、防重放、域隔离、证明验证和故障恢复。
- 强化密钥与权限生命周期。在设计需要时使用独立托管、最小权限、轮换、撤销和经过测试的恢复。
- 限制影响。评估路线和总量上限、速率限制、延迟、熔断、分阶段上线和抵押,同时考虑可用性与治理权衡。
- 监控不变量违规。跨链核对供应量、托管、消息、签名、流动性和异常提款。告警需要负责人和演练过的响应流程。
- 把升级视为安全事件。验证存储与初始化,重跑相关测试和独立审查,分阶段部署并演练回滚或暂停。
- 准备事件响应与用户沟通。明确谁能暂停、如何保存证据、如何禁用路线,以及如何通知受影响的资产或消息。

"跨链桥审查从权限与失败控制开始:谁能让目标链采取行动,当假设失效时,什么能限制损害?"
问答:官方桥还是第三方桥?
没有通用默认选项。指定的 L2 桥可以减少特定父子链路线上的额外验证假设,但仍可能包含升级治理、暂停权、证明系统成熟度、提款延迟或其他限制。第三方桥可能提供更快或更广的路线,同时引入外部验证者、solver、流动性或不同合约。应比较当前的路线级文档,并向用户披露假设。
问答:多签足以保护跨链桥吗?
多签可以是一项控制,但其阈值不能证明独立性、托管质量、监控或失败控制。应审查每把密钥由谁控制、单一组织能否达到法定人数、权限如何到期,以及有效阈值签名周围有哪些上限、延迟、暂停和告警。
问答:审计能保证跨链桥安全吗?
不能。审计只为特定范围、版本、环境和时间提供证据,不能保证未来升级、密钥托管、治理决策、链行为、流动性或运营。Nomad 报告称,相关代码更改在审计期间已包含,随后才部署。这说明精确版本、修复验证、部署控制和持续监控都很重要。参见我们的审计前安全清单。
问答:初创公司应该自建跨链桥吗?
通常只有当跨链验证或结算是核心差异化产品,而且现有路线无法满足已记录的需求时才值得自建。否则,留在单链或集成经审查的路线可以避免持续的重大安全义务。如果必须自建,应把它作为需要全生命周期负责人的安全关键基础设施来预算,而不是一次性功能。参见我们的区块链工程服务和术语表。
最终思考
跨链安全是一项系统决策。Ronin 展示了验证者访问与权限风险,Wormhole 展示了验证上下文风险,Nomad 展示了升级、初始化和监控覆盖风险。这些事件都不能证明所有桥有同一根因,也不能证明某个架构标签能消除全部信任。
先从用户需要的结果出发。如果跨链移动确有必要,就按路线记录已实现的验证模型、治理、升级、流动性、限制、监控和事件响应。选择满足需求的最小额外假设集合,并在价值依赖这些假设的整个期间持续验证和运营它们。