火星链 火星链
Ctrl+D收藏火星链
首页 > 世界币 > 正文

SWAP:简析以太坊最新图:六大关键

作者:

时间:1900/1/1 0:00:00

?

近日,Vitalik发布了以太坊的最新图,在此前的五大关键的基础上,新增了以解决交易审查和MEV风险为中心的关键TheScourge。至此,以太坊未来的发展进化将主要分为六大关键,分別是:TheMerge、TheSurge、TheScourge、TheVerge、ThePurge、TheSplurge。值得注意的是,这六大关键是同时推进的。下面,我们也根据这最新的图表,简单描述一下各个关键。

TheMerge

该主要目标是构建去中心化、健壮简洁的PoS共识机制。以太坊目前已经成功切换为PoS,接下来主要是针对网络验证者安全以及零星功能的修修补补:

Grim Finance 被黑简析:攻击者通过闪电贷借出 WFTM 与 BTC 代币:据慢雾区情报,2021 年 12 月 19 日,Fantom 链上 Grim Finance 项目遭受攻击。慢雾安全团队进行分析后以简讯的形式分享给大家。

1. 攻击者通过闪电贷借出 WFTM 与 BTC 代币,并在 SpiritSwap 中添加流动性获得 SPIRIT-LP 流动性凭证。

2. 随后攻击者通过 Grim Finance 的 GrimBoostVault 合约中的 depositFor 函数进行流动性抵押操作,而 depositFor 允许用户指定转入的 token 并通过 safeTransferFrom 将用户指定的代币转入 GrimBoostVault 中,depositFor 会根据用户转账前后本合约与策略池预期接收代币(预期接收 want 代币,本次攻击中应为 SPIRIT-LP)的差值为用户铸造抵押凭证。

3. 但由于 depositFor 函数并未检查用户指定转入的 token 的合法性,攻击者在调用 depositFor 函数时传入了由攻击者恶意创建的代币合约地址。当 GrimBoostVault 通过 safeTransferFrom 函数调用恶意合约的 transferFrom 函数时,恶意合约再次重入调用了 depositFor 函数。攻击者进行了多次重入并在最后一次转入真正的 SPIRIT-LP 流动性凭证进行抵押,此操作确保了在重入前后 GrimBoostVault 预期接收代币的差值存在。随后 depositFor 函数根据此差值计算并为攻击者铸造对应的抵押凭证。

4. 由于攻击者对 GrimBoostVault 合约重入了多次,因此 GrimBoostVault 合约为攻击者铸造了远多于预期的抵押凭证。攻击者使用此凭证在 GrimBoostVault 合约中取出了远多于之前抵押的 SPIRIT-LP 流动性凭证。随后攻击者使用此 SPIRIT-LP 流动性凭证移除流动性获得 WFTM 与 BTC 代币并归还闪电贷完成获利。

此次攻击是由于 GrimBoostVault 合约的 depositFor 函数未对用户传入的 token 的合法性进行检查且无防重入锁,导致恶意用户可以传入恶意代币地址对 depositFor 进行重入获得远多于预期的抵押凭证。慢雾安全团队建议:对于用户传入的参数应检查其是否符合预期,对于函数中的外部调用应控制好外部调用带来的重入攻击等风险。[2021/12/19 7:49:04]

信标链取款功能的激活:目前已经作为EIP-4895的主要内容,准备于上海升级时部署,至于具体实施时间,在最新以太坊核心开发者会议上,开发者们只能模糊地估计数月内。

慢雾:BSC项目Value DeFi vSwap 模块被黑简析:据慢雾区情报,币安智能链项目 Value DeFi 的 vSwap 模块被黑,慢雾安全团队第一时间介入分析,并将结果以简讯的形式分享,供大家参考:

1. 攻击者首先使用 0.05 枚 WBNB 通过 vSwap 合约兑换出 vBSWAP 代币;

2. 攻击者在兑换的同时也进行闪电贷操作,因此 vSwap 合约会将兑换的 vBSWAP 代币与闪电贷借出的 WBNB 转给攻击者;

3. 而在完成整个兑换流程并更新池子中代币数量前,会根据池子的 tokenWeight0 参数是否为 50 来选择不同的算法来检查池子中的代币数量是否符合预期;

4. 由于 vSwap 合约的 tokenWeight0 参数设置为 70,因此将会采用第二种算法对池子中的代币数量进行检查;

5. 而漏洞的关键点就在于采用第二种算法进行检查时,可以通过特殊构造的数据来使检查通过;

6. 第二种算法是通过调用 formula 合约的 ensureConstantValue 函数并传入池子中缓存的代币数量与实时的代币数量进行检查的;

7. 在通过对此算法进行具体分析调试后我们可以发现,在使用 WBNB 兑换最小单位(即 0.000000000000000001) vBSWAP 时,池子中缓存的 WBNB 值与实时的值之间允许有一个巨大的波动范围,在此范围内此算法检查都将通过;

8. 因此攻击者可以转入 WBNB 进行最小单位的 vBSWAP 代币兑换的同时,将池子中的大量 WBNB 代币通过闪电贷的方式借出,由于算法问题,在不归还闪电贷的情况下仍可以通过 vSwap 的检查;

9. 攻击者只需要在所有的 vSwap 池子中,不断的重复此过程,即可将池子中的流动性盗走完成获利。详情见原文链接。[2021/5/8 21:37:37]

DistributedValidators:分布式验证者技术,旨在将以太坊验证者的工作分布到一组分布式节点中的技术,与目前在一台机器上运行验证者客户单的传统技术相比,更加能够提高安全性、在线弹性等,具体可见DV技术规范。

慢雾: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]

SingleSecretLeaderElection:单一秘密者选举,目前信标链采用的是SingleLeaderElection,即每个Slot所选出的提议者会提前公开,使他们容易受到DoS攻击。通过将这一过程加密隐藏,只有提议者知道自己的身份,能够有效缓解潜在风险

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]

SingleSlotFinality:单Slot最终性,当前以太坊区块需要64到95个slot才能实现最终确定性,不过Vitalik认为有充分的理由把最终确定性时间缩短为一个slot,从而实现更好的用户体验,具体可见SSF。

TheSurge

该主要目标是推动以Rollup为中心的扩容,实现每秒10万的TPS,主要分为两个阶段:

实现Rollup的初步扩容:EIP4844向以太坊引入一种新的交易类型,这种交易类型携带短暂存在的blob数据,将使得rollup的开销降低10-100倍,同时结合初步的OPRollup欺诈证明以及ZK-EVMs的辅助,实现初步扩容。

实现Rollup的完全扩容:在前者基础优化完善的同时,重点着手数据可用性DA方面的优化,如数据可用性抽样的客户端、P2P设计等。

TheScourge

该主要目标是确保可靠可信中立的交易纳入区块,避免网络出现中心化以及MEV相关风险等,而这其中的关键里程碑是在协议层面实现区块提议者与构建者分离,即Proposer-BuilderSeparation/PBS。

在PBS的设计中,区块提议者负责从内存池中收入交易,并创建一个包含区块交易信息的列表crList传递给区块构建者们。区块构建者们以最大化MEV为目的对crList中的交易进行重新排序并构建区块,然后再向区块提议者提交他们的出价,而区块提议者就会选择出价最高者为有效的区块。

在实现PBS之后,进一步的还有以太坊开发者提出的SmoothingMEV方案,旨在减少每个验证者之间捕获的MEV的差距,最终目标是使每个验证者的奖励分布尽可能接近均匀,从而保证协议共识的稳定,同时还考虑潜在的MEV销毁可能。

TheVerge

该主要目标是降低验证区块的门槛,包含两个关键里程碑检查点:

VerkleTrees:围绕Verkle树设计对Merkle树进行优化,使得验证者无需存储所有状态也能参与由交易验证成为可能。

FullySNARKed:将SNARK全面引入到以太坊协议,如EVM、Verkle证明以及共识状态转换等,即使到了量子计算时代,也可切换到量子安全的STARKs。

ThePurge

该主要目标是简化以太坊协议,消除技术债务,通过清除历史数据,限制验证者参与网络的成本,减少节点的存储需求,甚至不再需要存储全节点数据,从而提高节点效率,间接提升TPS。这其中主要包含两大关键里程碑检查点HistoryExpiry和StateExpiry,鉴于偏技术向,暂且按下不表。

TheSplurge

该主要是一些零碎的优化修复,如账户抽象、EVM优化以及随机数方案VDF等。

希望这篇文章对大家有一定的帮助。

标签:FORBNBWBNBSWAPFORT手机直接玩togetherbnbowbnbLilith Swap

世界币热门资讯
ENS:ETH周报 | V神发布新版以太坊发展路线图;CryptoPunk #5822被吉尼斯认定为最昂贵的NFT藏品(10.31-11.7)

作者|秦晓峰编辑|郝方舟出品|Odaily星球日报一、整体概述以太坊联合创始人VitalikButerin在社交媒体发布新版以太坊发展路线图,其中主要变化包括:1、合并已经完成.

1900/1/1 0:00:00
Gate.io:Gate.io 非首发上线Startup项目Callisto Network (CLO)及免费认购规则公告(免费瓜分10,536,402个CLO)

关于Gate.ioStartup免费空投计划为回馈平台用户,Gate.io上线“免费空投计划”,在Startup区不定期进行区块链项目的免费空投计划.

1900/1/1 0:00:00
BIT:BitVito | 神仙打架,散户遭殃,回调开启!

神仙打架,难过的永远都是散户,没把对方打倒,倒是把行情和K线打下去了,从昨日到今日,BTC24小时跌幅5.5%,ETH24小时跌幅7%,整个市场又重新陷入了低迷期.

1900/1/1 0:00:00
TRO:波场TRON账户总数突破1.19亿

区块链浏览器TRONSCAN最新数据显示,截至11月7日,波场TRON账户总数达到119,349,457,正式突破1.19亿.

1900/1/1 0:00:00
ETH:以太坊价格暴跌至 1,550 美元:多头能否挽救局面?

以太坊从1,675美元的高位开始下行修正。ETH必须保持在1,550美元的支撑位上方才能开始新的上涨。以太坊在开始下行修正之前攀升至1,650美元上方.

1900/1/1 0:00:00
Introducing the 12th KuCoin Fractional NFT - Fractionalized Fidenza: Limited Sale of 937,500 hiFIDENZA

Wearehonoredtointroduceour12thprojectonKuCoinFractionalNFTs-hiFIDENZA.

1900/1/1 0:00:00