FORCE:简析 Rollup 中的去中心化序列器及其不同的实现方式_MEVFREE

如何实现去中心化定序器?这个问题并没有唯一的答案,这取决于Rollup的首选项和目标。中心化定序器是当前Rollup普遍采用的方式,并且大多数项目计划在未来实现去中心化的定序器。由于存在多个适合不同结果的选择,因此并没有所谓正确的去中心化方式。

具有leader选举的无许可PoS方式

要实例化一组无需许可的定序器来代替一个中心化定序器,最低要求是具备某种形式的抗女巫机制以及一个leader选举机制。抗女巫是为了给恶意行为强加一个执行成本,使用权益证明(PoS),可以通过错失奖励,或通过直接减少权益来对定序器征收成本。

由于rollup使用L1来达成共识,因此所需要的只是一个leader选举机制来轮换定序器。节点获得相对于他们拥有的权益百分比的定序特权。有几种leader选举算法与共识协议捆绑在一起,可以作为定序器集的独立机制正常工作。

LendHub被黑简析:系LendHub中存在新旧两市场:金色财经报道,据慢雾安全区情报,2023 年 1 月 13 日,HECO 生态跨链借贷平台 LendHub 被攻击损失近 600 万美金。慢雾安全团队以简讯的形式分享如下:

此次攻击原因系 LendHub 中存在两个 lBSV cToken,其一已在 2021 年 4 月被废弃但并未从市场中移除,这导致了新旧两个 lBSV 都存在市场中。且新旧两个 lBSV 所对应的 Comptroller 并不相同但却都在市场中有价格,这造成新旧市场负债计算割裂。攻击者利用此问题在旧的市场进行抵押赎回,在新的市场进行借贷操作,恶意套取了新市场中的协议资金。

目前主要黑客获利地址为 0x9d01..ab03,黑客攻击手续费来源为 1 月 12 日从 Tornado.Cash 接收的 100 ETH。截至此时,黑客已分 11 笔共转 1,100 ETH 到 Tornado.Cash。通过威胁情报网络,已经得到黑客的部分痕迹,慢雾安全团队将持续跟进分析。[2023/1/13 11:11:00]

可以通过智能合约在基础层或直接在rollup中建立起质押机制。关键是,就像任何单体链一样,个人只需要通过质押原生代币并满足最低硬件要求即可加入定序器集。

慢雾:DEUS Finance 二次被黑简析:据慢雾区情报,DEUS Finance DAO在4月28日遭受闪电贷攻击,慢雾安全团队以简讯的形式将攻击原理分享如下:

1.攻击者在攻击之前先往DeiLenderSolidex抵押了SolidexsAMM-USDC/DEI的LP。

2.在几个小时后攻击者先从多个池子闪电贷借出143200000USDC。

3.随后攻击者使用借来的USDC在BaseV1Pair进行了swap操作,兑换出了9547716.9个的DEI,由于DeiLenderSolidex中的getOnChainPrice函数是直接获取DEI-USDC交易对的代币余额进行LP价格计算。因此在此次Swap操作中将拉高getOnChainPrice函数获取的LP价格。

4.在进行Swap操作后,攻击者在DeiLenderSolidex合约中通过borrow函数进行借贷,由于borrow函数中用isSolvent进行借贷检查,而在isSolvent是使用了getOnChainPrice函数参与检查。但在步骤3中getOnChainPrice的结果已经被拉高了。导致攻击者超额借出更多的DEI。

5.最后着攻击者在把用借贷出来DEI兑换成USDC归还从几个池子借出来的USDC,获利离场。

针对该事件,慢雾安全团队给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/4/28 2:37:18]

具有MEV拍卖的无许可PoS方式

慢雾:Spartan Protocol被黑简析:据慢雾区情报,币安智能链项目 Spartan Protocol 被黑,损失金额约 3000 万美元,慢雾安全团队第一时间介入分析,并以简讯的形式分享给大家参考:

1. 攻击者通过闪电贷先从 PancakeSwap 中借出 WBNB;

2. 在 WBNB-SPT1 的池子中,先使用借来的一部分 WBNB 不断的通过 swap 兑换成 SPT1,导致兑换池中产生巨大滑点;

3. 攻击者将持有的 WBNB 与 SPT1 向 WBNB-SPT1 池子添加流动性获得 LP 凭证,但是在添加流动性的时候存在一个滑点修正机制,在添加流动性时将对池的滑点进行修正,但没有限制最高可修正的滑点大小,此时添加流动性,由于滑点修正机制,获得的 LP 数量并不是一个正常的值;

4. 随后继续进行 swap 操作将 WBNB 兑换成 SPT1,此时池子中的 WBNB 增多 SPT1 减少;

5. swap 之后攻击者将持有的 WBNB 和 SPT1 都转移给 WBNB-SPT1 池子,然后进行移除流动性操作;

6. 在移除流动性时会通过池子中实时的代币数量来计算用户的 LP 可获得多少对应的代币,由于步骤 5,此时会获得比添加流动性时更多的代币;

7. 在移除流动性之后会更新池子中的 baseAmount 与 tokenAmount,由于移除流动性时没有和添加流动性一样存在滑点修正机制,移除流动性后两种代币的数量和合约记录的代币数量会存在一定的差值;

8. 因此在与实际有差值的情况下还能再次添加流动性获得 LP,此后攻击者只要再次移除流动性就能再次获得对应的两种代币;

9. 之后攻击者只需再将 SPT1 代币兑换成 WBNB,最后即可获得更多的 WBNB。详情见原文链接。[2021/5/2 21:17:59]

定序器的职责可以通过拍卖授予,而不是指定的leader选举机制。拍卖被指定为MEV拍卖,因为出价最高的实体有权成为定序器,并在指定的定序器周期内提取任何MEV。周期可以是任意长度,尽管在频繁拍卖与不频繁拍卖之间存在着权衡。

Force DAO 代币增发漏洞简析:据慢雾区消息,DeFi 量化对冲基金 Force DAO 项目的 FORCE 代币被大量增发。经慢雾安全团队分析发现: 在用户进行 deposit 操纵时,Force DAO 会为用户铸造 xFORCE 代币,并通过 FORCE 代币合约的 transferFrom 函数将 FORCE 代币转入 ForceProfitSharing 合约中。但 FORCE 代币合约的 transferFrom 函数使用了 if-else 逻辑来检查用户的授权额度,当用户的授权额度不足时 transferFrom 函数返回 false,而 ForceProfitSharing 合约并未对其返回值进行检查。导致了 deposit 的逻辑正常执行,xFORCE 代币被顺利铸造给用户,但由于 transferFrom 函数执行失败 FORCE 代币并未被真正充值进 ForceProfitSharing 合约中。最终造成 FORCE 代币被非预期的大量铸造的问题。 此漏洞发生的主要原因在于 FORCE 代币的 transferFrom 函数使用了`假充值`写法,但外部合约在对其进行调用时并未严格的判断其返回值,最终导致这一惨剧的发生。慢雾安全团队建议在对接此类写法的代币时使用 require 对其返回值进行检查,以避免此问题的发生。[2021/4/4 19:45:30]

MEV拍卖可能听起来很有吸引力,因为定序权是无需许可的。任何人都可以通过竞标的方式成为定序器,即使只有出价最高的人才能获得这种权利。将定序器角色授予最高出价者,确保了每次只有资金最充裕的竞标人才能获胜。此外,能够提取最多MEV的定序器将能够比其他定序器更快地增长其资本基础。最后,MEVA集中并激励了定序垄断。垄断源于成为定序者以及赢得MEVA的高进入壁垒,以及定序者可以发挥的定价能力。

虽然赢得MEVA并不能让定序器控制系统,但它们仍然可被罚没。

Rollup确实从MEVA产生了收入,并可用于各种用途,例如协议制定或公共物品资助。然而,这些收入并不是免费获得的,MEVA产生的收入是以受MEV提取影响的用户为代价的。由于MEV提取本质上是对用户的无形税收,因此MEVA只是从用户到MEVA收入受益者的财富再分配。

为发展和公共产品融资等事业支付某种类型的税收,可以说是一项崇高的事业,而我也支持这项事业。以MEVA的形式从税收中获得收入,远不是一个理想的解决方案。有很多更好、更周到的方法可以实施税收。

具有公平排序的许可定序器集

如果目标是降低MEV,则可以采用一种稍微不同的方法。定序器角色可以在受信任/半受信任的一组参与者之间分配。每个定序器都参与一个共识过程来确定交易排序。通过共识,可以出现「公平」排序的概念,类似于先到先得。

用户进行一笔交易,该交易被广播至所有定序器;

定序器按照他们声称交易到达的顺序构建交易列表;

使用公平排序算法合并所有定序器列表,以创建某种形式的先到先得顺序的共识视图;

共识过程后的最终排序发布到基础层。

值得注意的是,共识过程引入了诚实多数假设。如果大多数人都是诚实的,那么,尽管其他恶意定序器试图操纵排序,但先到先得的排序将得到支持。如果大多数定序器不诚实,则可以以任意方式操纵排序以提取MEV。

即使诚实多数假设成立,MEV仍然存在。相反,某些类型的MEV会受到限制。抢先交易仍然可能发生,但这将取决于延迟竞争。也就是说,到达大多数定序器的第一笔交易将捕获MEV机会。如果没有一个leader或mempool存储池,类似Flashbots的拍卖实际上无法实现精细的MEV偏好。

由于定序器集是许可的,因此需要主动管理以允许定序器进入集合,并为处理恶意或不诚实的定序器行为提供追索权。该过程涉及社区的程度尚不清楚,尽管很难从导致排序被操纵的网络问题中辨别出排序操纵。辨别顺序操纵是困难的,这就是为什么罚没不一定能以编程的方式来惩罚定序器。

此外,围绕MEV缓解的加密技术,可与许可或无许可的定序器组合使用,以帮助缓解MEV问题。

结论

我们如何实现去中心化定序器?这个问题并没有唯一的答案,这取决于Rollup的首选项和目标。如果目标是通过无许可进入定序器集成为性能最高的rollup,那么具有leader选举的无许可PoS方法,可能是最佳选择。如果主要目标是缓解MEV问题,那么最好使用具有公平排序或门限加密的许可定序器集。如果目标是为了提供一条更可持续的途径来资助任何数量的事业,那么经过深思熟虑的税收加上前面的任何一种选择都可能是合适的。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:0ms0-9:380ms