用于预测市场的以太坊质押预言机

本文为机器翻译
展示原文

动机

预测市场正在快速扩张(Polymarket 2024 年交易量约为 90 亿美元,2025 年超过 200 亿美元),但预言机的安全性却未能跟上。现有的预言机(UMA和 Kleros)依赖治理代币来保障经济安全。然而,这种机制已被实践证明存在漏洞:当超过 700 万美元的赌注依赖于市值仅为 5000 万美元的代币时,攻击就变得有利可图。

根本漏洞:线性权益加权投票(巨鲸主导)、可预测的投票者集合(便于协调)以及受治理代币市值限制的安全预算。

我建议采用不同的方法:建立一个以ETH为单位的安全性的预言机,攻击成本与 ETH 的市值成正比,而不是与治理代币的市值成正比。

建筑学

ETH Deposit -> Liquid Staking (Lido/RocketPool/cbETH) -> ~ 2.8 - 3 % APY|Validator Pool (global, single pool for all markets)|VRF Panel Selection (per market)/ \Panel A Panel B <- simultaneous, independent (commit-reveal) (commit-reveal)\ /Compare|A = B -> finalize ( 48 h)A != B -> Panel C (VRF, disjoint set) -> 2 -of- 3 rule ( 96 h)

该协议结合了三种基本算法:二次投票权重、基于VRF的随机面板以及并行多轮决议。每种算法都已得到充分研究(例如, QV与抽签QSort以及Kleros申诉)。该协议的贡献在于将它们综合为一个预言机协议,其中每种基本算法的不足之处都由其他算法弥补。

协议设计

1.ETH质押采用二次方加权

验证者向协议存入ETH (最低 1 个ETH)。存款通过流动性质押提供商进行路由,因此质押的ETH可以产生收益(年化收益率约为 2.8-3%)。收益分配:80% 分配给验证者,20% 进入奖励池。

锁定期:14 天入场锁定(防止闪电攻击 - 攻击者无法存款并立即参与),14 天出场锁定(确保在提款前可以执行罚没)。

投票权重

W_i = \sqrt{S_i} W i = S i

这是对抗巨鲸霸权的关键机制。影响力成本呈二次方关系:

赌注线性权重二次权重每票成本
1 ETH 1 1 1 ETH
4个ETH4 2 2ETH
25 ETH 25 5 5ETH
100 ETH 100 10 10 ETH

理性行为者会将权益分散到多个钱包:100 个钱包 x 1 个ETH = 100 票,共计 100 个ETH;而 100 个ETH则需要集中在一个钱包中。这种女巫攻击策略是可以预期的,并且已被考虑在内——它将攻击者的问题从“购买足够的代币”转移到了“注册并锁定数千个钱包 14 天”,这既需要大量资金,又容易被检测到。完整的成本计算请参见下方的攻击分析。

2. VRF面板选择

当市场需要解决时,该协议会从全球验证者池中随机选择一个验证者小组:

seed = VRF ( marketId , roundNumber , blockHash )

选择是加权随机抽样,不放回——每个验证者的选择概率与\sqrt{\text{stake}} stake成正比。

面板尺寸与市场规模成正比(风险越高→面板越大→越难操纵):

市场交易量面板尺寸范围最低池要求
低于 10 万美元50-200 600
10万至100万美元100-500 1,500
超过100万美元300-2000 6,000

池中必须至少包含3 × maxPanelSize个合格验证者,以确保可以创建三个不相交的面板(用于第 1 轮、第 2 轮以及可能的第 3 轮)。

法定人数:小组规模的30%。如果在公布期内未达到法定人数,则截止日期延长24小时(仅限一次)。如果仍未达到法定人数,则该轮结果默认为上一轮的结果。如果所有轮次均未达到法定人数,则该市场被标记为无法解决,所有赌注将全额返还,不扣除任何费用。

轮次间排除

排除的 R2 = 面板R1排除R2 =面板R1
\text{排除}_{R3} = \text{面板}_{R1} \cup \text{面板}_{R2}排除R 3 =面板R 1 面板R 2

验证者不能在同一个市场中投两次票。这保证了每一轮都由不同的验证者群体决定。

3. 并行提交-显示投票

核心设计选择:第 1 轮和第 2 轮在独立的面板上同时运行。

Panel A: [ Commit 24 h ][ Reveal 24 h ] - > Compare resultsPanel B: [ Commit 24 h ][ Reveal 24 h ]t = 0 t = 48 h

提交阶段:每个验证者提交一个哈希值:

\text{commitment} = \text{keccak256}(\text{vote} \| \text{salt} \| \text{address}) commitment = keccak256 ( vote salt address )

揭示阶段:验证者揭示明文投票和盐值。合约验证哈希值是否匹配。

为什么并行系统至关重要:在顺序系统中,R1 的结果在第二轮 (R2) 开始之前就已经公开。这会导致信息泄露——R2 的投票者可能会受到 R1 结果的影响,而不是独立投票。并行小组是真正独立的谢林点博弈。每个小组在不知道其他小组决定的情况下达成共识。

最终确定(三选二规则)

R1 R2 R3最终结果时间
是的是的-是的48小时
-48小时
是的投票2/3 96小时
是的投票2/3 96小时

当 R1 和 R2 达成一致时,结果将在 48 小时内生效,无需等待申诉。当他们意见不一致时,将从剩余的验证者池(不包括 R1 和 R2 的验证者)中抽取 C 组进行裁决,以打破僵局。

4. 分层斩击

在所有轮次中,对最终结果投反对票的验证者都会被扣除验证费。扣除率与市场交易量成正比——交易量越大,惩罚力度越大:

市场交易量折扣率
低于 10 万美元2%
10万至100万美元5%
100万至1000万美元10%
超过1000万美元15%

削减的资金分配如下: 80%分配给多数投票者(与\sqrt{\text{stake}} stake成比例), 20%分配给一般奖励池。

在三轮投票制(例如第一轮=赞成,第二轮=反对,第三轮=赞成 → 最终赞成)中,所有三轮中投反对票的选民都会被平均扣分。这鼓励选民无论被分配到哪一轮都进行诚实投票。

5. 质量指标和声誉

每个验证者都会维护一个累积质量评分:

Q_i^{(t+1)} = Q_i^{(t)} + \Delta Q, \quad \Delta Q = \begin{cases} +1 & \text{多数派} \\ -1 & \text{少数派} \end{cases} Q ( t + 1 ) i = Q ( t ) i + Δ Q , ΔQ = { + 1多数−1少数民族

  • 新验证者从Q_0 = 0开始, Q 0 = 0
  • 如果Q < -20 减免10 % 并禁售 90 天。
  • 禁售期结束后的收益: Q_0 = -10, Q 0 = 10 ,新的14天禁售期
  • 屡犯者每次罚款10%——持续的不良行为代价越来越高。

不活跃惩罚:被选入验证小组但未参与投票的验证者,每次未投票将被扣除其质押金额的0.1% 。此举旨在杜绝那些为了获取收益而质押但从不参与决议的“搭便车”者。

6. 奖励结构

诚实的验证者可以通过三种途径获得收益:

  1. 市场费用:交易量的0.5%
  2. ETH被削减:从少数选民手中重新分配
  3. 质押收益:20% 的流动性质押年化收益率 (APY) 将分配至奖励池

验证者i多数派中的分布情况:

\text{奖励}_i = \text{奖励池} \times \frac{\sqrt{S_i}}{\sum_{j \in \text{多数派}} \sqrt{S_j}}奖励i =奖励池× S i j major S j

奖励条件:投票(承诺+公布),多数票, Q \geq -20 Q 20

7. 验证者生命周期

None -- stake ()- -> LockIn ( 14 d) - -> Active|+-- exit ()- -> ExitReq - -> LockOut ( 14 d) - -> Exited|+-- Q < - 20 - -> Banned ( 10 % slash, 90 d) - -> LockIn (Q=- 10 )

该状态机确保验证者无法通过快速进入或退出系统来利用时间漏洞。验证者必须保持活跃状态​​至少 14 天才能被选入面板,并且在申请退出后必须等待 14 天才能提取资金——在此期间,待处理的罚没处罚仍然有效。

攻击分析

西比尔攻击成本

理性的攻击者使用最小权益钱包(每个钱包 1 ETH , \sqrt{1} = 1 1 = 1权重 - 最佳比例)。

假设:诚实池由 10,000 个验证者组成,平均质押 5 ETH。

总诚实重量: 10,000 × √5 ≈ 22,360 10,000 × √5 22,360

要控制超过 50% 的预期面板权重,攻击者需要A > 22{,}360 A > 22,360 个女巫钱包:

攻击者份额 = A / (22,360 + A) > 0.5 意味着 A > 22,360攻击者份额= A 22,360 + A > 0.5 A > 22,360

成本:约 22,400 个ETH (按 2,300 美元/ETH计算约为 5200 万美元),全部锁定 14 天。

投资回报率计算(1000万美元市场)

价值
潜在利润(50%的市场份额) 500万美元
所需资本(股份) 5200万美元
资金锁定28天
成功投资回报率9.6%
失败损失(削减 15%) -800万美元

预期收益为负:攻击者冒着损失 800 万美元的风险,却只能获得 500 万美元,而且资金会被锁定一个月。此外,该攻击是可以检测到的——在 14 天的锁定期内,突然涌入 2.2 万个最低质押额的验证者,这显然是一个异常情况。

为什么治理代币攻击不适用

在这个协议中,攻击目标资产是ETH生态系统中流动性最强的资产。即使购买价值5200万美元的ETH,也无法显著影响其价格。相比之下,治理代币攻击只需获取25%的质押代币即可操纵结果,而且这些代币在投票后还可以出售。而在这个协议中,攻击失败会导致ETH被永久扣押。

检测与响应

14 天的准入锁定期为检测提供了窗口。如果协议观察到新的最低权益注册数量出现异常激增,它可以:

  • 增加待定市场的面板尺寸
  • 提醒社区
  • 诚实的验证者池有时间做出反应(增加质押,招募更多验证者)。

这与闪电贷或同块攻击有着本质区别——攻击者必须投入资金并等待。

未解决的问题

我希望就以下几点获得反馈:

  1. Sybil攻击的资金Threshold:5200万美元以上加上14天的锁定是否足以起到威慑作用?或者是否存在我忽略的更便宜的攻击途径?攻击者能否仅针对交易量低、面板尺寸较小的市场获利?

  2. MEV 和 VRF 种子:种子包含blockHash ,而 blockHash 由The Block提议者控制。提议者能否操纵区块组组成?什么样的随机性来源才能提供足够的保护?

  3. 并行投票独立性:该设计假设并行小组产生独立的谢林点结果。B 小组的验证者能否尝试预测 A 小组的结果?真正的独立性是否需要额外的机制设计?

  4. 质量指数博弈:验证者可能对低价值市场(构建QQ分数)进行诚实投票而对高价值市场进行不诚实投票。ΔQ 是否随市场规模变化

参数

所有数值均为初步估算值,仅供讨论。实际生产值应通过测试网实验和经济模拟确定。设计约束条件:

  • 最低投资额 → Sybil 的资本要求依然很高
  • 锁定持续时间 → 闪光攻击仍然不可能
  • 面板尺寸 → 与市场价值成正比,面临风险
  • 削减投票率 → 不诚实投票在每个层级都会导致负期望值。
  • 质量阈值 → 过滤掉屡教不改的不良行为者,容忍无心之失

完整规格: GitHub 仓库(MIT 许可证)。

先前工作

该设计基于: QV with sortition(Vitalik,2019)QSortoracle voting rules 、Kleros(随机陪审团 + 顺序上诉)和UMA DVM 2.0(提交-揭示 + slashing)。


来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
51
收藏
11
评论