跨链消息传递系统的抗联盟证明 第一部分
本文深入探讨了LayerZero、CCIP和Across等跨链桥的安全经济学,提出了一个包含联盟、相关性和机制的框架,用于评估和提高桥的安全性。核心观点是桥的安全性取决于打破它所需的最廉价的相关联盟,因此需要购买独立性、支付检测费用和投资未来,使作弊在经济上不可行。
LayerZero(分割式)、CCIP(仲裁)和 Across(乐观式)的博弈论、相关性和机制设计的实践性深入研究
大多数桥并非因密码学失效而崩溃,而是因为经济因素使得一小群相关联的人员同时作弊变得有利可图。如果我们想清楚地推理 LayerZero 的分割证明(独立的 Oracle + Relayer)、CCIP 的 仲裁/DON 以及 Across 的 乐观挑战,我们需要一个框架来捕获以下三个方面:
- 可以串通的战略参与者的联盟,
- 这些参与者之间的相关性(相同的所有者、云、客户端栈、管辖权),以及
- 使勾结在均衡状态下无利可图的机制(stakes,费用,赏金,选择,保险)。
这篇博客为你提供了该框架,然后展示了如何应用它。
为什么这很重要
- 低有效仲裁 ≠ 安全。 几次备受瞩目的桥事件成功的原因在于少数密钥或验证者被控制、泄露或以锁步方式移动。“m-of-n” 只有在 m 个最容易腐败的密钥或验证者不相关时才有用。
- 只有当有人真正观看时,乐观主义才有效。 如果挑战很少或激励不足,单靠 bonds 无法在高价值窗口期间拯救你;检测必须可靠。
- 拆分证明功能强大——但前提是实际上已拆分。 在同一运营商、云区域或社交关系下运行 Oracle 和 Relayer 会悄悄扼杀主要优势。
常见陷阱:
- “我们添加了更多验证者,所以我们更安全了。” 如果他们共享相同的云或所有者,则不然。
- “我们使 bonds 翻了一番,因此风险减半了。” 如果检测仍然很低或攻击者扩大贿赂规模,则不然。
- “乐观主义 = 更便宜。” 仅当观察者激励机制使检测概率保持较高水平时才成立。
1) 一个不等式中的博弈
设 $C$ 为攻击成功必须作弊的最小联盟:
- LayerZero:$C={O,R}$(Oracle 和 Relayer)。
- CCIP:$m$ 中的任何 $t$ 个。
- Across:relayer(以及未在窗口内提出质疑)。
每个 $i\in C$ 都有可以被 slashing 的 stake $S_i$,一个 franchise $R_i=\sum_{t\ge0}\delta_i^t F_{i,t}$(未来费用的 NPV——即声誉),一个内部成本 $c_i$,以及一个条件联盟概率 $p_i=\Pr(\text{others collude}\mid i\text{ colludes})$,它随着相关性而上升。如果攻击者仅在成功时才支付贿赂,则 $i$ 的预期收益为 $b_i p_i$。只有在以下情况下,理性的 $i$ 才会串通
$$ b_i p_i ;\le; q S_i + R_i - c_i, $$
其中 $q$ 是检测概率。对联盟求和并使用攻击者的预算/价值 $V$ 产生威慑条件:
$$ \boxed{;\sum_{i\in C}\frac{qS_i+R_i-c_i}{p_i} ;>; V;}\tag{★} $$
左侧是腐败成本 (CoC); 右侧是风险价值 (VaR)。使 CoC 超过 VaR,理性的攻击者无法支付足够的钱来让联盟背叛你。
如何提高 CoC: • 提高检测 $q$(观察者,赏金), • 提高 stake $S_i$ 和 franchise $R_i$(归属费用), • 降低相关性(从而降低 $p_i$)。
架构镜头。
- LayerZero: 两个独立的条目;如果你真正拆分供应商并降低 $p_O,p_R$,CoC 会迅速跃升。
- CCIP: 攻击者只需要最便宜的 $t$ 项;相关性使这些项更便宜。
- Across: 单个项 $qS+R-c>V$;乐观的系统生死取决于检测。
2) “相关性”的作用
相关性显示在 $p_i$ 中。两个有用的思维模型:
(a) 高斯 copula(对于像 $O$,$R$ 这样的对)。 如果边际 “接受贿赂” 概率为 $u$ 和 $v$,则联合接受为
$$ C_\rho(u,v)=\Phi_\rho(\Phi^{-1}u,\Phi^{-1}v), $$
其中 $\rho$ 是相关性旋钮。随着 $\rho$ 的升高,尾部事件对齐:“我们都说是” 的可能性不成比例地增加,因此条件概率 $p_i$ 升高,你的威慑项 $(qS_i+R_i-c_i)/p_i$ 缩小。
(b) Beta – 二项式 / 类内相关 (对于委员会)。 具有类内相关 $\rho_g$ 的可交换伯努利类型会增加许多验证者一起移动的可能性。攻击者只需要翻转最便宜的 $t$ 个;$\rho_g\uparrow$ 使这些更便宜。
非数学观点: 如果两个验证者共享一个数据中心和一个管理员,他们更有可能一起失败或说 “是”。上面的数学只是量化了这一点。
3) 重复博弈:使用声誉作为真正的抵押品
验证者是企业。良好的声誉是继续赚取费用的权利。在具有不完善监控的无限重复博弈中,“不叛逃” 条件与之前相同:
$$ b_i p_i ;<; qS_i + R_i - c_i. $$
如果你想要宽恕(对 $T$ 期的暂时惩罚),则耐心阈值变为
$$ \delta_i^*(T)=\frac{b_i p_i - qS_i - c_i}{R_i + (b_i p_i - qS_i - c_i)\frac{1-\delta_i^T}{1-\delta_i}}, $$
因此,更严厉/更长的惩罚会降低运营商保持诚实所需的耐心程度。在实践中:将费用归属到 $R_i$ 中,以及可信的驱逐(提高 $q$)将未来变成抵押品。
4) 可组合性:确保路线安全,而不仅仅是跳
实际流程链式机制:LZ 消息触发 CCIP 读取,CCIP 读取通过 Across 结算。考虑阶段 $s=1,\dots,S$,其中阶段级别为 $\mathrm{CoC}_s$ 和 $V_s$。
- OR 组合(任何阶段都会破坏路线):路线 CoC $=\min_s \mathrm{CoC}_s$;你需要每个阶段的 CoC $>V_s$。
- AND 组合(所有阶段都必须中断):路线 CoC $=\sum_s \mathrm{CoC}_s$。
一个实用的工具包是信任图:不可或缺的参与者是边,其权重为 $w_i=(qS_i+R_i-c_i)/p_i$。对于 OR 组合,攻击成本是最小割;首先加强最薄弱的割。
(如果你是视觉型:将路线绘制为 DAG 并用 $w_i$ 标记每个边。移除后断开 source→sink 连接的最小边集是最小割。那是你最薄弱的联盟。)
5) 具体数字,以及 “假设” 和敏感性
设 $V= USD 10M$。为了便于阅读,我们将 $c_i=0$。
LayerZero(拆分 $O+R$):两个角色上的相同 stake 和 franchise
选择 $S_O=S_R=8.5M$, $R_O=R_R=1M$, $q=0.5$。那么每个角色贡献 $(qS+R)=0.5\cdot 8.5+1=5.25M$。
- 低相关性 ($p=0.3$):每个角色 $\frac{5.25}{0.3}=17.50M$;总和 $=35.0M$ ≫ $V$。
- 中等 ($p=0.6$):每个角色 $8.75M$;总和 $=17.5M$。
- 高 ($p=0.9$):每个角色 $5.833M$;总和 $=11.667M$。
- 如果 $p\to0.95$ 怎么办?总和 $\approx 2\times(5.25/0.95)=11.053M$。
- 如果在事件期间 $q$ 降至 $0.3$ 怎么办?每个角色的 $(qS+R)=0.3\cdot 8.5+1=3.55M$。当 $p=0.6$ 时:每个角色 $3.55/0.6=5.917M$;总和 $=11.833M$(仍然 >$V$,但幅度缩小了)。
敏感性(CoC 的导数): $\displaystyle \frac{\partial \mathrm{CoC}}{\partial q}=\sum_i \frac{S_i}{p_i} > 0,\quad \frac{\partial \mathrm{CoC}}{\partial p_j}=-\frac{qS_j+R_j}{p_j^2}<0,$ $\displaystyle \frac{\partial \mathrm{CoC}}{\partial S_j}=\frac{q}{p_j},\quad \frac{\partial \mathrm{CoC}}{\partial R_j}=\frac{1}{p_j}.$ 因此:CoC 对 $p$(相关性)的增加最脆弱,尤其是在 $p$ 已经很小的时候——这正是选择重要的原因。
CCIP(仲裁 $m$ 中的 $t$)
设 $m=7, t=4$。每个验证者都有 $S=3M$, $R=0.5M$, $q=0.5$ → $(qS+R)=2.0M$。攻击者购买最便宜的四个 项 $(2.0/p)$。
- 中等相关性 ($p=0.7$):per = $2.857M$;总和 (4) $=11.43M$ (> $V$)。
- 高相关性 ($p=0.9$):per = $2.222M$;总和 (4) $=8.889M$ (< $V$) → 安全性不足。
如果我们限制同一所有者的节点为 1 并强制客户端多样性会怎样? 经验表明,这会显着降低 $p$;即使 $p$ 降低 0.1–0.2 通常也会翻转不等式。
Across(乐观式)
Relayer bond $S$,$R=0.5M$。检测 $q$ 取决于观察者的赏金。
- 如果 $q=0.3$:需要 $qS+R>V \Rightarrow S>(V-R)/q= (10-0.5)/0.3=31.67M$。
- 如果赏金将 $q$ 提高到 $0.6$:$S>(9.5)/0.6=15.83M$。
如果相关性降低了观察者的可用性(因此在节假日/中断期间 $q$ 会下降)会怎样? 你会想要动态赏金,该赏金会因热门路线/时间而激增,以保持 $q(T)$ 稳定。
6) 使 (★) 成立的机制——而不会破坏产品
具有相关性意识的采购(具有惩罚的 VCG)
运行一个选择拍卖,以相同的预算最大化 CoC。获胜者是那些在 $\rho\le\rho_{\max}$ 的前提下使 $\sum (qS+R)/p$ 最大的获胜者。支付给每个获胜者他们的外部性(标准 VCG);在评分中添加一个简单的相关性惩罚。
## 伪代码草图(链下)
def score(candidate, others, q):
# 从相关性模型估计条件 p_i
p_i = estimate_conditional_p(candidate, others)
return (q*candidate.S + candidate.R - candidate.c) / max(p_i, 1e-3)
def select_committee(candidates, t, rho_max):
# 贪婪的 VCG 风格:选择 t 个在 rho 上限下具有最高边际 CoC 的
chosen = []
while len(chosen) < t:
feasible = [x for x in candidates if corr_ok(chosen+[x], rho_max)]
x_star = max(feasible, key=lambda x: score(x, chosen, q))
chosen.append(x_star); candidates.remove(x_star)
payments = compute_vcg_transfers(chosen) # 外部性
return chosen, payments
为什么这有效: VCG 对于成本/franchise 是真实的;相关性上限是可行性约束。你实际上是购买独立性而不会多付钱。
具有相关性意识的 slashing
使用测量的 $p_i$ 缩放 stake:$S_i(p_i)=S_0\cdot \frac{p_i}{p^\star}$。那么即使相关性漂移,$(qS_i)/p_i$ 的 stake 分量也会稳定在 $qS_0/p^\star$。
function requiredStake(uint256 p_i_bps) public view returns (uint256) {
// 以基点为单位的 p_i;链上参数 S0 和 pStar
return S0 * p_i_bps / pStar_bps;
}
观察者市场 将资金转化为检测 $q$
为有效的欺诈证明支付赏金 $b$。如果观察者作为具有速率 $\lambda(t)$ 和单个成功概率 $q_d$ 的泊松过程到达,则到时间 $T$ 的检测为
$$ q(T)=1-\exp!\left(-q_d \int_0^T \lambda(t),dt\right). $$
提高 $b$ 以提高 $\lambda$;在公共仪表板上显示此信息,以便应用程序在选择快速层之前看到预期的 $q(T)$。
保护隐私 的相关性估计
使用 MPC 通过运营商提供的元数据(提供商、ASN、客户端、地理位置)计算 $\hat\Sigma$。仅发布 $\hat\Sigma$ 和每对 $\widehat{\mathrm{corr}}$,而不是原始数据。
7) 在现实世界中部署它
- 从合理的默认设置开始。 为每个路线选择一个目标利润率 $M^\star=\mathrm{CoC}-V$(例如,20-50%)。使用保守的观察者赏金初始化 $q$;使用 $p^\star$ 在观察到的 $p_i$ 的 第 95 个百分位数处的相关性感知公式设置 $S_i$。
- 衡量正确的事物。 跟踪 $\hat\Sigma$、$p_i$、$q(T)$、按路线的 VaR 以及跨组合路径的最小割 CoC。当利润率低于阈值时发出警报。
- 平稳调整。 使用滞后带更新 stakes/费用,以避免振荡。当 VaR 飙升时,使用紧急控制杆(速率限制,保险启动)。
- 记录独立性。 要求运营商证明所有权/基础设施并通过第三方扫描进行验证;在评分/slashing 中惩罚虚报。
- 需要注意的现实相关性: 云区域中断、跨产品的共享验证者运营商、相同的客户端栈、共享托管/密钥、跨 “独立” 公司的相同法律实体。
8) 我们听到的误解(以及数学如何纠正它们)
- “更多的验证者总是意味着更高的安全性。” 如果他们一起移动,则不然。在 (★) 中,攻击者购买最便宜的 $t$ 项;相关性使这些项更便宜。
- “更高的 stakes 总是意味着更好的安全性。” 仅当检测 $q$ 和独立性 $1/p$ 跟上步伐时才成立。否则,你将停放资本而没有充分地移动 (★)。
- “如果我们有足够的验证者,则相关性无关紧要。” 当你添加表面上多样但系统上相同的运营商时,它变得更加重要;尾部风险会增加。
- “乐观的系统总是更便宜。” 当 $q(T)$ 可靠地高时,它们是。如果不是,则 bonds 会膨胀或风险会增加。
9) 安全边界和验证
绘制 安全性 ($\min_r \mathrm{CoC}_r$)、去中心化(例如,Nakamoto 系数)和 效率 (反向延迟)。在温和的假设下,你会得到一个凸折衷曲线——使用它来发布快速+保险和慢速+便宜菜单,其中包含明确的利润率和预期的 $q(T)$。
以统计方式验证。如果你的 CoC 估计的标准偏差为 $\sigma$,为了以置信度 $(1-\alpha)$ 和功效 $(1-\beta)$ 检测安全缺口 $\Delta$,你需要大约
$$ N \ \ge\ \left(\frac{z_{1-\alpha/2}+z_{1-\beta}}{\Delta/\sigma}\right)^2 $$
观察(模拟 + 事件)。不要根据点估计宣布胜利。
10) 特定于架构的说明
LayerZero(拆分)。 使拆分真正:不同的所有者、云、客户端、地理位置;随机选择;归属费用以提高 $R_i$;使用 $p_i$ 缩放 $S_i$;向用户显示每个消息的 CoC 分数,该分数加总了两个角色。
CCIP(仲裁)。 使用具有相关性意识的 VCG 加上多样性上限;轮换成员;要求客户端多样性;设置 slashing,使得最便宜的 $t$ 总和轻松超过 VaR;发布委员会级别的 CoC 并在其降低时发出警报。
Across(乐观式)。 投资于观察者流动性:在热门时期/路线上激增赏金以稳定 $q(T)$;提供可选的保险以限制尾部风险;如果 $q$ 波动,则限制快速通道或自动提高 bonds。
一句话总结
你的桥的安全性仅取决于可以破坏它的最便宜的相关联盟——因此,购买独立性、为检测付费并归属未来,直到 (★) 使作弊变得不经济。
展望未来
这个框架自然地扩展到 重质押市场、共享排序器 和 跨 rollup 证明:一旦你确定了最小的破坏联盟、塑造 $p_i$ 的相关性以及移动 $q, S, R$ 的旋钮,就应用相同的 (★)。随着新架构的出现,你将不需要新理论——只需要新输入。
行动号召
- 发布你的 CoC。 在链上公开每个路线的 腐败成本 分数。
- 采购独立性。 将委员会选择切换到具有相关性意识的 VCG(即使是贪婪的近似也有帮助)。
- 资助观察者。 使 $q(T)$ 可观察且激励兼容。
- 归属费用。 将声誉转化为真正的抵押品。
附录:快速数学解释(对于非专业人士)
- 为什么要除以 $p$? 如果一旦你说 “是”,联盟的其余部分很可能会加入(高 $p$),那么你的贿赂更有可能支付;我们需要更少的钱来诱惑你。这就是为什么 $(qS+R)/p$ 随着 $p$ 的升高而下降——相关性会削弱威慑力。
- 什么是 copula? 一种将个体风险分开独立地模拟 “一起出错” 的方法。高斯 copula 的 $\rho$ 是一个旋钮:调高它,联合的 “是” 事件变得非常普遍。
- 为什么要有声誉 $R$? 它是你被抓住后失去的所有未来费用的现值。通过归属和可信的驱逐来增加 $R$;它的作用类似于赚取收益而不是闲置的额外 stake。
- 最小割直觉。 在多阶段路线中,攻击者想要通过你的信任图的最便宜的割。计算它,发布它并提高其权重。
- 原文链接: github.com/thogiti/thogi...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~