In yesterday's post I tried to explain how valuable it would be if this platform added a smart contract to the core consensus layer that allowed HBD to be created and destroyed using the MakerDAO method of collaterilized debt positions (CDP).
I still have a lot more to explain.
It's somehow both very complex and very simple at the same time. The devil is in the details.
Stable-coins are pegged to their respective assets using the push and pull of supply and demand. Assuming USD, if the token is under $1 the network must lower supply and/or increase demand; if the token is >$1, supply is raised. You would never want to lower the demand of your own network.
In the case of Tether and other centralized stable-coins every token is supposed to be collateralized by $1. This way if the demand for Tether Black Swans dollars in the bank can be used to prop up its own value and provide liquidity to the market. In effect, the stable-coin issuer buys back their own tokens to keep their asset around a $1 value. When the value of the stable-coin is higher than $1 they basically get to print money out of thin air and turn a profit for zero effort.
Decentralized stable coins like Dai and HBD work much differently.
How can supply and demand be manipulated when there are no dollars in the bank to draw from?
We must use crypto instead.
MakerDAO uses high interest rates to discourage borrowing and reduce Dai supply when trading <$1. Luckily for them, they haven't had to worry about Dai trading higher than a dollar yet, as 0.5% APR has been enough incentive to entice the community to print more money (lock Ethereum) when the need arises. To be fair these assets are rarely ever worried about getting pumped and only dread the dump (and for good reason).
I maintain that interest rates are wholly unnecessary and predatory.
On Hive when HBD is trading at or greater than $1 we print half of our author inflation as HBD to try and keep up with demand. Hive (then Steem) is a great example of how we could not keep up with demand, and it burned us. SBD spiked to $13 a coin and this caused our economy to fall way out of sync. Millions of SBD were being printed that would later not be destroyed until it was too late (<$1) and the market was flooded with Steem that should have never existed.
When HBD is <$1 we print less of it and can begin the process of burning HBD to acquire $1's worth of Hive per token. However, when the theoretical market cap of HBD (assuming $1 value) is 10% or higher than Hive, we have to haircut these conversions and HBD dips under the peg with very little incentive to buy back up to the peg (until the value of Hive goes back up).
A CPD smart-contract on Hive would fix all these pegging issues.
@teutonium writes:
Without interest how would you "force" the price of the token to go above $1? Maybe on Hive you can by adjusting the issuance rate and the conversion to HIVE, but on a normal blockchain without the sort of mechanisms that Hive has, not sure if it's possible.
This is a valid concern.
If I claim that interest rates are unnecessary, then what lever does the network have to manipulate the peg into the direction it needs to go? The answer lies in the collateralization percent requirement.
If it were up to me, I would boot up this contract starting at very safe levels. On MakerDAO, one must collateralize by at least 150% of the loan. To start, I would increase this level to 300%. This would mean every HBD must be collateralized by at least $3 worth of Hive upon creation.
Unique advantage.
Imagine this scenario: I have $3000 worth of Hive locked up in a CDP and I use that to create 1000 HBD. Think about how much that HBD is worth. It took $3000 being locked up just to be able to be created. How much would that $3000 worth of Hive be if I had simply powered it up and started voting/curating with it? MakerDAO doesn't have these other features that Hive does.
It becomes obvious that the 1000 HBD I created is actually worth a lot more than $1000 because the collateralization requirement is so high that the demand for HBD far exceeds the supply. It is in this way that interest rates are wholly unnecessary and only serve to make the platform appear greedy and predatory. We only need to manipulate the collateral requirement to nudge the peg into the right direction.
REPUTATION (credit scores)
This is another way to push the peg into the correct direction. Blockchain credit scores will be very useful in the future.
Here are some examples of how to raise your score:
- Buying bad debt.
- Providing static liquidity to the Hive/HBD trading pair
- Pushing the value of HBD toward the peg (market orders).
- Holding HBD to force a coin lock. (If a whale holds 1M HBD this forces someone else to keep their Hive locked in a CDP)
Examples for losing credit rating:
- Having bad debt
- Margin trading (dumping HBD for Hive) when HBD is <$1
- Otherwise pushing HBD in the wrong direction.
- Draining liquidity.
These credit scores would be transparent platform-wide, and would be used for dozens of purposes.
liquidation_percent
This is the biggest error that MakerDAO made. They did not separate the liquidation percent with the collateral required percent. Instead, these are combined into the same variable. There should obviously be a gap between the two.
In my example with 300% required collateral, the liquidation percent could be as low as 125% (even 105%) because out network is so fast and we can allow bad debt to sit on the platform without really having to worry about it. This means that while it might take $3000 to create 1000 HBD, Hive would have to crash far more than 50% for liquidations to even start happening.
max_debt_allowed
Along with interest rates, capping the max amount of debt that can be created is also a fool's errand. When the cap gets reached it simply has to be raised or else the system breaks (assuming >$1). Again, the obvious way to stop too much debt from being created is to increase the collateral percentage. This along with the liquidation percent are the only two variables that truly matter. Simplicity is key.
Liquidation auctions
Say I create 1000 HBD with $3000 but now my $3000 is only worth $1250 after a huge crash. At a 125% liquidation percent, my bad debt will now be auctioned to everyone on the platform (including myself if I'm paying attention or have a bot running).
Let's say the first person puts a bid in for the obvious amount (1000 HBD). If no one else bids within X time (some amount of blocks) then they would win the auction and basically get $1250 worth of Hive for only 1000 HBD. However, the likelihood of no one else bidding is highly unlikely in this scenario (unless the Black Swan event happening at the time was insanely risky). Therefore, users would outbid each other up to or around the 1250 HBD level, and rather than have a built in penalty like the MakerDAO institutes (13%), instead the penalty would be issued dynamically via the supply and demand of the bad debt auction.
Oracles
One of the biggest attack vectors of the MakerDAO system are the oracles that tell the network how much Dai is worth compared to Ethereum and USD. We've experienced this attack vector first hand. Hive already has built in oracles; they are called witnesses and coincidentally they are already providing a price feed for the network. This is the weakest link of the system, and Hive already has it up and running. It's important to note that the price feeds the witnesses provide would be more critical than ever if this smart-contract CDP system was implemented.
Conclusion
The more I think about this the more I realize that Hive's CDP system would be a hundred times better than what MakerDAO has done. I'll think about this more and try to flush out the ideas as time goes on. Hopefully one day I actually have the resources to make this happen if no one else wants to take the lead.
Return from More On Stabilizing HBD/SBD to edicted's Web3 Blog