4 ms·
Worth reading the "incredibly complex transaction" link in the article: https://twitter.com/Mudit__Gupta/status/1453401698563596293 https://twitter.com/Mudit__G
by NelsonMinar 5y ago
Worth reading the "incredibly complex transaction" link in the article: https://twitter.com/Mudit__Gupta/status/1453401698563596293 https://twitter.com/Mudit__Gupta/status/1453401698563596293
It's not "incredibly complex". Someone just laundered the magic beans through a series of intermediate cryptocurrencies until they got to one they could just conjure out of thin air. You know, like Tether.
Don't worry though, this is good for Bitcoin.
- aantix 5y agoWhy is it good?
- NelsonMinar 5y agoThe phrase is ironic. https://knowyourmeme.com/memes/this-is-good-for-bitcoin https://knowyourmeme.com/memes/this-is-good-for-bitcoin
- makomk 5y agoIt's a bit more complicated than that, at least if I'm understanding the write-up correctly. The underlying trick is that they reduced the amount of yUSDVault shares by redeeming most of them, then doubled the value of each by gifting more of the underlying yUSD to the contract. This in itself didn't conjure anything from nothing - each yUSDVault share was genuinely worth double the yUSD as before. The trouble is that due to some fundamental design flaws in C.R.E.A.M., this meant that a much larger Cream USD holding in one account and an offsetting debt in a second were now instantly worth double what they were before. The debt was then worth more than the collateral and could just be walked away from, whilst the other account had a profit which could be liquidated to wipe out C.R.E.A.M's reserves. Actually exploiting this in practice seems to have involved a whole bunch of additional fiddly details and transactions.
- mmmmkay 5y ago> It's not "incredibly complex". lol...have you ever given any thought whatsoever to performing a similar exploit? If you have, you wouldn't be brushing this off so nonchalantly
- NelsonMinar 5y agoOh I'm not brushing it off at all; I just think it's remarkable that $130M could be stolen so easily.
- gnrlst 5y agoEasily, maybe for the person who did it. A result of lots of experience and knowing exactly what to do.
- 015a 5y agoI think any process which takes 23 steps to describe could reasonably be described as "complex", but if you're jealous that you didn't think of it first its kinder to simply say so rather than talk down on the skill of the person involved in the attack.
- btown 5y agoRather than reading the bird app thread, the same author's technical breakdown of the 29-step attack is a way better read: https://mudit.blog/cream-hack-analysis/ https://mudit.blog/cream-hack-analysis/ > This was one of the most sophisticated and cleanly executed DeFi attacks. The summary of the attack is that the attacker borrowed $1.5b of Yearn’s yUSD vault shares against $2b worth of collateral. They then doubled the value of the shares atomically by donating yUSD to the yearn vault. This meant that their debt on Cream became $3b against a $2b collateral. They can now default and take home a sweet $1b profit. Cream only had $130m assets available for lending, so the attacker was limited to $130m profits. > 25. Since yUSDVault is now worth double, Cream now thinks that the account A cryUSD is now worth $3b instead of the original $1.5b. Technically, this is true. The vault of yUSDVault shares really did double. There’s no price or oracle manipulation here and don’t let chainlink god tell you otherwise :). > 26. The problem is that account B’s debt suddenly increased to $3b against collateral of just $2b. Account B can now default on the loan and “pocket the $1b profit”. All is not good anymore. In normal circumstances where price of assets changes slowly, the system would’ve liquidated the account B before its debt became more than the collateral. Liquidation isn’t possible here because the price jump happened atomically. Using a TWAP or other time delayed oracle wouldn’t have helped either because you still wouldn’t have been able to liquidate the user. To liquidate a user, you need to buy out their debt position using their collateral. Nobody would have sold $3b worth of yUSDVault to Cream for $2b of ETH. Delaying your oracle input doesn’t mean someone will magically accept your trade at delayed prices.
- shadowgovt 5y agoThis smells vaguely like a check-kiting scheme, only via collateralized debts instead of taking advantage of latency in check account reconciliation between institutions. Famously, a guy managed to build a whole legitimate company atop one of those schemes, which went fine until he missed a step and the whole system crashed. https://krebsonsecurity.com/2019/09/mypayrollhr-ceo-arrested-admits-to-70m-fraud/comment-page-1/ https://krebsonsecurity.com/2019/09/mypayrollhr-ceo-arrested...
- slownews45 5y agoActually, if you were familiar with how these things work, the attack was pretty carefully worked out. That said, since all this code was copycat crap by folks who didn't really understand it - not surprised. In other words, the code really was fine - the folks running the pool were just clueless in terms of what they let trade (ie, not suited to code).