- LFW: A quick point on lot sizes, we could try a compromise parameter. 50 to 500 is a ten-time increase. We could try something that’s less an increase, like 100 or something.
- MM: We could do 20, 40, 80, 160, or something like that. Some kind of range like that, in factors of 2.
- LFW: Currently, we can only do one at the time. There’s only one parameter, and the system can only support having one.
- MM: You’re right; it’s the contract that would require changing to do to spread out. There’s a
lump function so you can just pick a small size and change how it’s fanning out; you just make that more modest and have it do it’s fan-out differently, that’s all.
- LFW: If we’re talking about the things that we could do immediately, we could try a compromise parameter for lot size. 100 is still twice what we had on Black Thursday.
- MM: Yes, I agree. If you’re going to do anything within the system now, definitely bring it down. And it looked like 50 was pretty good, but if we think we need additional liquidity, I don’t think 100 will be enough if we run into another black swan event. 25% isn’t that bad. It’s the back-to-back 25% that was the real nailer. The second one was coming literally within 24 hours. Bam-bam! And that was after going down; I think 10% from $220 or $210, into the $180 range. (If I remember my prices right here as I was looking at all of this.) Price was about 10% down, and then did a 25% down, it was like Bam! And then it paused for a bit, and then within 24 hours, it did another 25% that took the OSM right down to $100. And then it just came back up quickly to $120 or something like that.
- Rich: I’m going to poke people in the sidebar again because it seems that they’re proposing innovative solutions that are going to get lost unless that we mention them.
- SamM: One idea was to throttle, I think that requires smart contract modifications? Another way we could throttle is: to put a sane minimum bid of maybe 20%, or 30% or something, just so they have to stake something, before kicking off an auction.
- MM: I have that as a recommendation that before you even
deal it, you can do it as a
kick as well. That there should be a minimum required bid, that I picked as a percentage of the OSM, just because the OSM is the metric that Maker uses to determine its brain of action. When it’s going to act, it’s going to respond when its OSM changes, so maybe we should have other things in the systems change, and that’s one of them.
- SamM: It’s minor change though, LongForWisdom, regarding the smart contracts. If there’s one, it’s a lot easier than putting “only so much collateral can be auctioned at a time” throttling mechanism.
- LFW: Sure. That makes sense. Chris shared a link to PR fix, but that’s been done.
- MM: I would encourage all the noodling on this, just put it on the forums, because I knew that this would spur tons of discussions already from several takeaways on the report, so all the stuff is good. We need it. Put it there. The more data, the better, I think, on the data and analytics.
- Rich: This is a great conversation, but we’re running out of time. Sorry, MakerMan, can we move back to your recommendations at the bottom of the report?
- MM: I had the points here; you can read them. I have conclusions. The performance of the auction was impaired; we can see it. When they did come up, we got back 10-11%, you can look at these full averages. You can look at the figure and try to guess what you think the number is, what you would expect there.
- MM: This image illustrates the impaired performance. When we have more keepers, we have this pre-AGC period. There were still auctions even after this event that hit the 10-14% range. And post-AGC, we see examples of two times as many bidders or bids, depends on how you define it. We need to look at the bidders, and the lot sizes increase. But the total collateral is down. For vault-holders, we’re kind of sucking at the auction system right now. 3.5% now, and it should be kind of normal-ish versus almost 18% before, and that’s even short of the 25% theoretical, but I guess you could expect that. You could data-average this. So, the recommendations:
- Consider rejecting
deals and re-
kicking auctions, if you don’t have three bids and two unique bidders. If we can do that, I think it would help. We could debate whether it would or whether it’s game-able, that’s a separate issue. I just have it as a recommendation.
- If the bid
deal is not at least some fraction of the
OSM, you kick it right back into the bidding system. Don’t let it go. You need to flag governance to say: am I going to let this one go or not? This should be accumulated and then re-issued with some thinking behind it. If we’re looking at like a third of the market, there’s a certain point I have ideas on how to liquefy the system, but there’s a certain point where price-drop just nails you, and there’s not much that you can do about it.
- Consider staggering and standardizing lot sizes. You want to throw different sizes. I give an idea on how to do that. You want to get a feeling for what markets will do at all times by staggering these lot sizes. If you can do that, you can sample your market by the size of the liquidity, and it will immediately give you statistics on system operations. Just a suggestion, I know it requires contract changes. I suggested going back to a lot size of 50 ETH. It shouldn’t be more than 50, given what we’re seeing. It’s all debatable. Performance issues could be due to timing; it could be other stuff going on; we don’t have enough data. I would completely agree with that.
- It looks that longer auctions do get more bids. If you think that getting more bids makes it better, it should, but then you could go back and look. We are not getting better bids in those bigger auction sizes, and that data stands out itself. Whatever is going on in the bidding system is related to the lot size. Whether it is related to the new time element or not is unclear because we just didn’t have big auctions back then. And then, I tried to run this in a compensation analysis. This will be too long if I go through all of this:
- You ask, “what do you think the collateral return should be if you thought these auctions were impaired, and you were going to compensate?” It’s pretty simple. And when you think about it in Ethereum, it even becomes simpler. You can always reference it to a price somehow, but how you do that, you have to decide it and run it through the data. I kind of refused to do that. Just given the number of scenarios I was already looking at.
- Evaluating collateral return deficit with a fixed number of vaults here, the 114 column in table 8 is pretty much all the auctions that fit the criteria of the nominal collateral return. 113 or under, by definition, should not get any collateral back, and these should all stay the same. This evaluation was a sanity check of my spreadsheet-database asking myself, was I doing the right thing. And hence all these numbers scale.
- For example, there is a vault whose auction got the full tab, so the system made its 13% off them, but they didn’t get collateral back. So you could argue that the system has already made 13% off of several people. Just take the differences with the last two columns. It’s up to you to choose whom you’re trying to make whole.
- And that’s it, you go through the data, and you decide what you think. You can debate what you think the value of the ETH was at the time, and what you want to do about that. I did this only for ETH because it was already pretty time-consuming. I was looking at the data before I even had an idea I was going to have to report this. I was just curious about it. And this finally evolved into this report, and try to get as much data as I could pack into it and then do what I could with my spreadsheet versus what I need as a database. A database I can do queries on, and pull this stuff out, and do graphs, and everything is just cleaner and simpler. I just don’t have those tools. So this is only the compensation report.
- You guys can look at it, Debate for yourselves what you think about it. I kind of frame the poll percentages. I made these 5% marks. 0-5, 5-10, 10-15, 15-20, 25-25, above 25, should you want to have that option.
- Because when you look at zeroes, you’re saying “no, not giving you nothing, you should have known better,”
- 0-5 is like “mmm, I think we should give them something, because they could have done better, but not that much,”
- 5-10 is “mmm, a little more than not-that-much, but not quite even half of what you think theoretical is.”
- 10-15 is “ah, half the theoretical.”
- then you go above that, for different reasons, and they all seem to be kind of clear framing. I think I make a post on this in the forum.
- You can do different things with these buckets, but it was my suggestion for if we’re even going to poll for compensating. You kind of want to look at no and yes, and if it’s yes, then “how much?” and how you figure out that as a percentage that you can then put to the full group as “alright, let’s approve 13.48%,” or whatever the number is. The polling, someone else will handle it. I put that in the forum as a suggestion. The rest of it is just “thank yous.” This report could have errors; please audit it. Eventually, I’ll release my dataset; I’m paring stuff away that doesn’t need to be there, because I have a lot of excessive stuff in my spreadsheet for other reasons, and then references.
- Rich: I’m going to use that as a segue to thank you, MakerMan, for all the work that you put into this. The main takeaway for me is that there’s a lot of data that needs to parsing. This is the starting point, I feel, for the community to begin to solidify around a solution, around a target for ourselves, so this is exciting stuff.
- MM: One more minute, Rich, to make a pitch to the community. So I just want to say, officially, Rich paid me 4,000 Dai for this report. It’s kind of as-is, my work, I consider it done, and releasing the data kind of finalizes it for me. But I want to put those 4,000 Dai up, against like 10 for 1, and I want to raise some money to make an independent analyst group for Maker. So if anybody is interested, I’m willing to do that. I can give an address, and I think that if we can do something independently, raise some funds, get people working on something and do it independently somehow better, I think it would be great. And I would like to manage such a group, to work on analysis and help you guys out. Just an idea, you can contact me by email, it’s in my report. That’s it. Thank you.
- Rich: That’s amazing and super-generous. I appreciate that. We’ll figure something out. The Foundation is enormously interested in bootstrapping initiatives in the ecosystem, so obviously we take arms lengths, people are doing some cool stuff, and we want to help them to do that cool stuff so that we will figure something out. There are grants programs and lots of other programs. We have resources we can bring to the process. That’s a great recap, thanks again for all the work that you put into it. I encourage the community to jump into that forum thread and internalize this information. Take a look at those recommendations, and not only talk about the compensation issues, but let’s continue the discussion on the improvements to the auction mechanism. In the sidebar, there are lots of really fresh ideas that need capturing somewhere, so I encourage the side chat to add those to the forums as well.
Questions and Comments
- Akash: Auctions are supposed to be last resort. Right? There should be a way. d I believe DeFiSaver has this, they’re using flash loans on your current vault to unwind you before you get to the auction. That would save the user 13% of liquidation fees. Is everyone familiar with this? I think that should be promoted as a useful way to avoid the auction and paying 13%.
- Rich: There are larger discussions here, and I’ll frame it: why auctions in the first place? It’s an interesting question. My understanding is that the protocol is looking for the most efficient way to handle price discovery, so obviously, auctions are an enormously efficient way of discovering price. The problem here is that people need to use auctions. So, these questions about increasing the agility of these auctions, the accessibility, and efficiency of them, versus additional ways to source liquidity. I know that lev is in the call, and I don’t want to push him under this bus, but I know that lev has done some deep thinking into the auction mechanism, and he might be the person to speak to it.
- Akash: If you have a small vault, you should be using those tools to avoid the 13% penalty fee. But if you have a large vault, then you could not use that mechanism because you have had a gigantic price impact if you’re automatically interacting with UniSwap and pushing the prices around. So if that user is using a large vault, they should not use that automated mechanism because you will end up probably losing more, and you should rely on the auction mechanism that Maker has. But if you’re a small user, then you could avoid the 13% penalty fee by just using something like DeFiSaver, where it automatically unwinds you. I hope that makes sense, everyone.
- Lev: I generally agree with the thing that Akash said first. In general, this doesn’t seem to be discussed enough, the
CDP operator structure, and then it’s just taken as a given that these auctions are going to happen, and people are going to be subject to the prices that they get in the auctions. When in reality, you could even make the case that no auction should ever happen because the user is going to be hit with this very high liquidation penalty already, even assuming that the auction goes very very well. The auction might not go that well. And even the most significant
CDPs on the market, they should be able to get much less than a 13% penalty off-market for their collateral auction. You could say that no one should hold
CDPs naked without any infrastructure that’s going to avoid liquidations, so really an auction happening is a disastrous scenario where some technology has already failed before the auction has even started. And the auctions are not intended to get reasonable prices for users; they’re a backstop to protect the system. There’s an argument that the penalty should be 100%, in the sense that you never get any collateral back because you screwed up if you allow that to happen.
- I’m not proposing this as a policy right now. But I’m saying that this is a valid perspective on the system, that the auction is essentially a piece of last resort infrastructure where the situation is out of the user’s hand. There’s no obligation to them anymore. I think it’s imperative to develop and promote the development of
CDP management infrastructure, whether that’s these 3rd party services or smart contracts that you can delegate to, that rescue your
CDP before it gets liquidated. Or maybe even services where you hire someone to manage your CDP for you. Or, if you’re adventurous, software that will execute some trading strategies to self-liquidate your
CDP under certain circumstances. All of those things, in my opinion, that everyone should be doing if you have a
CDP. Otherwise, you’re going to sleep, and you’re saying, “I’m going to wake up tomorrow, and all of my stuff will be gone because I technically screwed up,” and I don’t think that’s right.
- Rich: There’s an expectation with the protocol that people need to actively and continuously manage their positions.
- lev: The message should be set by this very high liquidation penalty of 13%, which is saying essentially “this is not a handy way of liquidating a position, 13% is crazy.” It’s saying, “you really screwed up now, and we’re trying to discourage this punitively.” This is why I would say to Akash’s last point that we need to make sure that there are solutions for large
CDPs that can manage their
CDPs before liquidation. I don’t agree that the right thing for large
CDPs is to let it go to auctions. You could get a much better price than that going over the counter to a market maker or going on many exchanges. Of course, that liquidity might not be atomically available on decentralized exchanges.
- Rich: You’re talking about best-case scenarios. Would OTC or liquidity providers have saved people heartaches on March 12th?
- lev: Yes, you would’ve been able to liquidate at any point on March 12th, probably any of these positions. Probably pretty nasty slippage in the grand scheme of things, but probably less than 13% and also definitely much much less than what they got, which was zero.
- Akash: I do want to add another point. For large
CDPs, I don’t know if people are correctly using all the tools available. We noticed a large
CDP a couple of weeks ago went on Coinbase, bought a lot of Dai pushing the price extremely high. In my opinion, the correct sequence of events is: if you had a large
CDP, you could go to the USDC vault, mint the Dai that you need, close off your ETH vault, and essentially now you have switched yourself to a USDC vault. Then slowly buy Dai and close that up, instead of aggressively pushing prices. I don’t know if that makes sense to everyone.
- lev: I think this is a great point. I agree about the general point on not using the tools available. On this specific example, I would say that compared to
CDP users that have gotten liquidated, that
CDP user that you described was much more effective. If I remember correctly, they ended up paying $1.04, or $1.05, so a couple of cents premium over the market before that for getting that Dai, which is much less than the liquidation cost them. Also, with this USDC play, they would then be stuck with the stability fee for some time until they managed to close it up. It would probably be a little bit more efficient. Maybe you would save a couple of cents on Dai, but basically, everyone who’s getting liquidated is ten times worse than that. So the low-hanging fruit to me is that no one should be getting liquidated, every liquidation should be examined as some kind of failure.
- Akash: I agree with that general sentiment.
- MakerMan: I wanted to echo that as well. The idea that we could have some sort of automated vault management. A liquidation protection system that people can buy. And maybe even 3rd parties can provide through the system or independently. The more, the merrier, but Maker should offer that service itself. However, I think that all solutions should be encouraged on that. I didn’t get to look at that data, but what was clear was, out of the $45 million that was liquidated, roughly $13 million went through the Maker auction itself. The rest of it kind of self-liquidated out there in the markets. A lot of the stuff went through other places; it had to. I didn’t even begin to look at that. That would be an interesting data point and then analysis as well. Because we got vault holders that are here kind of like “Hey, I self-liquidated vault
2288,” he was the one that kind of nudged this a little bit. He was one guy that self-liquidated and got about 13% of his collateral back if I have him right. Every percent that we lower our fee, and they get more collateral back, potentially. It’s an important issue to discuss. You have to have the right mechanics in the system. What that fee is, what you do with it, how you manage it. It’s a whole different thing. I also agree with lev in particular that every auction is a failure for some participant. That is bad. It needs to be avoided. What I have it at, 120,000 ETH, out of around 2Million, I’m guessing, and I don’t have the exact number in my head at the time. But it was like 10%, 10-15%. It was pretty good for a 50% drop that we only ate through that much collateral. And I think it was due to these secondary agents kind of saving our ass, really. I think we can do better. So I agree across the board.
The State of the Peg
- First things first, I know we have the vote going through about the Dai supply, but the growth of the Dai supply has continued at the rate that we identified around the 19th. That uptick did continue precisely the same pattern. As called out, this is very likely to hit the 100 Million mark and appears to have been addressed now by increasing the debt ceiling.
- What impact is that having? Why, why not? I know a lot of people had questions, with ETH pumping so recently, the question is, what’s the impact on the Dai price?
- What we saw around the start of the 29th, we saw this price start to level out and come down a bit. Then, in that exact time frame, ETH continued its run-up. We’ve seen this inverse relationship between ETH and Dai, particularly when ETH is volatile or crashing. When ETH is rising, and people have confidence in the continued rise of the ETH price, we generally tend to see a reversion of that behavior. There were a lot of trades at or below a dollar, right at that moment that ETH started to jump on the 29th. That makes sense because people are bullish on ETH when it’s starting to jump. Potentially we see some selling of Dai and some purchasing of ETH, aka some leveraging behavior. The Dai supply has been increasing, and all of those behaviors kinds of adds up.
- As the ETH price continued to rise, then the Dai trades started to happen at a little bit higher price. We can break that down as to why, but I’m also guessing there was a fair amount of market makers that maybe picked up a little inventory as soon as it dipped. That would make a lot of sense. Given all the events and all the volatility that happened prior, it would make sense for market makers to been cleared out of inventory. And this dip would have been an opportunity for someone to repurchase Dai at a reasonable price. We would love to talk to some market makers to get that data, but if that was the case, then it would push back the Dai price a little bit. The average is still kind of sitting at $1.015, but if we see some of the trades that continue to the trend more than 1.005 or at a dollar, then this average would naturally come down over the next 24-48 hours. That price reduction behavior would make sense with what’s going on with the ETH, but there are certain combinations of market conditions where it wouldn’t necessarily need to come down.
- People are in the wait and see holding pattern with ETH itself, and I think that trickles down to Dai because Dai is exceptionally responsive to general market conditions, ETH in particular. I think we would have to wait and see what happens next. I wouldn’t over-index on the current Dai price because this has gone up and down in the same 48-hour period, so that data is going to be a little bit screwy. You want to give it a little time to cool down to see what happens next. If anybody was getting alarmed because Dai is not coming down, again: I would just urge a little bit of patience to see what happens next, because ETH did just do a bit of a 180 in momentum, and I think that’s going to be throwing off the market a little bit.
- If a lot of that trading activity, when Dai dipped below, were purchasing activities, it might mean that there’s a lot of people sitting on Dai that are waiting to lever up at the right moment. Given the ETH price just increased, that would mean that they’re waiting for ETH to come back down. I think that’s a fair point to consider here, is that I usually mention this “easy come easy go” thing. If ETH price has jumped significantly in a short time frame, I think a lot of people and I would be wary of that and would not necessarily act on it and might just be waiting for that to potentially level back down before taking actions. It doesn’t necessarily make a lot of sense that the Dai supply has been continually increasing over the last week or two but that the Dai price has not been continuously decreasing. Except if you consider that people have been minting that Dai but not necessarily selling it. And the reason is if they’re waiting for a certain action to happen, stocking up on inventory to take some potential action, or they’re just uncertain given the speed and frequency of ETH price changing, and they want things to level out a little bit before they take those actions. These are potential explanations of what’s going on, but as always, we can only ever guess at people’s reasoning.
- Total Sai is down to 10.2 million. Total Dai is up. So that’s resuming progress as normal, it seems, in terms of shutdown migration, etc. I know there are a lot of other threads in context right now on what happens when the Sai shuts down, so I’m not going to touch that. The point in terms of the total supply out there is kind of resuming a more normal state, post-Black-Thursday events, so I think that’s a good indicator.
- In terms of Dai from ETH utilization 98%, Dai from USDC there’s 823,000 Dai from USDC, with the current debt ceiling of $20 million, so that’s a pretty small bucket right now, and I think that makes a lot of sense given that it’s the more expensive option at the moment. In addition to the emergency parameters and given the fact that there’s not a huge need right now for minting and selling of Dai from USDC for auctions, liquidations, etc.
- Just to clarify some of the comments in the chat: there was an executive that passed to increase the debt ceiling. That happened rather quickly. I don’t think there are any other relevant questions, but if I missed something, let me know.
- I’m going to wrap things up a bit. Thanks, MakerMan, once again, for that awesome presentation. Please join us in the forums, that’s where governance happens. These calls are broadcast information and consensus gathering but not creating. Join us in the forums where Governance actually takes place. Keep an eye on the portal as some weighty executives are coming our way tomorrow. And thanks to everyone for joining us, this was a good call. Talk to you next week.
MCD system stats
SCD system stats
DAI & Sai 24hr VWAP Graphs
Common Abbreviated Terms
SCD: The Single-Collateral Dai system
MCD: The Multi-Collateral Dai system
DC: Debt Ceiling
ES: Emergency Shutdown
SF: Stability Fee
DSR: Dai Savings Rate
AGC: Auction Governance Change
OSM: Oracle Security Module
TTL: Time to Liquidation
- Tim Black produced this summary.
- David Utrobin produced this summary.
- Igor Teslya produced this summary.
- Juan Guillen produced this summary.
- Everyone who spoke and presented on the call (listed in the headers.)