Proposals timelock withdraws, limit withdrawal size, conditional withdrawal based on peg

I am going to ask for patience and forgiveness in my utter naivety and ignorance, in explaining to me as to why what seems like obvious solutions to me are not possible or dumb ideas. I genuinely want to understand the domain better.

  • If there is a timelock on bLuna and bLuna redemptions take at least 21 days to process. Why cant there be a similar timelock on the withdrawal of deposited UST?

  • If sudden withdrawal of depostited UST is causing major shifts in the protocol then maybe the transaction size should be limited? Could it be made so that you can only withdraw up to a certain size per transaction?

  • If the UST if off the peg then perhaps the withdrawal of deposited UST is disabled until the peg regains the peg to the dollar? We could say that if the peg is off by over 10% then withdrawals are disabled until the peg is back in that margin? Maybe use an oracle in the contract to enforce it.

Sorry for such obviously naive questions, I just felt the need to put it forward. I really do want to understand the protocol deeper.

Thanks

Those are all valid ideas. I think many would argue that it goes against the whole ethos of “permission-less” and “censorship-free” DeFi. The counter argument would be that DeFi, in such an idealized utopian, can never really work, not long-term and reliably. As to is that right or not, only time will tell.

Also, withdrawal transaction size limits are not possible, period. It’s not like there is only one wallet per customer. Say the limit is 100K UST. Someone has 1M of deposits. Easy. They just create 10 different Terra/Anchor wallets, with 100K in each. Additionally, transaction limits would scare away the biggest depositors, who are actually the most consequential to growth (but also, yes, to risk, as when the big ones move, everyone feels the ripple effects).

Forget limiting withdrawals. All withdrawals need to be stopped to prevent a bank run of this nature from happening. I’m sure USDT, USDC etc wouldnt have survived a bank run of this magnitude either without a massive depeg.

But since UST is algorithmic, it will be used as an example for others to never try something like this again.

A “bank run” of this magnitude would be a drop in the bucket for those much larger stablecoins market capitalization. And it’s not centralized and mostly held in one place like UST was on Anchor, but spread across countless CEXes, DEXes, individual wallets, and so on. So there wouldn’t be one centralized place to “stop” withdrawals from.

A bank run of “relative” size to the MCap of the centralized stables obviously.

And that’s exactly my point. We had Anchor which held most of the money. Withdrawals should have been stopped to save the ecosystem the same way banks stop withdrawals during emergencies. I’ve seen people propose a time lock multiple times but unfortunately we focused on growth over safety. We all got greedy and now we’re paying the price.

Yes, but then you get your money back from the government guarantor (up to the insured amount).

In regulated banking, if there is a bank run, withdrawals are temporarily ceased. Next business day (if the regulator is competent) all depositors get their money back in another bank account automatically, up to the insured amount. That’s how it works in the real world (one of the many things that works leaps and bounds better in the TradFi than CryptoFi). For something similar to be the case with Anchor there would need to be included deposit insurance, covering every depositor. Obviously up to a limit. But that would require mandatory KYC, to ensure that someone doesn’t bypass the insured per depositor limits by creating multiple wallets.

Built-in insurance, both of de-peg and smart contract bugs, up to a certain insured amount, is what would make Anchor work again. It may not be for 100% (may be for 90% or at least 80% of your balance?), and it may be limited to something like 500,000 or even 250,000 or what not, per depositor. But, now THAT is what would regain trust. And that would make it possible to temporarily suspend withdrawals in case of a bank run, with insured payouts coming if it can’t be orderly resumed. (But then in what currency would the insured amounts be paid? It would have to be in underlying fiat, anything crypto may cause depeg when payouts begin. But for sure Kwon and TFL would be never allowed to even get a glance at US banking license.)

Also, withdrawal transaction size limits are not possible, period. It’s not like there is only one wallet per customer. Say the limit is 100K UST. Someone has 1M of deposits. Easy. They just create 10 different Terra/Anchor wallets, with 100K in each. Additionally, transaction limits would scare away the biggest depositors, who are actually the most consequential to growth (but also, yes, to risk, as when the big ones move, everyone feels the ripple effects).>

I am going to have to take your word for it as I am sure you would know better than I, but just to be clear the idea is not to limit a single account to a withdrawal size but rather a single transaction and should be implemented together with the third proposal, to give the protocol time to recover.

If any one single transaction is able to single handedly depeg UST by more than 10% then what good is the protocol anyway. If a big depositor is scared away because they cant make a withdrawal of the size that will single handedly depeg the dollar then they should also be equally scared away by an easily depeged protocol. A depositor whose only reason to not participate is that they cannot make transactions of sizes that affect the pegging of the dollar should be saved from themselves, because doing so would ultimately hurt themselves and the entire system they are participating in.

Anchor withdrawals do not affect peg. UST exchange for real money (or USDT, USDC) does. And it’s not any single withdrawal here but millions of withdrawals in a mass retail panic (the whale withdrawals and UST sales only took the peg down by 1-2 cents, retail did the rest). Plus, a transaction size limit would be pointless, as one can just do multiple transactions…and if limited wallet, just spread over multiple wallets.

Sorry, don’t mean to throw cold water on your ideas. But that’s just how it is. We all definitely need to think what and how can be done better; there is no easy simple magical solution.

IMO the only option to make Anchor work and be feasible going forward is for deposit insurance (peg and smart contract) to be included for all deposits, up to a limit and for KYCed customers. Lower rates, but peace of mind. And nothing prevents a parallel product with higher rates but no insurance, for accredited investors only probably (or not KYCed). To make this work TFL or LFG would need to get an actual (real world) insurance company aboard. Or have their VCs fund and create one for this.

1 Like

Okay I gotcha thanks for explaining

USDT and USDC are to an extent free-riding off of the Fed. UST was trying to act like a Central Bank, and should have had a mechanism to create liquidity to hold the peg. Or the crypto space could have had a decentralized central bank to backstop the system.

Anyway collateralized stable coins, backed by fiat, backed by nothing but over-leverage and stagflation was deemed more risky than UST in my view. Attack notwithstanding, that could still prove correct.

IMHO, Anchor withdrawals do affect peg, because the instant redeemability of aUST to UST means that UST can be bridged over to Curve (or anywhere) and sold down, pressuring the peg. This makes Anchor the largest reservoir of UST in the Terra ecosystem.

To stop UST exit pressure we need to control capital outflows- which means term-locking UST in Anchor (like a CD at a bank) to prevent what is happening right now (a bank run).

For a simplified example, a bank run on a bank that only offered CDs would be nigh impossible, since the maturity dates would all be staggered and anyone showing up to demand their CD would merely get an IOU. In a panic, it’s the cash accounts at banks that get drained and cause insolvencies.

We need to covert the UST in Anchor into term deposits ASAP. Doing so would resolve the peg issue almost immediately by allowing the market module to catch up to UST burns.

That ship has sailed long ago… there’s almost nothing left to term-lock.

https://grafana.luigi311.com/d/7j96rRI7z/anchor?orgId=2&from=now-1M&to=now