Asking Witnesses: Debt Ownership Caps?

in #steem7 years ago (edited)

Untitled design (1).png

I have a question to someone knowledgeable about the block chain. Please forward if you know who can answer. This question is:

How does the blockchain's mechanism prevent SBD conversions when debt-to-ownership is high?

To quote the whitepaper on this:

A rapid change in the value of STEEM can dramatically change the debt-to-ownership ratio. The blockchain prevents the debt-to-ownership ratio from getting too high, by reducing the amount of STEEM awarded through SBD conversions if the debt level were to exceed 10%. If the amount of SBD debt ever exceeds 10% of the total STEEM market cap, the blockchain will automatically reduce the amount of STEEM generated through conversions to a maximum of 10% of the market cap. This ensures that the blockchain will never have higher than a 10% debt-to-ownership ratio.
The percentage floors used to compute STEEM creation are based on the supply including the STEEM value of all outstanding SBD and SP (as determined by the current rate / feed)

How does this mechanism work? Does it prevent conversions from taking place if this condition is violated? Do conversions simply not pay out? I would be very interested in these details.

My Picture of Debt-Ownership Ratios

Quoting the white paper again:

If a token is viewed as ownership in the whole supply of tokens, then a token-convertible-dollar can be viewed as debt.

Yes, this makes sense. 1 SBD is a token convertible for 1 USD worth of STEEM, as I've explored in my previous post.

(Update: conversion has been disabled in steemit UI so nobody will do the wrong option, which is good)

So then, how do we compute the ratio? The first question here is whether or not the market price of SBD matters. My answer is no. After all, debt conversion (SBD conversion) uses the price feed, and the market price of SBD is irrelevant for this.

Let's use an example. Suppose the market looks like this:

1000 SBD,  1000 STEEM,   STEEM price 10 USD/STEEM

(Hey, you know that price will happen.) Since 1 USD would get you 0.1 STEEM, 1000 SBD would convert to 100 STEEM. Thus 100 / 1000 yields a 10% debt-to-ownership ratio. According to the white paper, this is the maximum debt ownership ratio the blockchain tolerates.

Simple enough.

The Debt Ownership Conversion Cap

Let's say there's a price crash and the situation looks like this:

1000 SBD,  1000 STEEM,   STEEM price 5 USD/STEEM

The debt-ownership ratio is now 20%.

Here's the weird part: It would seem that by strict definition, any conversion action reduces the debt-ownership ratio, because conversions decrease the amount of SBD and increase the amount of STEEM. The paper warns about a mad dash to the exits, of everyone trying to convert out SBD and further crashing the STEEM price (which remember, would occur if SBD is below 1$ and the interest rate is not enough to entice holders). This is clearly not desirable.

Is my "debt-ownership" ratio computation correct? It seems the desire is to lower that ratio, but it doesn't match with the picture that we don't want too much debt to be converted at once.

So how does the cap work? My theory is that the blockchain keeps track of the total amount of STEEM ever converted, and makes sure to cap this amount at 10% of the STEEM market cap.

What does this mean in our example situation? Suppose nobody has ever converted before. The cap for conversions is then 100 STEEM. And suppose there is a mad dash and the blockchain restricts conversions so that only 100 STEEM gets created (500 SBD converted). Then the picture looks like

500 SBD,  1100 STEEM,  STEEM price 5 USD/STEEM

which is around 10% debt-ownership ratio. Mentally we (or rather, the blockchain) keep track that 100 of that STEEM is from converted debt. At this point, no further conversions are allowed. And the only way it would allow more conversions is if either:

  1. Supply of STEEM from payouts increases (which happens naturally).
  2. STEEM price increases.

In other words, the market cap has to increase before any further conversions are allowed.

Now the big question: Is this how it works?

And the second big question: If this is being capped, we have nothing to worry about if we print more SBD from raising the witness price feed. Is this accurate?


Updates

Code is quite easy to read, and it seems my guess is way off base.
database.cpp snapshot line 966 create_sbd shows how the cap works.

As mentioned in the comments by @themarkymark, SBD production is simply throttled, so that payouts stop giving out SBD.

Line 3007 shows how the cap is implemented in terms of what percentage will be converted to SBD.

Here is how we compute the percentage:

auto percent_sbd = uint16_t( ( ( fc::uint128_t( ( dgp.current_sbd_supply * get_feed_history().current_median_history ).amount.value ) * STEEMIT_100_PERCENT )
/ dgp.virtual_supply.amount.value ).to_uint64() );

This confirms my earlier ratio computation that the market value of SBD is not taken into account, which again makes sense.

My conclusion from here is that the witnesses really are quite limited in what they can do with SBD production / price feed setting. There's really no point in increasing the price feed to give out more SBD, because at some point this cap will prevent SBD from being rewarded at all, and that will be counter to what is desirable by Steemians.

That leaves negative interest rates, which has its own reasons for not being so desirable... But it really seems like the only tool available to stabilize the price! We'll see how the witnesses decide...

Sort:  

I have struggling on these questions for several days and made the exact same guess about debt-ownership ratio as you, I don't understand:

Code is quite easy to read, and it seems my guess is way off base.
database.cpp snapshot line 966 create_sbd shows how the cap works.

why are you saying your guess is way off base, I think your guess is right

My guess was that the conversion process stops working, but the reality is that SBD simply stops being printed. So the reality is much simpler-- blockchain stops giving out SBD when a threshold gets hit. I suspect not a lot of people know this, and it matters a lot for the monetary policy.

Actually I never really did the thought exercise for what would happen if we got to that regime: SBD stops being printed, all payouts are in STEEM... STEEM value decreases... In theory should correspond to a corresponding drop in SBD value and maybe the market would work itself out. Don't know. But in this region people will surely be more confused when they realize they aren't getting SBD anymore.

My head doesn't do economics. You may as well be speaking in a foreign language. But upvoted anyway ;).

He might as well be speaking a foreign language to me, too. That whistling sound you hear is the contents of this article going right over my head. Scary to think how dependent we are on a system so many of us simply do not understand and can't talk knowledgeably about. Isn't it?

The fuck did I read.
Well anyway, EOn delivers the hard to understand shit again.

Lets reward your effort.

I don't know the answer, but is the STEEM blockchain code not open source? Is there a way to look at the code to see how it is programmed?

This is what I have on my mind when I get a chunk of free time :). I believe it is all open source.

Wow this is still way over my head! I am new here and keep trying to learn more each day!

You won't have to worry about this for now. Trust the witnesses to establish good policy. Likely the previous SBD post would be of use to you though.

I would like to have an understanding of this also. Thanks for posting on this. Also what happens to the extra upvotes that are not used? #theunmentionables

Are you talking about when your VP stays at 100%? Nothing :). You lose out on possible rewards from making use of the VP.

Does that like help improve the value of Steem because it does not inflate it as much then?

It does not. The amount in the rewards pool is fixed. So only you would be losing out by not using VP :)

Good to know. I am all for using my rewards. hehe Thanks so much @eonwarped!

This is quite a difficult question to answer, I believe the pioneers of steemit will know how to tackle this question better..

Qurator
Your Quality Content Curator
This post has been upvoted and given the stamp of authenticity by @qurator. To join the quality content creators and receive daily upvotes click here for more info.

Qurator's exclusive support bot is now live. For more info click HERE or send some SBD and your link to @qustodian to get even more support.

Coin Marketplace

STEEM 0.19
TRX 0.14
JST 0.030
BTC 63001.43
ETH 3365.59
USDT 1.00
SBD 2.45