Bitshares Black Swan and the troubles of stablecoinssteemCreated with Sketch.

in bitshares •  4 months ago

I have written a lot about the broken peg for SBD and why it is no longer a stablecoin. But SBD is hardly the only victim of the bear market.

In general there are two types of stablecoins. The first category is stable because they hold (or at least promise to hold) offline assets that can be liquidated. This produces stability in bull or bear conditions, but it always requires some level of trust. In this category there is USDCoin or Tether.

The second category is much more interesting. There no trust is involved and no offline assets are used to create stability. Instead the value is supported by an on-chain collateral. This works great when the market is calm, but big moves can change the collateral relative to the debt and thereby break the peg. These coins are SBD, bitUSD or DAI. And all of them can suffer in bear markets.

SBD is essentially not protected against losses in the value of steem (the collateral held by the chain itself). Instead there is a simple haircut rule at 10% debt. As a consequence SBD is now freely floating and has a similar risk profile as steem. There is no stability left until prices eventually recover.


I have always been a big fan of implementations like bitUSD. But a few days ago also bitUSD broke the peg and is now worth significantly less than a dollar. And as in the case of SBD there is almost no communication on why this happened and what people holding bitUSD should do now. Many are instead confused and wonder if bitUSD at 80 cent might be a great buy giving almost guaranteed 25% gains. The quick answer is no. You did not discover the magic money printing machine before the market. Just as SBD bitUSD is simply not worth more. More details below.

How bitUSD works

In bitUSD any user can mint coins. All that needs to be done is locking up 175% of the value in BTS in a smart contract. The coin is initially overcollateralised by 175% meaning that it can tank huge price movements (opposed to SBD which was collateralised (in the optimal case) at 200% before but now is at laughable 110%).

The collateral can at any point be redeemed by the holder of bitUSD at a rate corresponding to 1$ worth of BTS. The remaining collateral is paid back to the margin holder. This is called a private settlement and guarantees the peg.
At a price above the peg, people can mint new stablecoins and sell them at a premium. At a price below people can buy cheap stablecoins and settle them for discounted BTS.

Users can dynamically adjust the collateral of their margin positions and withdraw excessive collateral when the asset moves down with respect to BTS, or add more collateral when the price goes up. If they dont the peg would be in danger. This is why there is a very important function, the margin call.

If the collateral goes too low the position is automatically liquidated using the collateral, possibly at unfavourable rates. In theory this makes sure that in the event of a crash of BTS, the peg remains in place, but instead the supply of the stablecoin shrinks.

As a last option when the margin calls cannot be filled, at a collateral ratio of 100%, the entire market will be settled and any holder of bitUSD will get BTS corresponding to a value of 1$. (Note that no user gets screwed, but user action is required! More on this below)

The Black Swan

Currently this global settlement has happened in bitUSD, while bitCNY is in danger and will enter settlement when BTS price drops another 20 or so percent. On the other hand bitEUR is doing fine and still well collateralised. It underwent some successful margin calls and is not in danger of settlement. It is interesting to see that the same architecture gives these very different outcomes.

What happened with bitUSD is that each coin is now exchangeable to BTS at the rate when the Black Swan was triggered. But this conversion is not done automatically but users have to click a button. I have no idea why it was implemented this way as a lot of people still believe that bitUSD is somehow linked to USD. But it only was until the moment of settlement. Now it is just another token that is worth 20 BTS. It has exactly the same risk profile as BTS.

bitUSD may get restarted in the future when all positions are closed or the settlement fund is at 175% collateral again. But for now it is just 20 BTS. Many still argue that buying bitUSD is great because the peg will eventually return. But for that to happen BTS must rise in value first. So it is really no different to hold one bitUSD or 20 BTS!

Instead the confusion leads people to buy bitUSD at prices above 20 still thinking it is a good deal and the people not converting at 20 BTS are delaying the restarting of bitUSD as a properly collateralised stablecoin.

What went wrong?

In the bear market the value of the collateral's dropped. This let to a large amount of margin calls that the market could or did not want to fill. What is important to realise is that filling a margin call means that you are betting against the stable coin (you are selling your stabelcoins to close the position). That is not very popular move in a bear market.

But when the assets are priced fairly this is already included in the price. The market rate is the rate where people are happy exchanging in both directions and at this point the market should always find shorts and longs.

But the margin calls do not respond to the market price, but the feed price. And this is where the problems start (even though this could easily be avoided by slightly changing the margin call mechanism.)

Margin calls are stopped at a 10% discount with respect to the feed price. This is called a short squeeze protection. In illiquid markets the prices might otherwise move a lot and cause margin calls that are forced to trade at very bad rates.

But the feed price is the price of the underlying asset and the price of a stablecoin might be somewhat higher. We see this all the time, that during crashes the limited supply of stablecoins causes them to trade at a few percent premium. The short squeeze protection thus makes it possible to enter a situation where margins are not filled for extended periods.
This is what happened in bitUSD and is happening in bitCNY at the moment.

Screenshot 2018-12-11 11.46.15.png
the current bitCNY market. Market prices for bitCNY are larger than the squeeze protected margin calls (green region). Sellers of bitCNY thus do not sell into the margin calls at a discount, but get matched with other traders.

This causes the collateral to not get refilled and this eventually triggers the global settlement when prices keep dropping. However, in bitEUR it looks healthy like this
Screenshot 2018-12-11 11.46.00.png
The margin calls extend the highest bid and sellers fill the margin calls. bitCNY has a minimum collateral of 110% while bitEUR is sitting at 170%! Even though we have a quite serious bear market.

This proves that the architecture is able to remain secure in bear conditions, but the crucial point is getting margin calls filled and to give the right incentives to market participants.

Why there is still no magic money and people always end messing it up

People in bitshares noticed that stablecoins are not stable and may trade slightly up or down 0.90 - 1.10$ in medium liquidity markets. This is no real surprise and also no real problem. The promise it not that you can always buy a bitUSD at exactly 1$ (it cant work because 1$ is not enough to collateralise it), the market decides that. The promise is that you can always redeem at 1$!

And when there is limited supply of bitUSD but big demand then prices may go up. The ways to fight this is either increasing supply, or reducing demand. And the price of bitUSD does both. It incentivises more people to mint bitUSD and take some risk backing it up and it also prevents others from buying bitUSD at a premium.

There is no real way around this. If people are not willing to collateralise a coin and take a position against the dollar, then there cannot be that many stablecoins pegged to dollars. I dont know how often I mentioned this, there is no magic money. All things have tradeoffs.

The bitshares team decided to go another way. In BSIP 42 they decided that in order to make the coins 'more stable' they should manipulate the external price feeds. This way they intended to keep the value of bitUSD and bitCNY lower during market drops and higher during market rallies. Essentially this means that during a market crash where people want to flee into stabelcoins you weaken they conversion guaranteed to keep the price at 1$ even though demand did rise. This is now manually tuned to keep the coin at 1$.

But the idea that decisions could change the peg without changing the collateral is the idea of magic money, money that has a certain value because 'somebody says so'. It simply cannot work.

Instead what it did it (or contribute to) is margin calls not getting filled. In the bear, the price of bitUSD would go up a bit. So the price feed is manipulated until it goes down. But now the margin calls no longer sell at a premium (compared to the market price), and that means they are not getting filled at all.

Here again the market for bitCNY
Screenshot 2018-12-11 11.46.15.png
The market price is actually the honest price for 1 CNY. But the settlement price is manipulated and way below. Thus the short squeeze protection causes people to make a bad deal when they want to fill a margin call. Who will do that? Especially in a bear market.

Instead the settlement price should be at the honest value and margin calls matched with the existing offers. Also if that means that the price of 1 bitCNY temporarily exceeds 1 CNY!

The lessons

The most important one: Do not try to make magic money because it will have the same ending every time. The peg will not hold. Eventually everything comes back to the underlying fundamentals. And these are quite strong in bitshares, until they were messed up. A peg needs a collateral and a collateral needs people wanting to guarantee it. And that automatically restricts the supply. Market forces should not be fought, they are providing much needed incentives!

Also short squeeze protection is good, but is should be based on the highest bid and not the feed price. And when margin positions do not feel safe that way, they are given 24 hours notice anyways to fill up their collateral or close their position on their own. There is no need to offer them further protection if that risks the stability of the stablecoin.

The feedprice is only needed for the guaranteed conversion and determining the collateral ratio where margin are called. Everything else can (should?) be based on market prices.

And in a global settlement what is the point of letting people keep their already settled bitUSD? That only causes confusion, problems and bad decisions. Instead just give everyone BTS! Then the coin can immediately restart!

The reason why this is not done is because people might be angry that they now have BTS when they wanted a stablecoin. But the stablecoin is already gone, now these people may just not notice it. But that is just dishonest. By converting people will notice something happened and can then take informed action!

Then there will also be the fun times when bitUSD will be worth up to 1.75 of a dollar and people really need to manually convert. Otherwise when the coin is restarted it will go back to 1$ and they have made a huge loss! So if you have any bitUSD, please do not loose money and convert manually, the earlier the better!

Stablecoins as implemented in bitshares have a lot of potential and should serve as a reference for other implementations. But there are still some big problems that need to be fixed, but solutions do exist and will work well in liquid enough markets. And they do not require a genius to understand them, just solid foundations and no trickery.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

SBD which was collateralised (in the optimal case) at 200% before but now is at laughable 110%

If SBD drops to <100% collateralization, will it get force-liquidated as happened with bitUSD, or was that measure not built into the Steem protocol?


In the case of SBD there is no forced liquidation. The only thing that is changed is that manual conversions will not give 1$ of steem anymore, but less. The conversion amount is computed such that when all sbd would be computed at once the converted steem is no more than 10% of the steem in circulation.

The markets are quite rational and the price you see on coinmarketcap is usually close to the amount guaranteed by conversions.

I have made a lot of posts about this:

overview and pre HF20 prediction
simple computations
full computation
last update

I'm glad that bitUSD is finally getting tested in a bear market. Bitshares wasn't arount for the 2013-2014 drop.

This post is promoted by @reversed-bidbot as an upvote lottery with a jackpot of 0.495 steem!

Sorry, all tickets have already been claimed.

Excluded from participation are: bidbots, autovoters.

The jackpot is paid in redfish_shares by @curatorbot, giving you lifetime upvotes while supporting the redfish community. Find more information here.

Follow me to also earn steem on my other promoted posts; or use @reversed-bidbot to hold your own raffles. For more details please visit my discord server or read my introduction post

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 7 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 5 SBD worth and should receive 176 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,

Hi @frdem3dot0!

Your post was upvoted by @steem-ua, new Steem dApp, using UserAuthority for algorithmic post curation!
Your UA account score is currently 3.429 which ranks you at #6855 across all Steem accounts.
Your rank has dropped 3 places in the last three days (old rank 6852).

In our last Algorithmic Curation Round, consisting of 225 contributions, your post is ranked at #124.

Evaluation of your UA score:
  • You're on the right track, try to gather more followers.
  • The readers like your work!
  • You have already shown user engagement, try to improve it further.

Feel free to join our @steem-ua Discord server