Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removal gradual SBD print rate decline when debt ratio increase; Stop printing above some ratio #2140

Closed
netuoso opened this Issue Feb 19, 2018 · 32 comments

Comments

Projects
10 participants
@netuoso
Copy link

commented Feb 19, 2018

This issue supersedes #2135

@mvandeberg

This comment has been minimized.

Copy link
Contributor

commented Feb 19, 2018

My thoughts from #2135

I think removing the debit cap is the wrong approach to the SBD print rate.

A few thoughts that might constitute a more detailed proposal:

The debt cap has served a useful purpose.

Right now, the debt cap is not doing anything. Removing it would have no immediate impact on the creation of SBD.

It is relatively easy to deflate SBD through burning of rewards/converting to STEEM and difficult to print. This leads to a naturally deflationary policy.

Steem's current inflation rate is 8.98%. Of that, there is an effective 2.5% going to printing SBD. If the value of STEEM increases faster than 2.5% annually (we are all hoping that it does) then the debt percentage drops.

Instead of removing the debt cap to allow for the increase in SBD supply (because this is likely to do nothing in the short term), I would propose increasing the SBD print rate below a certain debt percent.

Create a new witness parameter, sbd_desired_debt_ratio. We would leave the current debt cap in at some cap of the ratio with the current behavior. When the debt ratio falls below the the voted ratio, we begin printing SBD faster.

Based on the price of SBD, there seems to be a debt ratio that the market is comfortable sustaining. With a valuation of $5 per SBD, that ratio would seem to be around 5%. This would indicate that our hard cap of 5% is too low and should be increased, but the logic should not be thrown out. Based on the inflation rates about, we would only expect ~25m SBD to be printed in the next year. This only increases the debt percentage to 3.5% (assuming STEEM is price stable for an entire year).

If such a system were implemented, I would recommend all witnesses begin reporting the actual price feed (not an adjusted price feed) and slowly change the desired debt ratio until SBD is price stable again.

At the current supply/price, the debt ratio is at 0.818%. Removing the SBD print rate decline will not have any effect on the price stability of SBD (assuming #1839 is related and motivates this proposal).

@iamsmooth

This comment has been minimized.

Copy link

commented Feb 19, 2018

@mvandeberg I disagree that the ratio-based printing shift is useful (except that what to do above 10% when the pegging ratio changes is somewhat less clear, so for simplicity of an minimal incremental change I would suggest simply moving the printing to 100% STEEM at 10% for now; we can further discuss that complicated case later).

The reason the ratio cap is not useful is that the desired behavior is price sensitive and not strictly ratio-based:

  1. If SBD is pricing below peg, then you do not want to increase the supply. In this case, the existing behavior of stopping by ratio may be useful.
  2. If SBD is pricing above peg, then you do want to increase the supply, more or less independent of the ratio (I'll comment a bit more on the "more or less" below). In this case, stopping by ratio has the potential to be completely counterproductive: a) it will reduce immediate SBD supply and potentially drive it further above peg; and b) it will increase immediate STEEM supply and potentially drive the STEEM price down, which may not even help improve the ratio.

The only mechanism that exists (and indeed the only mechanism I can envision without an additional SBD price feed) that is price sensitive in this manner is SBD conversions, which are price sensitive by way of the natural incentive (if SBD is below peg, then SBD conversions has a positive expectation and are therefore incentivized, otherwise not).

Let's consider the two situations above that might prevail when the ratio becomes "high".

  1. If the SBD price is low, then the continued printing will result in continued and/or increased conversions, _which transform the SBD into STEEM at the same expected ratio (current price feed) as the existing print rate reduction would have done. The effect on the ratio is uncertain, but it is difficult to see how the print-SBD-then-convert-to-STEEM process is any worse than directly printing STEEM. I view it as essentially equivalent.
  2. If the SBD price is high, then more SBD will be produced but it will not immediately be converted into STEEM. This will avoid additional immediate distribution STEEM (which also will not be produced by conversions) and may help, on the margin, improve the STEEM price but at least will not harm the SBD price. The effect on the debt ratio is unclear.

There were some comments elsewhere that were viewing this as a short term response to the current high SBD price, which is mostly is not. As noted, this has minimal short term effect since the ratio rules are not currently being hit. It is a correction of a broken rule that has the potential to behave in a harmful manner at some point in the future (driving a high SBD price even higher) because the purely ratio-based supply shifts are not responsive to the SBD price (as are conversion-based supply shifts).

One issue that has arisen with the current SBD price is that some stakeholders are reluctant to make changes (i.e. "manipulate/crash the market" etc.) when they are likely to have immediate effect on the market (even to restore the broken token pegging closer to its intended behavior). As such, waiting until the situation is imminent is a much more problematic way to approach the issue than correcting it preemptively.

@iamsmooth

This comment has been minimized.

Copy link

commented Feb 19, 2018

One last comment

Based on the price of SBD, there seems to be a debt ratio that the market is comfortable sustaining. With a valuation of $5 per SBD, that ratio would seem to be around 5%.

I mostly disagree with this logic. With SBD being priced well above the blockchain-supplied peg, it is not, currently, being priced on the basis of of its market cap ratio (aka 'debt ratio') and/or implied default risk, and attempting to interpret it that way is misleading. Currently, market participants have a potential 80% loss they are willing to accept before the pegging rules, debt ratio, etc. have any effect at all. This is very different from a properly function peg.

Second, you are correct about the notion of a ratio that the market is willing to accept, but the problem is that such a ratio will always be dynamic. It is best expressed or observed as the ratio where the SBD price becomes weak, which will then mean that conversions will increase. So I contend that the mechanism to accommodate this market tolerance already exists in a proper, dynamic, price-sensitive form: conversions. Attempting to hard code such a value in the blockchain as a static value without any external input will likely (nearly) always result in the thresholds being incorrect.

@mvandeberg

This comment has been minimized.

Copy link
Contributor

commented Feb 19, 2018

The reason for its existence is to prevent a lottery effect at 10%. One block you get paid SBD, that bumps us above 10%. The next block you don't. Having it scale linearly towards 0 means you are less likely to feel cheated if you don't get paid SBD. It also applies the change gradually in hopes of addressing the scenario before stopping SBD printing altogether.

However, this was implemented when Steem still had hyper-inflation. It was much easier for the debt percentage to move up and down. Now that the supply is much more consistent, it is harder to use to dynamically react to changes using a system like this.

Perhaps the current delta between printing 100% SBD to not is too wide.

So long as there exists a hard cap at which SBD printing will stop, I will support having that cap enforce gradually. But it could be as little as a few tenths of a percent delta, instead of the multiple percent delta we have today.

Attempting to hard code such a value in the blockchain as a static value without any external input will likely (nearly) always result in the thresholds being incorrect.

A part of my suggest in defining a desired debt ratio was to make it a witness voted parameter. The basic idea would be that if SBD was below the peg, you decrease the debt ratio to decrease the print rate and if SBD was above the peg, you increase the debt ratio to increase printing. That is an over-simplified heuristic, but it would be the basis of any decisions regarding changing the the debt ratio.

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented Feb 19, 2018

Just to clarify - I see three different concepts that we are discussing:

  1. One is the debt level cap, which is currently set to 10%. After the debt level passes this, the blockchain starts to produce less than the “approximately one USD worth of STEEM” via SBD->STEEM price conversions.

  2. The next is the print ratio of SBD vs. STEEM, which goes linearly from 100% SBD / 0% STEEM at 2% debt level to 0% SBD / 100% STEEM at 5% debt level.

  3. The third is the rate at which SBD is printed - which is currently decided 100% by the inflation rules, price feed input by the witnesses, and print ratio (#2 above).

I would advise extreme caution against implementing anything that will change #3. If the witnesses are able to ignore the inflation rules and freely control how much SBD gets printed (which they can technically do today using price feed biases) this could be very dangerous to the long term health of the economy, and could also be a large item of concern for potential investors who care about inflation.

I would not recommend allowing 1 to be changed outside of a hardfork, as it would change SBD so there was no longer a “smart contract” built in ensuring that SBD conversions result in “approximately one USD worth of STEEM”. It would also put witnesses in a position to theoretically take on an unlimited amount of debt with a simple majority.

@iamsmooth

This comment has been minimized.

Copy link

commented Feb 19, 2018

@mvandeberg

The reason for its existence is to prevent a lottery effect at 10%. One block you get paid SBD, that bumps us above 10%

Okay yes I agree that's odd and would be confusing and perhaps subject to some degree of undesirable gaming if SBD is valued away from $1 for some reason. Perhaps we could just move the range to 9-10% or something (or as you suggest even a fraction of a percent wide). That seems fine to me.

The main difference is that I don't see all this focus on controlling the print rate as being useful at all partially for the reasons stated, and partially for some other reasons that I may get into elsewhere (as they are specifically less relevant to this issue).

The market can adjust to any fixed print rate (within reason; extreme forced hyperinflation may be different) and make up any necessary reduction according to market demand with conversions (which are equivalent to the inverse of printing, i.e. reduced printing, with the exception that the mechanism is handled primarily by traders and speculators invisibly to social platform and social or commerce economy participants who find the whole SBD/STEEM/SBD+STEEM payout nswitching to be disruptive and confusing).

As such, while my first choice would be to remove the print rate control altogether, I would still find any shifting the boundary for print rate control farther away from the normal range (i.e. higher) to be an improvement.

No comment at this point on what should be a hard fork vs. witness parameter, but that's certainly an interesting discussion and important consideration.

@clayop

This comment has been minimized.

Copy link

commented Feb 20, 2018

@mvandeberg

Instead of removing the debt cap to allow for the increase in SBD supply (because this is likely to do nothing in the short term), I would propose increasing the SBD print rate below a certain debt percent.

Create a new witness parameter, sbd_desired_debt_ratio. We would leave the current debt cap in at some cap of the ratio with the current behavior. When the debt ratio falls below the the voted ratio, we begin printing SBD faster.

I think they are good ideas and fully agree with them.

@iamsmooth

because the purely ratio-based supply shifts are not responsive to the SBD price

The system is responsive through the market mechanism. For example, conversion is barely done given the high SBD price. And I think @mvandeberg 's idea has basically similar effects in terms of printing rate control.

@iamsmooth

This comment has been minimized.

Copy link

commented Feb 21, 2018

@clayop Yes I agree conversions are responsive to the price. Using a ratio (especially a hard coded ratio) is not. That, and the fact that it isn't possible to know the right ratio (other than by observing the price of SBD) is exactly the point. @mvandeberg suggests making the ratio target a witness variable, but: a) I'm not sure that witnesses even want this authority, since it puts them in a position of 'manipulating the market', etc.; and b) I contend that the ratio reasonably chosen would always be above the current ratio if SBD is priced above $1, which further makes this equivalent to just using a fixed print rate of 100 and letting conversions adjust the effective print rate (effective print rate = fixed print rate - conversion rate)

@mvandeberg

This comment has been minimized.

Copy link
Contributor

commented Feb 21, 2018

An important aspect of have a debt ratio target is the increased print rate when we are significantly under the target. It is simple economics. We want a fixed price and we cannot fix demand. The only knob we can control is supply. We have decent ways of shrinking (or limiting the growth of) supply through conversions. The existing reduced print rate is a more extreme measure. Unless we add a way of increasing supply faster than demand increases, we will never be able to peg SBD.

Ironically, the decision of the witnesses in the past to report bias in their price feeds actually exacerbates the problem by printing SBD at a lower rate as if it was pegged to a higher level. I have not followed the price discussions closely, but have noticed this practice has stopped. I think that is a good thing.

I am not going to die for the idea of a witness voted debt ratio, but I do want the idea of increasing the SBD print rate to be seriously considered.

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented Feb 21, 2018

An alternate way of allowing increased supply that is being discussed is to allow reverse conversions. Allowing users to create 1 SBD for “approximately one USD worth of STEEM” - based on the witness price feeds would allow the supply to be increased without exceeding the inflation rate (ignoring that the inflation rate is already not precise based on the changes in price between when SBD tokens are created and destroyed). It also has the effect of creating a demand for STEEM tokens whenever SBD is trading at a premium, as the logical step whenever SBD > $1 USD would be to buy STEEM, convert to SBD, sell the SBD, and repeat until SBD was back at the peg.

@clayop

This comment has been minimized.

Copy link

commented Feb 21, 2018

Ironically, the decision of the witnesses in the past to report bias in their price feeds actually exacerbates the problem by printing SBD at a lower rate as if it was pegged to a higher level.

This is a critical point. As a witness against the price feed discount, which not only reduced SBD printing rate but also facilitated burning SBD, I think that attempt to adjust SBD price radially will cause another problem in bear market. Personally, I am for status quo, but if this will cause greater conflicts and will end in radical choices, I would choose increasing SBD printing rate below certain percentage first. While I am not a big fan of giving witnesses more power to control economic parameters, I don't see having control on desired debt ratio is a big problem because the inflation rate is identical.

@iamsmooth

This comment has been minimized.

Copy link

commented Feb 21, 2018

@mvandeberg Several good points in your comment I will address individually:

It is simple economics. We want a fixed price and we cannot fix demand. The only knob we can control is supply

Exactly.

We have decent ways of shrinking (or limiting the growth of) supply through conversions.

Once again I agree, and I have stated this earlier.

The existing reduced print rate is a more extreme measure

It is actually less extreme and less useful than conversions. Conversions can not only limit the growth of supply (i.e. effectively, reducing the print rate) but they can actually shrink the supply, and finally the do so in a price-sensitive manner, unlike a fixed ratio. They are simply more powerful and more useful in every way than is reducing the print rate by ratio.

I might make an exception here when the system is approaching a truly extreme debt ratio of perhaps 50% or more (i.e. 2 to 1 leverage), and overall stability is very much in question. At that point we might reasonably abandon the peg for the purpose of keeping things from swinging wildly out of control. However, when we are looking at debt ratios of 2%, 5% or 10%, there is nothing extreme about any of this (the highest of these representing a leverage ratio of 1.1 to 1). Reducing the print rate because some arbitrary (and still small as a matter of leverage) market cap ratio is reached without regard for the SBD price is just breaking the peg.

Unless we add a way of increasing supply faster than demand increases, we will never be able to peg SBD

Sure. This is a given. As noted by @TimCliff reverse conversions (or some similar mechanism) are a way that has been under discussion among witnesses for some time, and I'll comment on that elsewhere. However, since I do believe it is important and valuable to at least loosen if not remove the print rate limits I'll confine my comments to the print rate aspect of it here.

I've noted some other ways to increase supply here, including things like adjusting the print rate reduction mechanism, paying witnesses in SBD, etc.: #1839 (comment)

Ironically, the decision of the witnesses in the past to report bias in their price feeds actually exacerbates the problem by printing SBD at a lower rate as if it was pegged to a higher level. I have not followed the price discussions closely, but have noticed this practice has stopped. I think that is a good thing.

This was mostly (in not entirely?) done during the hyperinflation era, and I don't think it makes sense to get into the details of why it may have been needed since the economics are very different now. I do still think a small bias may be needed as a matter of fine-tuning at some point (less than 1%), but given the the peg is nowhere near 1% accurate currently we can defer any discussions of fine tuning.

However, I would point out a similar issue which has occurred post-hyperinflation: not paying interest. Witnesses chose not to pay interest when there was a surplus of SBD, which resulted in the price being weak (generally slightly below $1) and large amounts of surplus SBD being destroyed by conversions. This irreversibly reduced the supply and eliminated the possibility of keeping that SBD in existence (held off the liquid market by interest-seeking investors), allowing us to reduce the interest rate when SBD is too strong and send some of that surplus back onto the liquid market (i.e. now).

In short, the mechanism of relying on witnesses to set parameters is not really working very well, as most witnesses are not economists, do not really understand these issues (often by their own explicit statements), may be ideologically opposed to (or have other concerns about) 'manipulating the market', and finally it isn't even clear whether the short term political factors that result in witnesses being voted in or out at a moments notice really lend themselves to witnesses making possibly-unpopular decisions about an economic function.

I would suggest that if we want a better peg we focus on refining the mechanism so that it relies less (and certainly not even more) on real-time witness decisions.

I do want the idea of increasing the SBD print rate to be seriously considered.

How do you propose to increase it, aside from reducing the ease with which the system reduces it? (BTW, the 2% ratio, where the reduction starts, is only roughly a factor of two from the current ratio, so it is reasonable to believe that it has some current effect on market perceptions of supply and therefore price.)

@mvandeberg

This comment has been minimized.

Copy link
Contributor

commented Feb 22, 2018

may be ideologically opposed to (or have other concerns about) 'manipulating the market'

This is key. Many of us are early adopters in cryptocurrency due to market manipulation by institutions like the United States Federal Reserve. The points you have brought up are poignant. While such a system I have described would help if in the right hands very few of us are trained economists.

How do you propose to increase it, aside from reducing the ease with which the system reduces it?

In the past I have half jokingly suggested we set the interest rate on SBD to 1000% to cause hyperinflation to increase the supply of SBD and spark a sell-off. That falls under the umbrella of market manipulation at its finest. I have been against STEEM->SBD conversions. I like the simplicity of SBD only being created for rewards. However, the more I think about it, the more I think this is the right move.

The idea behind SBD was to create a price stable token and a way to short STEEM without leaving the Steem ecosystem. Currently, if you want to short STEEM, you either sell for another token on an exchange or you buy SBD on the internal market. The later increases the price for SBD with no way of reasonably regulating it. Conversions allow for shorting of STEEM without increasing market demand for SBD.

@iamsmooth

This comment has been minimized.

Copy link

commented Feb 22, 2018

@mvandeberg Without disagreeing with anything you wrote, I would point out that STEEM->SBD conversions are clearly better for STEEM holders than 1000% interest (or whatever arbitrary high number) because the latter directly causes a huge increase in overall inflation and the latter does not. Also the increase in inflation that comes from a very high interest rate is a reason it likely won't be supported or implemented.

Anyway, I still think we should increase or remove the print rate limits, even if STEEM->SBD conversions are favorably considered as a more comprehensive (and likely slower to implement and deploy) solution.

@mvandeberg

This comment has been minimized.

Copy link
Contributor

commented Mar 2, 2018

This is from a discussion I had with a colleague and want to memorialize it here for this discussion. Please disregard some background information that is tangential to the discussion.

We track the STEEM supply and the virtual STEEM supply. The virtual STEEM supply is the current STEEM supply plus the SBD supply times the price feed. The inflation rate is made against the virtual supply, so there are small fluctuations over time, but if SBD is trading at $1, then it is minimal. We need to do this because rewards are paid out in SBD and are taken from the inflation. If you can convert from 1 STEEM to SBD when STEEM is $4.00 you get 0.25 SBD. Then, when STEEM is down to $3.00 you can convert back and get 1.333 STEEM. In the process, you have increased the current supply permanently by 0.333.

Currently, the virtual supply would fluctuate and we would assume that if the price drop was temporary that the price would go back up and the virtual supply would go back to what it should be. If the price dropped all of a sudden, the percentage of the virtual supply that is comprised of SBD goes up. The difference is that it is capped today and would be unbounded if conversions were allowed. It is worse because the time when people are most likely to want to convert STEEM to SBD is when they want to short STEEM. Which is when the SBD percent of the virtual supply will go up. In the event of a crash, STEEM to SBD conversions could escalate the process by converting high percentages of STEEM to SBD and pushing the inflation rate to hyper-inflation levels. The only recovery of which would be from the recovering price of STEEM which could never happen due to hyper-inflation.

It may be a black swan, but I think adding STEEM->SBD conversions are dangerous.

@iamsmooth

This comment has been minimized.

Copy link

commented Mar 2, 2018

@mvandeberg "The difference is that it is capped today and would be unbounded if conversions were allowed"

No, it is still capped at 10%

A separate question is whether 10% is really a good cap to use (numerically) since it is quite conservative. However, as long as such a cap exists, the "unbounded" situation does not exist.

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented Mar 12, 2018

@mvandeberg larger changes to SBD probably warrant further discussion, but it may be better to discuss those in another issue. Regarding the original change proposed here: to remove the logic to print STEEM in place of SBD starting when SBD reaches 2% of the STEEM marketcap - what are your thoughts on that?

Under current market conditions, there seems to be sufficient/excess demand for SBD, so there does not seem to be a need to reduce SBD printing in favor of STEEM.

@eonwarped

This comment has been minimized.

Copy link

commented Mar 20, 2018

I've been trying to find this 10% hard cap in the code and cannot find it anywhere. Could someone link me to it?

I know about the print rate which is what was in the linked PR.

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented Mar 22, 2018

@eonwarped it is handled as part of the witness price feed logic:

price min_price( asset( 9 * gpo.current_sbd_supply.amount, SBD_SYMBOL ), gpo.current_supply ); // This price limits SBD to 10% market cap

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented Mar 22, 2018

Since this seems to be where the "reverse conversion" idea is being discussed, I wanted to add some comments to that discussion.

The difference is that it is capped today and would be unbounded if conversions were allowed. It is worse because the time when people are most likely to want to convert STEEM to SBD is when they want to short STEEM. Which is when the SBD percent of the virtual supply will go up. In the event of a crash, STEEM to SBD conversions could escalate the process by converting high percentages of STEEM to SBD and pushing the inflation rate to hyper-inflation levels. The only recovery of which would be from the recovering price of STEEM which could never happen due to hyper-inflation.

As @iamsmooth mentioned above, the impact on the overall STEEM inflation will be capped, based on the 10% hard cap limit.

If we can achieve a (relatively) stable SBD peg through reverse conversions, then there is a good chance that the demand for SBD will be a lot less based on shorting STEEM, and more on shorting the entire cryptocurrency market. This could actually have a positive effect on the STEEM marketcap in bear markets, because more demand for SBD would translate into more demand for STEEM (to convert).

@mkdouglas

This comment has been minimized.

Copy link

commented Apr 17, 2018

It seems to me that all the development discussion around SBD ignores the fact that general users would prefer to understand the workings of the system, especially the rewards system. Some of the implemented and proposed solutions are so complex that they put off potential new Steem users. Sometimes complexity is necessary but I do not think it is necessary for the primary system, the rewards system.

I propose for the Steem blockchain to stop distributing rewards in SBD but instead only distribute rewards either entirely in SP or as a combination of SP and STEEM. In the same way rewards are calculated entirely in SP is the same way they should be calculated as a combination of SP and STEEM with the only difference being that half of the SP should be in the more liquid form of STEEM.

Existing SBD should continue to be:

  • in users' wallets
  • transferable between users' wallets
  • convertible in 3.5 days into STEEM worth 1 USD according to the price feed from the Steem blockchain's witnesses

If you ignore the time value of money, STEEM and SP can be considered the same cryptocurrency with the same value. Therefore, potential rewards can then be easily calculated by multiplying the STEEM/SP amount with the market price of STEEM. UIs such as steemit.com, busy.org, utopian.io etc. should do this calculation so that the $ value indicated on posts can again be related to the USD value.

...

This proposal aims to dissociate SBD from the rewards system and buy more time for the SBD debate to continue. This proposal is also compatible with some of the suggested solutions:

  • Imitate the functionality of the pegged cryptocurrencies of the Bitshares blockchain which have held their peg much better than SBD
  • Reverse Conversion from STEEM to SBD
  • Discontinuation of SBD

In my opinion, the above are the best proposed solutions to fix the SBD problem and they do not require SBD to be part of the rewards system.

@iamsmooth

This comment has been minimized.

Copy link

commented Apr 17, 2018

@mkdouglas

Discontinuing the distribution of SBD as rewards without replacing it with some other mechanism to distribute SBD will completely break the peg (worse than now). It will also immediately increase the liquid supply of STEEM and potentially negatively affect the STEEM price. It is also an extreme economic intervention, which not only favors some users (those who bought SBD) over others (those who sold SBD, and likely STEEM/SP holders) but does so by completely ignoring the intended well documented role and function of the SBD token.

The distribution of new SBD is a critical part of the existing mechanism which limits the value of SBD and instead transmits (currently only some of the) excess demand for SBD into demand for STEEM (by steadily increasing the supply of SBD and reducing the supply of liquid STEEM).

If you want to fundamentally change the role of SBD in the system or eliminate it, okay, but please propose a better plan than that on how to accomplish the transition while avoiding causing more disruption. One way to do that would be to implement the reverse conversion mechanism first, at which point the distribution of rewards loses its critical role in supply maintenance mechanism of SBD and can easily be changed or eliminated without causing secondary effects on the SBD token itself (and indeed the rest of the system).

This proposal aims to dissociate SBD from the rewards system and buy more time for the SBD debate to continue

Then the proposal is completely broken. It doesn't 'buy more time', it instead precipitates more rapid and more severe dysfunction.

@mkdouglas

This comment has been minimized.

Copy link

commented Apr 18, 2018

@iamsmooth

Granted, pairing the removal of SBD rewards with reverse conversion will be the more ideal scenario:

SBD would only be created by converting in 3.5 days from STEEM worth 1 USD according to the price feed from the Steem blockchain's witnesses. SBD creation would therefore only depend on market demand as it would no longer be created through the rewards system.

The problem is that it has been at least 11 months since reverse conversion was proposed. When or if implemented, reverse conversion does not guarantee to fix the peg. All the while, SBD is complicating the new user experience.

In my opinion, the reluctance to change a faulty system is shortsightedness towards minimally protecting the interests of thousands instead of trying to offer a better user experience that will attract millions more.

Discontinuing the distribution of SBD as rewards without replacing it with some other mechanism to distribute SBD will completely break the peg (worse than now). It will also immediately increase the liquid supply of STEEM and potentially negatively affect the STEEM price. It is also an extreme economic intervention, which not only favors some users (those who bought SBD) over others (those who sold SBD, and likely STEEM/SP holders) but does so by completely ignoring the intended well documented role and function of the SBD token.

As it is now, SBD does not offer the stability for which it was designed. It only offers a floor. Its price above 1 USD is purely speculative. Varying the supply of SBD through rewards will most likely not match the dynamic market demand of SBD and as such will not do much to maintain the peg. I think a broken peg is a broken peg regardless of the deviation.

I agree that the increased supply of liquid STEEM will most likely negatively affect the price of STEEM. However, if users opt out of SBD due to a perceived lack of any more development incorporating SBD, those users may provide demand for the increased supply of liquid STEEM, but this is just more speculation. As a cryptocurrency project operating in a highly speculative market, the Steem blockchain developers should focus on the long-term value of STEEM and not its short-term price. That long-term value will be increased by simplifying the user experience to attract new users.

If you want to fundamentally change the role of SBD in the system or eliminate it, okay, but please propose a better plan than that on how to accomplish the transition while avoiding causing more disruption.

We can only speculate the effects of discontinuing the distribution of SBD as rewards. Either there will be panic selling or extreme hodling. The disruption may not be as severe as feared as SBD only represents less than 5% of the total market value of all the Steem blockchain tokens, but I concede it may be naive to think this way. Regardless of whatever happens, the blockchain should continue to guarantee SBD holders 1 USD worth of STEEM for every 1 SBD although in 3.5 days and not on demand.

Then the proposal is completely broken. It doesn't 'buy more time', it instead precipitates more rapid and more severe dysfunction.

When a limb is slowly becoming septic and your attempts at fixing it are not working, amputation may just be the solution before the limb makes the entire body septic. A prosthetic limb can be used later on.

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented Apr 18, 2018

@mkdouglas smooth is right. What you are proposing is a very dramatic change to the economy, and there are a lot of potential negative consequences. It is pretty safe to say that removing SBD from rewards payouts will not fix the peg. It will also reduce the supply of SBD when the market is giving a fairly clear signal that more SBD supply is what is really needed. It will also increase the supply of STEEM - which will add downward pressure to the STEEM price.

The only benefit that I can see from the proposed change is that it reduces the complexity of the system and makes it easier for users to understand. I agree that is an important goal - but not one that should be achieved with the costs listed above.

Also, the amount of “damage” caused by the confusion is somewhat unclear. There is actually quite a bit of evidence that a large number of users are quite happy when they find out they get extra money from their author payout - even if it is a little more confusing to understand where it came from.

In terms of reducing the confusion - I would much prefer that we find a solution to make the SBD peg work again, rather than try to phase it out of use.

@mkdouglas

This comment has been minimized.

Copy link

commented Apr 19, 2018

@TimCliff @iamsmooth

Also, the amount of “damage” caused by the confusion is somewhat unclear. There is actually quite a bit of evidence that a large number of users are quite happy when they find out they get extra money from their author payout - even if it is a little more confusing to understand where it came from.

Unfortunately, once a user finds out that SBD is valued more by the market than by the $ indicated on posts, the user expects to get at least 37.5% of the $ indicated on the posts in the form of SBD. This is according to steem.supply/rewards. Rewards then get complicated again:

After the SBD passes 2% of the STEEM marketcap, the blockchain starts producing STEEM for a portion of the author rewards instead of SBD. It does more STEEM and less SBD linearly up until 5% debt, at which point it is doing 100% STEEM instead of SBD.

At 3.5% debt a post would pay out:
50% SP
25% SBD
25% STEEM

At 5% debt a post would pay out:
50% SP
50% STEEM

In the above scenarios, the user gets less money than they expected!

@mkdouglas smooth is right. What you are proposing is a very dramatic change to the economy, and there are a lot of potential negative consequences. It is pretty safe to say that removing SBD from rewards payouts will not fix the peg. It will also reduce the supply of SBD when the market is giving a fairly clear signal that more SBD supply is what is really needed. It will also increase the supply of STEEM - which will add downward pressure to the STEEM price.

A less drastic action to take to stop distribution of SBD as rewards would be to gradually lower the 5% debt limit at which no more SBD is distributed. This way the market could slowly adjust to the reducing supply of SBD. If no severe negative consequences are experienced, then the limit could be gradually lowered to 0% to effectively stop distribution of SBD as rewards.

The SBD market is much more irrational than the rest of the cryptocurrency market. When the supply of SBD is increased in an attempt to fix the peg, the market could just conclude that SBD is no longer a scarce asset and demand for SBD could just as well fall. The falling price of SBD could also bring down the price of STEEM because of their their relationship.

Other than increasing SBD rewards, the supply of SBD could also be varied through reverse conversion or STEEM lockups such as those of Bitshares for BitUSD. These are solutions that have been discussed but have not yet been implemented due to the drastic changes they would bring. They are not even guaranteed to work to fix the peg! If these solutions happen to be implemented but fail to fix the peg, the dissociation of SBD from the rewards system means that SBD would no longer complicate the rewards system.

For the peg to have a chance at working, I believe the entire supply of SBD needs to be as agile as its demand. Regardless of the implementation of any other solution to vary the SBD supply, continuing with SBD as rewards would hinder that agility because of the delay in varying a portion of the SBD supply. In short, both demand and supply of SBD should be determined by only the market.

As the dissociation of SBD from the rewards system would eventually need to be done, why not do it now in order to improve the user experience. Fortunately, this dissociation could be done gradually by reducing the 5% debt limit at which no more SBD is distributed.

Again, develop the Steem blockchain for user experience and not for the current irrational speculative market. The true value of STEEM depends on network effects and network effects depend on the number of active users.

@iamsmooth

This comment has been minimized.

Copy link

commented Apr 19, 2018

This is according to steem.supply/rewards. Rewards then get complicated again:

This GitHub issue is specifically about removing or significantly increasing the print rate limit, at which point this complication will be either removed altogether or less likely to occur. It sounds like you are therefore in support of the proposal in this issue! (BTW, kindly refrain from derailing it. If you think it is a bad idea which makes matters worse in some way, fair enough to comment accordingly, but a separate proposal such as removing SBD payouts should really go into a different issue.)

For the peg to have a chance at working, I believe the entire supply of SBD needs to be as agile as its demand. Regardless of the implementation of any other solution to vary the SBD supply continuing with SBD as rewards would hinder that agility because of the delay in varying a portion of the SBD supply

This is wrong. The is SBD is too large for its demand, as reflected in a low price, then conversions reduce its supply at rate that is market-determined. Any further distribution can easily be absorbed by a marginal increase in the size of those conversions with negligible friction (e.g. if 1000 SBD of conversions are already being done, and 100 additional SBD is distributed, then 1100 SBD of conversions can be done instead).

Given the (for all practical purposes) unlimited conversion sink, any fixed rate of supply can be converted into any lower rate with the difference made up by a stream of conversions. Too high a supply rate is never a problem for the peg, only too low (given the current structure without conversions from STEEM to SBD).

In addition there is also a dynamic mechanism to reduce supply from rewards, in the form of users voluntarily choosing to receive 100% SP instead of 50/50 SBD/SP. In the unlikely case where conversions were unable to absorb excess SBD supply and the SBD price remained weak, users would voluntarily forgo receiving the undervalued SBD, reducing the supply rate.

The SBD market is much more irrational than the rest of the cryptocurrency market

This claim is unsupported nonsense, and possibly outright wrong. (Seriously, there are broken or nonexistent blockchains, those which have been hacked creating coins out of thin air, outright ponzi schemes, etc. which have pumped to apparent billion dollar valuations. To claim SBD is much more irrational than that is absurd.) First of all you have no evidence supporting it nor any metric by which to measure degree of irrationality. Second of all, it is entirely possible that given the current rule set (e.g. including the dumb print rate limit which will be hit in response to high SBD demand, exactly the opposite of how a well-designed system would work) expecting SBD to overvalue may be entirely rational. This issue and other discussions are about making changes to the rule set which would naturally change any rational assessment of SBD's expected price behavior.

The true value of STEEM depends on network effects and network effects depend on the number of active users

Even if true (I don't entirely agree, it also depends on other aspects of the business model; there have been web sites with many users which ultimately failed because the business model didn't add up, and also blockchains with a lot of users which withered when they didn't deliver enough of the right value), the path to maximize the number of users is not uniquely determined and certainly not necessarily maximized by removing SBD from payouts. The model of widely distributing a stable value token which can easily be used as a (short term at least) store of value, means of exchange, and unit of account, is one which could easily increase the usage of the blockchain, as well as the user base. Indeed, focusing the user experience exclusively on the speculative token is arguably developing "for the current irrational speculative market" more so than including a token which in many ways is clearly a lot more useful.

@mkdouglas

This comment has been minimized.

Copy link

commented Apr 20, 2018

@iamsmooth

This GitHub issue is specifically about removing or significantly increasing the print rate limit, at which point this complication will be either removed altogether or less likely to occur. It sounds like you are therefore in support of the proposal in this issue! (BTW, kindly refrain from derailing it. If you think it is a bad idea which makes matters worse in some way, fair enough to comment accordingly, but a separate proposal such as removing SBD payouts should really go into a different issue.)

Actually, I am in favour of gradually reducing the print rate limit to 0%. I am sorry it took me a while to get to that point. I also concede that gradually reducing the print rate is neither removing it or significantly increasing it, but the proposal is still about the print rate. Any new issue about the print rate would have been flagged as a duplicate issue.

This is wrong. The is SBD is too large for its demand, as reflected in a low price, then conversions reduce its supply at rate that is market-determined. Any further distribution can easily be absorbed by a marginal increase in the size of those conversions with negligible friction (e.g. if 1000 SBD of conversions are already being done, and 100 additional SBD is distributed, then 1100 SBD of conversions can be done instead).

I believe you are describing the current complex model that has unfortunately failed to maintain the peg. The market for SBD is less of a perfect market than other cryptocurrencies because of the complexities of future SBD supply. It is difficult for market participants to guess how much of the rewards would be received in SBD. In short, SBD supply is slow to react to SBD demand. When the demand and price for SBD goes up and users opt more for 50/50 rewards, the market has to wait at least 7 days for supply to increase but at that point demand for SBD has already increased even more. Supply is therefore always playing catch-up. The peg could best be achieved in a perfect market where demand is X and supply is the inverse of X and not Y.

Given the (for all practical purposes) unlimited conversion sink, any fixed rate of supply can be converted into any lower rate with the difference made up by a stream of conversions. Too high a supply rate is never a problem for the peg, only too low (given the current structure without conversions from STEEM to SBD).

The time difference between increasing SBD supply through rewards (7 days) and decreasing SBD supply through SBD to STEEM conversions (3.5 days) could be contributing to the mismatch between supply and demand?

In addition there is also a dynamic mechanism to reduce supply from rewards, in the form of users voluntarily choosing to receive 100% SP instead of 50/50 SBD/SP. In the unlikely case where conversions were unable to absorb excess SBD supply and the SBD price remained weak, users would voluntarily forgo receiving the undervalued SBD, reducing the supply rate.

Users would also consider liquidity and the time value of money. 50/50 rewards are much more liquid than 100% SP.

This claim is unsupported nonsense, and possibly outright wrong. (Seriously, there are broken or nonexistent blockchains, those which have been hacked creating coins out of thin air, outright ponzi schemes, etc. which have pumped to apparent billion dollar valuations. To claim SBD is much more irrational than that is absurd.) First of all you have no evidence supporting it nor any metric by which to measure degree of irrationality.

Debt assets such as bonds have intrinsic value and their prices usually fluctuate around that intrinsic value. The valuation of ownership assets such as stocks is purely extrinsic and their prices depend solely on the market's perception of their value. I should have said the SBD market is much more irrational than the rest of the cryptocurrency debt market. My metric of irrationality is the premium the SBD market is paying for 1 SBD that is currently earning 0% interest and has the intrinsic value of 1 USD.

Second of all, it is entirely possible that given the current rule set (e.g. including the dumb print rate limit which will be hit in response to high SBD demand, exactly the opposite of how a well-designed system would work) expecting SBD to overvalue may be entirely rational. This issue and other discussions are about making changes to the rule set which would naturally change any rational assessment of SBD's expected price behavior.

Increasing the SBD supply beyond a conservative debt limit without an agile way to decrease that supply is dangerous. The problem with increasing SBD supply through rewards is that the supply would be slow to react to a decrease in SBD demand.

An actor with a few million dollars could hoard a large chunk of the SBD supply. This would push SBD prices even higher. Once the SBD to STEEM conversion rate is at its most optimal, the actor could initiate the conversion. If the witnesses do not significantly adjust the price feed, which they shouldn't, the actor could end up with a large chunk of STEEM. The large chunk of STEEM could either be powered up and used to distort rewards or it could be dumped on the market to crash the price of STEEM.

Even if true (I don't entirely agree, it also depends on other aspects of the business model; there have been web sites with many users which ultimately failed because the business model didn't add up, and also blockchains with a lot of users which withered when they didn't deliver enough of the right value), the path to maximize the number of users is not uniquely determined and certainly not necessarily maximized by removing SBD from payouts.

I made sure to state active users. One of the primary value propositions of the Steem blockchain is currency. The value of currency mainly depends on wide acceptance. The more users who actively engage with each other on the Steem blockchain and accept STEEM as fair compensation for their content, capital and commodities, the more valuable the blockchain.

The model of widely distributing a stable value token which can easily be used as a (short term at least) store of value, means of exchange, and unit of account, is one which could easily increase the usage of the blockchain, as well as the user base. Indeed, focusing the user experience exclusively on the speculative token is arguably developing "for the current irrational speculative market" more so than including a token which in many ways is clearly a lot more useful.

I am not against the idea of SBD. I am just against its current distribution model which is not agile enough to react to market changes. The complexity of the system and the delay in reacting to market changes also create information asymmetry which distorts the peg even more.

SBD not pegged to USD is useless. It is just floating debt risk that cannot be used as a store of value, means of exchange, or unit of account. As it is now, SBD is just complicating the user experience. If the supply of new SBD was gradually reduced to zero by gradually reducing the print rate limit to 0%, the price of existing SBD would keep going up. The witness feed price should continue to reflect the market value of STEEM. As SBD to STEEM conversions would continue to depend on the witness feed price, there should be an upper limit to the price of SBD. Limiting the supply of SBD should limit the debt risk. Removing SBD from the rewards system should reduce complexity. Meanwhile, a new agile system to create and destroy SBD could be implemented.

Combining the creation of new STEEM with the creation of SBD through the rewards system was an interesting experiment that has unfortunately failed. The Bitshares blockchain model, which has worked better than the Steem blockchain model, is a simpler model that does not combine the creation of new native coins with the creation of new debt/pegged tokens. It is acceptable to try and innovate a new system but if that fails:

  • accept the failure in good time
  • implement damage control measures (gradually lower the 5% debt limit at which no more SBD is distributed so as to effectively stop the creation of new SBD through the rewards system)
  • revert to a simpler system proven to work (new native coins are created separate from new debt/pegged tokens)
  • innovate again from a stable working state (reverse conversion or STEEM lockups such as those of Bitshares for BitUSD)
@iamsmooth

This comment has been minimized.

Copy link

commented Apr 20, 2018

@mkdouglas You are still derailing, aggressively, and possibly deliberately. A small portion of your reply did address the proposal to remove or increase the print rate limit, but the remaining several dozen lines of it did not.

If you want to discuss other issues please take them elsewhere. I won't respond further here, as I feel all of the points in your reply were already made earlier (making it therefore not only derailing but also filibustering and forum sliding).

I will address this a couple of technical points surrounding conversions since it relates to the print rate and printing process.

The time difference between increasing SBD supply through rewards (7 days) and decreasing SBD supply through SBD to STEEM conversions (3.5 days) could be contributing to the mismatch between supply and demand?

No it does not. There are (essentially) no conversions going on now, nor would any be expected when SBD is significantly overvalued. Since none are occurring their mechanism is irrelevant.

In the case where SBD is not overvalued (supply is in excess), printing SBD is harmless because conversions can immediately absorb the excess supply, and there is no time mismatch at all! When conversions are done the SBD is immediately removed from the economy. The 3.5 day delay only occurs before the replacement STEEM is delivered. The net effect is the same as STEEM being created in the first place, with a 3.5 day delay (which might slightly increase the price of STEEM, but would have no effect on SBD).

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented May 7, 2018

There are a lot of things being discussed in this issue. Within the specific scope of "Removing the gradual SBD print rate decline when the debt ratio increases", I propose the following changes in order to change the SBD print rate decline so that it only occurs once the debt limit reaches 9%:

In libraries/protocol/hardfork.d/0_20.hf, add a new HF20 condition:

#define STEEM_HARDFORK_0_20__2140 (STEEM_HARDFORK_0_20)

In libraries/protocol/include/steem/protocol/config.hpp, define two new constants:

#define STEEM_SBD_STOP_PERCENT_HF20                (10*STEEM_1_PERCENT ) // Stop printing SBD at 10% Market Cap
#define STEEM_SBD_START_PERCENT_HF20               (9*STEEM_1_PERCENT) // Start reducing printing of SBD at 9% Market Cap

In master/libraries/chain/database.cpp, update the conditional logic to use STEEM_SBD_STOP_PERCENT_HF20 and STEEM_SBD_START_PERCENT_HF20 after HF20:

void database::update_virtual_supply()
{ try {
   modify( get_dynamic_global_properties(), [&]( dynamic_global_property_object& dgp )
   {
      dgp.virtual_supply = dgp.current_supply
         + ( get_feed_history().current_median_history.is_null() ? asset( 0, STEEM_SYMBOL ) : dgp.current_sbd_supply * get_feed_history().current_median_history );

      auto median_price = get_feed_history().current_median_history;

      if( !median_price.is_null() && has_hardfork( STEEM_HARDFORK_0_14__230 ) )
      {
         auto percent_sbd = uint16_t( ( ( fc::uint128_t( ( dgp.current_sbd_supply * get_feed_history().current_median_history ).amount.value ) * STEEM_100_PERCENT )
            / dgp.virtual_supply.amount.value ).to_uint64() );

         auto steem_sbd_start_percent_local = has_hardfork( STEEM_HARDFORK_0_20__2140 ) ? STEEM_SBD_START_PERCENT_HF20 : STEEM_SBD_START_PERCENT;
         auto steem_sbd_stop_percent_local = has_hardfork( STEEM_HARDFORK_0_20__2140 ) ? STEEM_SBD_STOP_PERCENT_HF20 : STEEM_SBD_STOP_PERCENT;

         if( percent_sbd <= steem_sbd_start_percent_local )
            dgp.sbd_print_rate = STEEM_100_PERCENT;
         else if( percent_sbd >= steem_sbd_stop_percent_local )
            dgp.sbd_print_rate = 0;
         else
            dgp.sbd_print_rate = ( ( steem_sbd_stop_percent_local - percent_sbd ) * STEEM_100_PERCENT ) / ( steem_sbd_stop_percent_local - steem_sbd_start_percent_local );
      }
   });
} FC_CAPTURE_AND_RETHROW() }

If these changes are acceptable, I can work on the pull request.

@iamsmooth

This comment has been minimized.

Copy link

commented May 7, 2018

@TimCliff I like the idea of refocusing the discussion on the print rate, but I'm not sure I like bundling this with all of the other HF20 proposed changes which includes a lot of different items seems stuck in indefinite limbo for not well defined (to any public knowledge afaik) reasons.

@TimCliff

This comment has been minimized.

Copy link
Contributor

commented May 8, 2018

@iamsmooth

As far as whether the change will be bundled with the other HF20 changes, there are really three options. (This assumes we do make this change, and that the 'prior planned' HF20 is still going to happen at some point.)

  1. Bundle this change in with the 'prior planned' HF20 changes.
  2. Complete this change prior to the 'prior planned' HF20 changes, fork, and then do those changes as HF21.
  3. Do this change after the 'prior planned' HF20 changes.

(I assume you are not in favor of 3.)

If we do either 1 or 2, then we would go with the proposal in the description above. (In both cases, this change will be in "HF20".)

If we go with 2, there will be an additional step of taking all the 'prior planned' HF20 changes and moving them out of HF20, into HF21 (as well as taking the current HF21 changes and advancing those to HF22). IMO, if we do this - it would be best handled as a separate issue. I also think that we can wait to decide this until after the change is done, as there may be updates between now and then.

One other thing to note - I plan on looking into #2022 too. If we end up doing both changes (which would best be done together) that will add more time before they are both done and ready.

@Yung-Trap-CEO

This comment has been minimized.

Copy link

commented May 15, 2018

@iamsmooth

@mkdouglas You are still derailing, aggressively, and possibly deliberately.

This guy is a troll plain and simple. If not, he does not understand things well enough for his comments to be taken seriously. Just ignore them and move on.

TimCliff added a commit to TimCliff/steem that referenced this issue May 19, 2018

@mac128k mac128k added this to Backlog (not prioritized) in Hardfork 20 (HF20/Velocity) Jun 27, 2018

@mac128k mac128k added the 1 label Jul 5, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 8, 2018

mvandeberg added a commit that referenced this issue Jul 9, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 9, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 10, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 11, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 11, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 11, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 16, 2018

TimCliff added a commit to TimCliff/steem that referenced this issue Jul 16, 2018

mvandeberg added a commit that referenced this issue Jul 18, 2018

mvandeberg added a commit that referenced this issue Jul 18, 2018

mvandeberg added a commit that referenced this issue Jul 18, 2018

mvandeberg added a commit that referenced this issue Jul 18, 2018

mvandeberg added a commit that referenced this issue Jul 18, 2018

mvandeberg added a commit that referenced this issue Jul 20, 2018

Merge pull request #2603 from steemit/2503-PR
Closes #2140 - Update SBD Print Rate

@mvandeberg mvandeberg closed this Jul 20, 2018

@mac128k mac128k moved this from Backlog (not prioritized) to Done in Hardfork 20 (HF20/Velocity) Jul 20, 2018

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.