如何用预言机实现共同质押?
华胥
发表于 2023-2-1 12:22:19
1173
0
0
+ S9 w2 X" p- \( ^3 d. @
今天,ETH 持有者可以将其 ETH 放入 CDP,取出 RAI,以 1% DAI 的储蓄率将其转换为 DAI,并赚取约 10% 的利差,或约 5% 的年回报率(考虑到 2 倍的抵押保证金)。或者,他们可以只质押他们的 ETH,并以更低的风险赚取同样的 5% 年回报率。 如果 RAI 利率甚至增加到 -3%,计算结果将更加有利于 staking 质押。 B" v3 I- M% a( q0 ^" g: `% B
6 j9 o$ z9 N$ @: P! Z/ L0 h
有人正在探索多抵押品 RAI 作为此问题的解决方案。我个人对此的看法是,DAI 已经填补了作为任意(包括“现实世界资产”)多抵押算法稳定币的利基市场,因此 RAI 生态在该领域竞争毫无意义。因此,在我看来,只有当“多抵押品”指的是一种极为狭窄的多抵押品形式(ETH 和质押 ETH),则制作 RAI(或分叉)多抵押品才有意义。
我们可以让任何(solo)质押者将他们的质押权益作为 CDP 抵押品双重使用吗?! I* U9 y, \! B
' t4 C. Z/ S" e& t+ _
Eigenlayer是一组工具,通过将提款地址设置为仅在满足某些条件情况下才返还资金的合约,它使质押者可以在其他应用中重新使用其质押权益。可以想象,人们可以制作一个使用 Eigenlayer 的 RAI 版本:用户通过将取款地址设置为一个合约,将他们质押的 ETH 存入 CDP 中,该合约只有在他们偿还 RAI 债务后才会返还。如果用户被清算,合约的逻辑会将 ETH 的所有权转移给清算人(当在协议中成为可能时,它也会立即触发提款)。
这种方法的主要挑战是,虽然它在正常情况下运行良好,惩罚非常罕见且非常低,但在极端情况下,它会大大降低系统的安全性。 特别是,如果攻击者打算进行 51% 攻击(或者甚至是涉及罚没一些提议者的更温和的攻击),那么他们将所有用于攻击系统的验证器放入 RAI-CDP 中,并尽可能多地取出 RAI 就变得合理了。
7 K8 z* E+ M5 g5 c/ b5 d: A
如果攻击者这样做,那么他们实际上是在从系统中“窃取”RAI,导致其产生以 RAI 计价的债务。 该系统可以尝试通过拍卖以使用 FLX 或 ETH 储备回购 RAI 来快速重新平衡,但它仍然有破产的风险。
. {3 J& H( \( f
RAI 可以只使用 Lido 的 stETH 吗?
( p, N/ {2 A; B) t8 \! b
这是一种在解决上述问题的同时,RAI 可能需要最少工作的方法。 然而,我会对这种方法感到担忧,因为进一步巩固像 stETH 这样的质押系统会导致以太坊级别的系统性风险。 如果它获得了更大的市场支配地位,那么这会给管理 stETH 的系统带来很多信任,从而将新的攻击向量引入到整个以太坊质押中。 对于 stETH 而言,这远不如中心化质押衍生品那么真实,但它仍然是一种风险。
出于这个原因,我强烈倾向于尝试找到使用质押 ETH 作为抵押品的方法,以避免围绕单一主导流动性质押衍生品形成网络效应。 而且由于 RAI 不需要抵押资产的可替代性(因为 CDP 不可替代),RAI 实际上可以成为解决方案的一部分。! {( V! C: l& [" x6 G
想法 1:预言机作为质押者8 v& @' s1 w0 Y2 n) c- j
3 P- r. M4 @/ ^. @) h5 p+ ?
任何拥有 RAI CDP(或RAI)的人都非常相信 RAI 的预言机系统不会窃取他们的资金。如果 RAI 预言机开始报告 ETH/USD 价格接近于零,则所有 CDP 将被清算,其持有者将一无所有。RAI 持有者(一个假想的攻击者可能会成为其中最大的一个)将能够进来购买 CDP,并以非常便宜的价格获取其中的 ETH。" M( L5 N1 h% b* w& h2 _
8 p6 \3 K' T; Q
出于这个原因,对预言机系统的信任应该被极其重视。特别是,51% 的协议投机代币(此处为FLX)不可能在没有长时间延迟的情况下投票立即更改预言机提供商(否则,系统无法在风险资金总额超过 FLX 市场上限的环境中稳定运行)。我自己对最佳模型的看法大致是这样的。+ s' G w9 g7 i/ `' j
+ [6 I, P. d0 V7 r' b, \1 h
无论如何,一个关键的观察是,由于 RAI 持有者已经相信预言机不会以这种方式搞砸他们,如果我们也以其他风险较小的方式信任预言机,这似乎不会增加系统的脆弱性。5 J1 _$ E a8 o0 S
( s3 B3 U' f- n! J, H
一个自然的选择是:RAI 本身创建了一个 Lido 副本,创建 CDP 的用户可以在其中质押这些资金,将 RAI 预言机设置为质押密钥(也许,RAI 预言机可以共同运行分布式验证器),但将 CDP 设置为取款地址。
4 M W7 {. q- M3 {+ n( U$ T; @3 N
这里的信任程度并没有看起来的那么高:糟糕的 RAI 预言机可能会导致资金被破坏,要么被罚没,要么遭到离线惩罚(inactivity-leaked),但它们无法窃取资金,只有极少数例外情况,比如进行某种特殊的 MEV 攻击,攻击者因双重提议而被罚没。3 S* @) @0 ~& K7 t: w
5 y* Y3 ^( u' o3 z. A
但这仍然不完美:这种罕见的特殊攻击是可能的,而且还不清楚预言机是否愿意成为质押者。 质押的法律风险似乎高于成为预言机提供者的法律风险,后者在许多司法管辖区属于明确的言论自由“仅提供信息”类别。 这还会产生更大的动机来攻击它们。- t" [. P- j# I
想法 2 :预言机作为 2-of-2 质押者
" n/ y4 v: Y1 F3 B$ p$ @2 w
这是一种替代方案,可以让用户保持更多控制权并减少对预言机的信任。代替属于预言机的质押密钥,质押密钥是P + Q,其中Q是属于预言机的密钥,P是 CDP 持有者持有的密钥。由于 BLS 签名的算法特性,预言机可以用Q签名,CDP 持有者可以用P自己签名,并将两个签名加在一起创建一个验证P + Q的签名。这基本上就是 2-of-2DVT 。
这加强了信任属性,如下所示:1 C1 S: }. L( U* g6 h
9 z" f. @! y, P0 ^/ |
仅靠预言机不能罚没 CDP 持有者;预言机本身不能进行提议者攻击,因为区块提议需要 CDP 持有者签名;CDP 持有者不会被罚没或进行攻击,因此无法以这种方式破坏系统的抵押品;预言机或 CDP 持有者可以离线; 在这种情况下,另一方将触发退出并退出 CDP,而损失很小;极端情况是预言机或 CDP 持有者在不活动泄漏期间( inactivity leak)离线。 在这种情况下,任何一方都可能让另一方遭遇损失。
) W X& T& U! x" \
执行
1 ]; y- S& N6 n: K* C' g8 c8 l
这种设计是 DVT 的一种特殊情况:# \2 P, d) n' ]. |
这是 2-of-2,所以从网络角度来看,这是最简单的情况;2 个中的 1 个(预言机)正在为数以千计的合作伙伴提供服务。但是,它可以简单地签署相同的数据,并将其发布给所有与之合作的 CDP 以供下载;为了保持区块生产的自主性,在这种特定情况下,它可以使用一个系统,提议者选择要签名的内容,并将其发送给预言机进行共同签名。预言机不应该在同一个域的同一个 slot 中同时签署两个不同的数据,因为这可能会与致盲技巧(blinding tricks )相结合,以罚没 CDP 。" I# t4 ?! Q0 y) N0 @+ _* x) i
7 \8 L5 A; R1 m6 w
这是需要实施的新技术,因此可能需要 DVT 团队的合作才能真正实现。一旦建成,它应该不会太难操作。4 }: a0 J4 ^0 d/ z) r
# S- R, f z+ V! U% v# Y
想法 2 的弱点
. c- `! E$ k' g! c
该系统最大的漏洞是 inactivity leaks,因为这些漏洞可能仅由预言机离线触发。然而,我认为接受这种风险是可以的。如果余额低于 16 ETH,验证器将自动退出并撤回 ETH。因此,我们可以简单地接受具有 2 倍抵押品要求的质押 ETH,而不是提供常规 ETH 的 1.5 倍。
* N/ r1 z0 l$ j2 b' `& j, [
有一种极端情况,如果很多验证器同时泄露,一次只有少数人可以退出,因此一些验证器会在 16 ETH 以下进一步被泄露惩罚,但如果有需求,这是以太坊质押协议中可能会发生的变化。即使没有修复,也需要非常极端的攻击(超过 50% 的人离线),在诚实的验证器控制的余额比例返回到 2/3 以上之前,大量的验证器泄漏远远低于 16 ETH。
另一个主要缺点是,在一个主要担心不是预言机恶意罚没,而是预言机恶意或不小心下线的世界中,它无法很好地工作。这可能是因为我们要么(i)期望预言机是低质量的质押者,因为我们是为了诚实而非技术熟练度而进行优化,要么(ii)预言机使用可信硬件,并且用户接受这是一个(部分)信任假设(参见Puffer )。为了解决这些弱点,我们提出了下面的想法 3。1 _8 ?/ I8 I1 d
k; C# i2 h3 ~4 J
想法 3 :用于分级安全性的半可信预言机* F# x4 }! _; y( y
$ F# _/ q* `- Z; X( l
在你可以保证大多数预言机是诚实的情况下,另一种方法消除了剩余的信任问题。7 N3 ?: N8 W' a: J) R! Q
我们定义了三个常数:
N:预言机系统中的预言机总数;: h0 H" o; Q! |1 D* z
k1:可以与 CDP 持有者一起签署消息的预言机数量(例如 k1 ~= 0.2 * N) D; f4 a d E1 o2 q3 b& Y, R
k2:在没有 CDP 持有者的情况下可以协同工作以签署消息的预言机数量(例如 k2 ~= 0.8 * N)
我们要求预言机维护两个秘密共享密钥:
Q1,在 k1-of-N 秘密共享中P + Q2,在 k2-of-N 秘密共享中(后者为每个 CDP 持有者一份)
0 j g g8 }: T1 l" f* u |0 X3 o
对于 Q1,预言机可以与 CDP 持有者共同签名,对于 Q2,他们可以独立签名。
4 v; z- o4 X" U- t7 U# L! P, d. P
在 k1 + k2 = N 的情况下(例如 k1 = N/5 和 k2 = 4N/5),这可以确保在两种情况下都不会发生罚没和 inactivity 泄漏:
超过 k2 的预言机是诚实的(因为它们可以独立签署消息,恶意 CDP 持有者无法找到 k1 的法定人数来共同签名);至少 k1 个预言机是诚实的,并且 CDP 持有者是诚实的(因为这两个群体可以一起签署消息,而其余的预言机不能签名也不能阻止它们);5 T, E8 ? j I. f
这种风格类似于 Rollup 的第 1 阶段训练轮,在两个安全模型之间创建线性混合,作为一种部分信任两者但不过分信任其中一个的方式。
请注意,这个设计可以看作是想法 1 和 2 的概括(甚至是“CDP 持有者可以自己签名”的提议):k1 和 k2 可以根据需要进行调整,以探索信任谁的整个权衡空间。
8 z% V3 H$ p4 k2 ~, u6 l$ ?1 H
这些方法的一般好处(2 或 3 中的想法 1)
可信中立,并且不引入外部依赖:它只会信任参与者,而它已经被给予了更高程度的信任;实现了用户能够同时质押和持有 CDP 的收益;避免不必要地促进现有流动性质押衍生品的网络效应。相反,该计划维持的稳定币是(稳定的)流动质押衍生品。
3 h& w, ]* x; U: i$ A
比较想法 1、想法 2 以及 想法 3
根据实施简单程度进行排名,想法 1 > 想法 2 > 想法 3根据防止坏预言机进行排名,想法 3 > 想法 2 > 想法 1根据对不良 CDP 持有者的保护进行排名,想法 3 > 想法 2 > 想法 1根据避免预言机害怕运行它进行排名,想法 2 > 想法 3 > 想法 19 W9 l# B: `2 u# g5 o) d$ a
{% o o2 v& } p8 O
总而言之,想法 1 似乎在短期内更易于实施,并且将成为“同时赚取其他质押收益”空间的有趣补充。但是想法 2 和想法 3 似乎更无需信任,也更持久,对预言机的信任度较低,并且更好地维护了 staking 去中心化,因此从长远来看,它们似乎更吸引我。
成为第一个吐槽的人