One thing that banks do is allow you to take physical currency and deposit it into an account you have with them. You hand them a $100 bill and the bank credits your account $100. They also let you come back whenever you want and get your $100 back. You can wait one week or one year or five minutes. When you show up and ask for your $100, they hand you a $100 bill (or five $20 bills or ten $10 bills, you get the point). In short, when you deposit that hundred-dollar bill, the bank creates a $100 liability. In order to make good on that liability, they keep some $100 bills on hand in case you show up.
Now, the bank doesn’t just hold on to everyone’s money. Some of the money that people deposit gets lent out to borrowers, or is used to buy some sort of asset. In this way, the bank is creating money when it issues liabilities since its dollar liabilities exceed the dollars it is physically holding. Since the bank is issuing dollar-denominated liabilities, they need some way to ensure that your dollar is worth one dollar. Banks do this by holding some dollars in reserve. When you show up to get your $100, they have a $100 bill waiting for you. It might not be the same $100 bill you left there, but it is a $100 bill and $100 bills are fungible and so that is fine with you.
The dollars the bank holds are only a fraction of the deposit liabilities they issue. On any given day, there is some number of people who make new deposits and some number of people who make withdrawals. Sometimes deposits exceed withdrawals and sometimes withdrawals exceed deposits. Sometimes these excess deposits or withdrawals are predictable. Other times, they are not. In order to deal with this sort of thing, the bank will hold some buffer of dollars to cover unanticipated excess withdrawals. As long as everyone doesn’t show up at once to redeem their liabilities, this is fine. Of course, if everyone shows up, some people will be able to get their dollars and some people will not. Most of the time this is not a problem. You promise people that your $1 liability is worth $1 and you ensure that this is true by holding some actual, physical dollars.
An alternative to this is to say forget all that. I can issue dollar liabilities and I don’t need to have any dollars at all. I can just promise that my dollar liabilities are worth a dollar. If somebody comes to me with that liability and says “I would like my dollar,” I can say “you have one right there. That is as good as a dollar. You have my word.”
This is clearly different from how a traditional bank works. Banks hold actual dollars and they give them to the people who want to redeem their digital dollars for physical dollars. But banks require a lot of overhead. You need buildings and bank vaults and bank tellers. Who needs all that?
Instead, you can just go with my plan and just issue dollar liabilities and not store any dollars and not pay any bank tellers and worry not about bank vaults. You can just make a promise.
You might say that my plan sounds stupid, but you haven’t heard the whole thing. Instead of having a bank, I am going to issue my dollar liabilities on a blockchain and everyone loves blockchains, so my plan seems a little bit better now.
Now that I’ve got your attention, you might be wondering how I am going to pull this off. I’ll just use supply and demand. I issue this liability and I tell everyone it is worth a dollar, but I issue it on the blockchain and these blockchains have decentralized exchanges. That means that my liability will be traded on a secondary market. But since I understand supply and demand, this is fine. I determine the supply and the people who use the blockchain determine the demand. Thus, when the price of my liability is above $1, I will increase the supply. When the price is below $1, I will decrease the supply. My knowledge of supply and demand is therefore all that is needed here. Stupid banks.
But wait, you wonder, how will I actually go about increasing or decreasing the supply? Increasing the supply could be easy. I could just figure out a way to randomly send it to some digital wallet. After all, this is a blockchain (I mentioned this is a blockchain, right?). Of course, reducing the supply would be hard to do this way since I can’t just remove my dollar liabilities from random digital wallets.
Don’t worry, I have a plan. I’ve studied monetary policy for years. When the Fed wants to increase or decrease the money supply, they conduct open market operations. When I want to increase the supply, I can buy something from people. When I want to decrease the supply, I can sell something to people. However, unlike the Fed, I can’t really compel dealers to trade with me.
I need to be creative. Here is my idea: I can issue a second liability. However, unlike the other liability, this one will have a free-floating price. To give people an incentive to do the trades I want them to do, I will create an arbitrage opportunity to incentivize the trade. When my dollar liability is trading above one dollar, people can trade me $X of flexible price liability in exchange for X new units of my dollar liability. Since the dollar liability is trading above a dollar, this is a risk-free profit for the trader. When my dollar liability is trading below a dollar, I will allow people to sell me X units of the dollar liability for $X of the flexible price liability. For example, if the price of my dollar liability is $0.90, they can give me that liability, and I will give them $1 worth of the flexible price liability. A risk-free profit of $0.10.
This arbitrage opportunity allows me to reduce the supply of my dollar liabilities when my dollar liability trades at a discount and increase the supply when my dollar liability trades at a premium. For a given level of demand, these changes in the supply should ensure that the price of my dollar liability is indeed equal to $1.
I have thus created a dollar liability that requires zero dollar reserves, uses the basic principles of supply and demand, and has a market-based monetary policy to keep everything working.
Unfortunately, my plan does not take into account a couple of factors. I have created two assets out of thin air, and these assets are self-referential. My one worthless asset is used to make arbitrage profits with my other worthless asset. As long as everyone is willing to play this game and profit from the arbitrage, it works. But suppose someone decides to deviate from the game. This can influence expectations. For example, suppose someone starts shorting both assets. This drives down the price of both assets. If people think that the prices are going to continue to decline, this decreases the demand. In terms of my dollar liability, this is fine as long as the supply is falling faster than the decline in demand. If so, the price will move higher. But remember, when the supply of the dollar liability is declining, this is because I am increasing the supply of the flexible price liability. So the flexible price liability has a declining demand and an increasing supply. Both of these cause prices to fall.
Regardless of whether the price of the dollar liability is rising or falling, it must be the case that the price of the flexible liability is falling (and falling at a faster rate than any decline in the price of the dollar liability). If the price of my flexible price liability is expected to decline faster than the price of the dollar liability, then the arbitrage opportunity no longer works. I don’t want to trade $0.90 of one asset for $1 of another if I expect that this other asset will fall by 20 percent. Thus, I have an incentive to sell the dollar liability for some other asset, which further drives down the price. The result is that the prices of both of my worthless assets go to zero.
So anyway, a few weeks ago the stablecoin called TerraUSD broke its peg from the dollar and collapsed along with the protocol’s flexible price LUNA token, and now you know why.