倏忽插针却轻描淡写!外洋机构猖獗杀入,BTC牛市势不可挡
9月末后,GBTC价格便一路上涨,而比特币现货价格是在十月末才开始上行,滞后于GBTC价格的表现
作者: Kong@慢雾平安团队
据慢雾区谍报,2020 年 11 月 17 日,以太坊 DeFi 项目 OUSD 遭遇闪电贷进击。慢雾平安团队于第一时间跟进并举行相干剖析。以下是慢雾平安团队针对本次进击的扼要剖析。进击历程详细剖析会在稍后宣布。若有兴致可坚持延续关注。
Origin Dollar (OUSD)由Origin Protocol (OUSD)建立,是一种新型的ERC-20 稳固币,当它依然放在钱包里时,会自动从DeFi 协定中取得有竞争力的收益。OUSD 由USDT、USDC 和DAI 等其他稳固币的1:1 支撑。
1. 进击者运用 dydx 闪电贷借出 70000 个 ETH,随后经由过程 Uniswap 将其兑换为 USDT 和 DAI。
2. 进击者挪用 OUSD Vault的 mint 函数,Vault 会先举行一次 rebase 将之前积聚的嘉奖举行分派,随后将 750 万 USDT 从进击者合约转入 OUSD Vault 中。此时 OUSD 合约会铸出等量的 750 万 OUSD 代币给进击合约,末了经由过程 allocate 来结算当前的收益。
3. 在进击者转入 750 万之前,Vault 的代价约为 7018138 美圆。进击者转入 750 万 USDT 后将占 Vault 总代价的一半以上。
4. 随后进击合约应用 mintMultiple 函数传入 DAI 合约地点与进击合约的地点,同样是先举行一次 rebase ,将之前累计的收益举行分派(包括先前转入的 750 万 USDT 部份),再经由过程 transferFrom 先将进击合约的 2050 万 DAI 转入 Vault 中。随后将挪用进击合约的 transferFrom 函数,进击者在进击合约的 transferFrom 函数中组织再次挪用 Vault 合约 mint函数的逻辑来完成重入进击。
5. 在上一步骤中转入 2050 万 DAI 后经由过程进击合约的 transferFrom 函数再次挪用 Vault 的mint 函数。因为重入时传入 2000 USDT 相符推断是不是挪用 rebase 的前提,此时将举行一次 rebase,而因为 rebase 须要 Vault 中的资产总代价和 OUSD 的总铸币数有差值才触发。根据底本的营业场景是举行 allocate 结算收益后转变 Vault 中的资产总代价然后经由过程 rebase 举行分派。而因为重入缘由并没有先经由过程 oUSD.mint 举行铸币操纵,且进击者已先将 2050 万的 DAI 转入 Vault 中,所以 Vault 中的资产总代价依然增添了,致使合约中的资产总代价大于 OUSD 的总铸币量。因而 Vault 会将增添的 2050 万 DAI 当做收益部份举行 rebase 分派。在步骤 3 中因为进击者资产已占 Vault 总代价的一半以上,所以此时进击者将平空取得凌驾代价 1025 万的收益分派。
6. 随后将经由过程 oUSD.mint 铸出 2000 OUSD,并经由过程 allocate 结算重入时 2000 USDT 的收益(从上一步骤能够看出进击合约传入的 2000 USDT 只是为了满足挪用 rebase 的前提,触发收益分派罢了)。重入完毕后仍将经由过程 oUSD.mint 铸出之前转入的 2050 万 DAI 等值的 OUSD 代币。
7. 末了 Vault 的总代价约为 3501 万美圆,但进击者所具有的代价凌驾 3825 万美圆,因而进击者用大部份的 OUSD 去 Vault 举行赎回操纵,将 Vault 基础提空,而其他的 OUSD 是经由过程 Uniswap 和 Sushiswap 的 OUSD - USDT 池将 OUSD 换成 USDT 来增添收益。
此次进击关键在于挪用外部合约形成的重入问题与 Vault 的 rebase 收益分派机制相结合,致使进击者能够经由过程重入来平空取得巨额的收益分派。针对此类情况,慢雾平安团队发起对传入资产举行检查后,对不在白名单内的资产直接举行回滚,并运用防重入锁以防止重入进击。
相干链接:
(1) 参考进击生意业务:
0xe1c76241dda7c5fcf1988454c621142495640e708e3f8377982f55f8cf2a8401
加入新手交流群:每天早盘分析、币种行情分析
添加助理微信,一对一专业指导:chengqing930520
上一篇:倏忽插针却轻描淡写!外洋机构猖獗杀入,BTC牛市势不可挡加入新手交流群:每天早盘分析、币种行情分析,添加助理微信
一对一专业指导:chengqing930520
最新资讯