Subscribe to receive an email every time a new post has been published.
All of the round data referenced below can be downloaded from here. The data is part of a project that downloads round data periodically and uploads the csv.
Smart contract bugs
The big story this week in defi world was about an exploit in OpenSea. It started with a phishing attack with a legitimate looking email from OpenSea about migrating your listings.
The contract exploited a bug in WyvernTokenTransferProxy that's been around for nearly a month. It used signature phishing attack, collecting the users signatures and using them to transfer NFTs to outside accounts.
๐ดโโ ๏ธ OPENSEA NFT HACK EXPLAINED THREAD ๐ดโโ ๏ธ
— isotile ๐ฆ๐ (@isotile) February 20, 2022
28 days ago the hacker uploads a new smart contract, he already knows well that his goal is to get as many signatures as possible
๐งต 1/4 pic.twitter.com/WMD9JrrvII
I'm not going to tell you I understand all the technical details, but this is bad. It was a phishing attack, sure, but it was more sophisticated than "click here by accident and you'll send us your NFTs". OpenSea will obviously push the onus on the users who don't closely inspect email headers, but obviously something else went wrong as well.
I wrote on twitter that my bet is that OpenSea will just create a new set of NFTs, make everything right and pretend like nothing happened.
Prediction: there will be an @opensea hard fork. We'll just create new apes pointers and say old ones bad and everyone will be happy and pretend this isn't all bat shit insane #NFTs #DeFi
— bscpredict (@bscpredict) February 20, 2022
I said this as a joke but it's not so crazy! I mean, OpenSea will be happy, NFT owners that were robbed will be, pretty much everyone will be happy except scammers. Oh and those that actually believe in the promise of blockchain.
It happened before on the base layer of Ethereum. There was an exploit in a very popular Dao that held a large percentage of all Ether at the time it was noticed. The attacker got away with tens of millions worth of Ether at the time. Obviously this was bad and very embarrassing. It was especially bad because Ethereum was always planning to move to proof of stake, where the people who control the most capital have more control over the network. So if a malicious hacker had a large percent of Ether, then he could manipulate proof of stake and affect the network greatly.
So naturally the Ethereum community said let's have a do-over! Let's just change the protocol to carve out what happened. Once that precedent, it will be used again, and it has been used. It was used another 2 times in the fourth quarter of 2016 to deal with other attacks.
Stolen NFTs would obviously not require a fork of the Ethereum network, but the same principle applies. It's all made up anyway, so if OpenSea can just say "these tokens were obviously stolen, and here are replacement tokens, and lets just pretend the old ones don't exist anymore", most people will be okay with it! OpenSea is the top dog, so what they say pretty much goes at this point. And besides, who wants to help the scammers get away with it?
I'm against the idea because it just never ends. If the largest player can change the rules and ownership of an asset, what's to stop them from doing so arbitrarily in the future? The point of NFTs isn't "owning" apes. The point is there's something that you own with certainty that has an open distributed api that anyone can interact with. If that ceases to be true and not its whatever OpenSea says it is, we may as well go back to a centralized database and lose all the baggage with blockchain.
Anyway, it'll be interesting to see how this shakes out.
Action
We had a sell-off in crypto late in the week. I believe this was at least partially caused by the talk of an OpenSea exploit.
Prediction volume started the week very low, dropped to ~25 BNB 24-hour trailing rounds, picking up slightly in the middle of the week then dropping off again. I'm not sure if it was due to network issues or just reduced interest but I did notice my bot was a bit choppy during that time.
We didn't have any crazy 100+ BNB rounds and no crazy winner payoffs. The highest successful payoff was 5.23 and some 4+ payoffs.
Winners and Losers
Place | account | games played | won | won USD | Winnings Even Money | Average bet size |
1 | 0x938b3c16adf11f0b1d2f7ebcc21fb3f9a1aeb713 | 293 | 39.64 | 22,800.0 | -0.26 | 1.16 |
2 | 0x556d374fd4108e6ef06a389d840ec03146b92024 | 1167 | 33.1 | 18,810.0 | 56.57 | 0.39 |
3 | 0x188ffb6445691772c5a84c7ffa41fd98b8e2f171 | 368 | 31.45 | 17,670.0 | 30.61 | 0.62 |
4 | 0x52aa9f41f47e3e17df67922e5a9d496a3daf34fb | 536 | 28.33 | 15,960.0 | 60.21 | 0.46 |
5 | 0x953181d887cd7c7f5c9891515e8a3a6c9c4e9583 | 1016 | 25.75 | 14,820.0 | 52.21 | 0.34 |
6 | 0xfb3075b157671c5877a16270c9c2832d15534cc8 | 583 | 22.67 | 13,110.0 | -0.6 | 0.26 |
7 | 0x5284dbc989c2ecdb134d04a424139c684258e35b | 114 | 21.95 | 12,540.0 | 7.72 | 1.39 |
8 | 0x5d83638d550fd72d75f44068f11a22fc6d62398d | 198 | 21.37 | 11,970.0 | 23.21 | 0.71 |
9 | 0x4ee5791d73d0bddf887475c72171c355bdffce44 | 289 | 20.39 | 11,400.0 | 37.34 | 0.55 |
10 | 0x9ce33f20e14a7ebf667f7650ed41df5a31536c9c | 527 | 18.96 | 10,830.0 | 48.11 | 0.31 |
An impressive showing for the bots! Nearly all the top 10 players this week were bots! And bet sizes were reasonable. Obviously the total amount won is pretty low historically, but in the long run this is the way to go. just consistent performance with bets that don't skew the odds too much.
Our #1 did well and obviously scaled his bet sizes a lot. His "even-money" performance as negative. This means if he had bet the same amount on every bet, he would have been down. But he bet seemingly random amounts and somehow came ahead.
Nothing else to note here, besides solid conservative performance by our top players. No more 100+ BNB bounties, but that's fine. That kind of performance is unsustainable
Let's look at the losers
Place | from | games played | won | won USD | Winnings Even Money | Average bet size |
1 | 0xc8923536f8c1a348f15e87315740bb5933aeb4c9 | 48 | -210.95 | -120,270.0 | -15.1 | 9.42 |
2 | 0x124c6842e8e7cd570c34e39232ba6e35f0eba733 | 277 | -150.24 | -85,500.0 | -18.58 | 2.57 |
3 | 0x50ea356a75c9c5dede91e6decfc302931b506387 | 212 | -67.17 | -38,190.0 | -11.95 | 2.48 |
4 | 0xad15528e72067b1c827c642b6f0b6c21cb888079 | 205 | -62.25 | -35,340.0 | -21.51 | 2.78 |
5 | 0x0f04f2c50cb9058edbdae8634cb70259b50bf056 | 258 | -49.68 | -28,500.0 | -43.89 | 0.39 |
6 | 0x03fa3c74efa84bcc6d787439fa109b627f527068 | 422 | -49.41 | -27,930.0 | -19.03 | 4.63 |
7 | 0x870ac69be300372f7d41eaf1cad8ba9ab451abfd | 87 | -35.27 | -19,950.0 | -3.33 | 5.66 |
8 | 0xf269f50b55146ffd78f92bfa9ac929a187d9f663 | 73 | -31.23 | -17,670.0 | -21.04 | 0.98 |
9 | 0x39b35d67dceb86ee4fe22f465993c9e4e121c48b | 58 | -29.67 | -17,100.0 | -14.77 | 3.56 |
10 | 0x41d0fd0112b038494a4e4cfdd48afef776f47214 | 757 | -29.54 | -17,100.0 | 18.41 0 | 97 |
Our #1 loser just can't catch a break. Last week he was down 269 BNB. And this week he's down another 210 BNB. His total net loss is 682 BNB, or around $260k
The guy has conviction, much to his detriment. He throws down large and throws good money after bad. He tends to up his bet size after losing a round but if you look at his performance, it looks like his losses are actually clustered together. They're actually more likely to be random, but that's just how it appears when you look at it.
It's too bad our #1 stole all the spotlight because our #2 is quite the contender himself. Blowing 150 BNB in a week is an accomplishment, and with 277 bets means you have to stay in it, not just blow a few hands.
Well, hats off to all our losers. Without them, we wouldn't have winners.
As always, feel free to reach out with questions or comments or want my to highlight anything different on my weekly market recaps. If you like what you read and want to subscribe to receive an email when a new post is published, click here.
Good luck and bet responsibly!