bitshares / bsips

BitShares Improvement Proposals and Protocols. These technical documents describe the process of updating and improving the BitShares blockchain and technical ecosystem.
https://bitshares.github.io
63 stars 86 forks source link

BSIP76: Threshold for price feeds through voting #221

Closed abitmore closed 4 years ago

abitmore commented 4 years ago
BSIP: 0076
Title: Threshold for price feeds through voting
Authors: Abit More
Status: Draft
Type: Informational
Created: 2019-09-25

Abstract

This BSIP defines a process to influence the pegging status of committee-owned smartcoins through poll voting.

Motivation

In order to maintain the peg of the smartcoins, smartcoins holders now have the right to be always possible to buy collateral at a "fair" price. For committee-owned smartcoins, the collateral is BTS. However, when the BTS token is being dumped in Centralized Exchanges with fake volume and even fake supply, the value of the token is distorted, thus, forcing BTS token holders who have their BTS token trapped in debt positions as collateral to sell their collateral at the distorted price via margin calls or force-settlements is unfair. The same situation applies to non-committee-owned smart coins as well.

Smartcoins are products of the BitShares platform, their rules are defined by the platform for the benefit of the platform and the BTS token holders. If a product brings more harm than benefit to the platform, its rules need to be optimized, under extreme conditions, the product needs to be halted. For smartcoins, when the cost to maintain the peg is too high to afford, it's time to give up the peg.

Rationale

Ideally a smartcoin owner should be able to define a set of conditions about when to give up the peg and how to de-peg, but it needs time to design and implement. Before the final solution got worked out, it's up to the price feed producers to execute the will for the asset owner on whether to maintain the peg at a given point and how to de-peg. For committee-owned smartcoins, the owner is actually all BTS holders who could express their will by voting, the price feed producers are the active witnesses.

Specification

The BTS token holders define a threshold, if the market trading price of BTS is below the threshold, witnesses should feed the threshold but not the market trading price, thus would effectively break the peg as intended. When the market trading price of BTS is above the threshold, witnesses should feed the market trading price, so the peg will be restored automatically. The mechanism is similar to the Global-Settlement Protection mechanism as described in BSIP 58.

Changes to the threshold will be decided on individual committee-owned smartcoins by voting, each time one change is issued 2 poll worker proposals will be created standing FOR and AGAINST the change.

For example, to decide whether to change the price feed threshold of bitCNY to 0.2 CNY each BTS, 2 poll worker proposals will be created for voting:

Poll-BSIP**-Change bitCNY feed threshold [from the previous value when applicable] to 0.2 CNY per BTS

Poll-BSIP**-Not change bitCNY feed threshold [from the previous value when applicable] to 0.2 CNY per BTS

If the voting confirm the change, committee will announce the change at least 3 days before the change is implemented by witnesses.

Discussion

Some people think it's the debt position holders' responsibility to always maintain their collateral ratio to a fair level. However, when the collateral's price can drop to zero due to unfair manipulation, it's not possible to always maintain a good CR. Higher or lower, there is a point that the peg would break.

This BSIP may negatively impact smartcoin holders since their holdings will likely devalue when the voted point is met, which would likely be worse than before. Businesses built on top of the smartcoins may be impacted. Reputation of smartcoins as well as the BitShares brand may be impacted.

Discussions about changing the threshold to what value is not in the scope of this BSIP. The values should be carefully selected to comply with the market status and to mitigate potential risks. Voters will need to evaluate each setting that is proposed in a BSIP poll.

A new feature that allows an asset owner to directly set, update or unset the threshold will be described in a new BSIP. It's not in the scope of this BSIP.

Non-Technical Summary

It is important to define a process for the BTS token holders to decide to change pegging status of committee-owned smartcoins through voting. This can currently be achieved with the technical options that are available to the price feed producers aka witnesses.

See Also

Copyright

This document is placed in the public domain.

Agorise commented 4 years ago

If bitGold and bitSilver are worth anything again, I'm all for it. We bought bitGold and bitSilver to be able to hold value if the BTS price goes down, but knowing now that the cex's dictate the BTS price, this has essentially wiped out our hedge. Gold and silver prices are going up now too, making this problem even worse, and making the smartcoins worthless, literally.

pmconrad commented 4 years ago

when the BTS token is being dumped in Centralized Exchanges with fake volume and even fake supply

Can you prove that it is?

To me, this looks like yet another attempt to save the margin positions at all cost.

bangzi1001 commented 4 years ago

This BSIP could be Game Changer or Terminator for BitAssets. If anyone know where is the threshold, it will encourage lot of traders to create BitAssets and no longer afraid of margin call. Also, it will give long term investors a sense of safety and expect BTS price will appreciated over time.

There are some issues here:

  1. How to define the threshold? Arbitrary number won't work, I suggest lowest price over the past x months.

  2. The Poll should not ongoing with FOR and AGAINST, today is FOR voted in, tomorrow is AGAINST voted in, it will make traders life difficult and confuse witnesses. I suggest do something like Vote In for 3 days then consider approved. Any new changes will need to create a new Poll. Committee members should make announcement about new threshold.

  3. The Poll need to be clearly mention update from what price to what price like "Update FROM 0.1 CNY TO 0.2 CNY"

ryanRfox commented 4 years ago

Assigned BSIP76 @abitmore please create a PR and continue discussions.

froooze commented 4 years ago

We have three problems:

  1. Liquidity #213
  2. Price feeds (I need more input here)
  3. Margin calls #182

Your BSIP can be categorized to 2. position.

https://github.com/bitshares/bsips/blob/master/bsip-0042.md

abitmore commented 4 years ago

when the BTS token is being dumped in Centralized Exchanges with fake volume and even fake supply

Can you prove that it is? I don't have a solid evidence, but some data.

zb.com, volume of yesterday was 440M in one market BTS:QC. image

5-min chart: image

Volume of the other market BTS:USDT was 48M. image

Zb's accounts in BitShares (in total around 260M):

account balance
bitkkchubei002 162.3M
zbbts001 100M
zbsend001 1M

Note: zb has lending feature thus its volume might be higher than normal exchanges, but it's suspicious that so much are available for borrowing and dumping in a short period.

bitProfessor commented 4 years ago

when the BTS token is being dumped in Centralized Exchanges with fake volume and even fake supply

Can you prove that it is?

To me, this looks like yet another attempt to save the margin positions at all cost.

Complete proof is impossible. We should do something.

froooze commented 4 years ago

Businesses built on top of the smartcoins may be impacted. Reputation of smartcoins as well as the BitShares brand may be impacted.

I see here the biggest problem. How do we make sure we can peg again? I look for a softer solution.

bitProfessor commented 4 years ago

I see here the biggest problem. How do we make sure we can peg again? I look for a softer solution here.

To be honest, I've given up。

abitmore commented 4 years ago

Created PR https://github.com/bitshares/bsips/pull/222, updated title and OP.

pmconrad commented 4 years ago

Please be clear about what's happening. Suspicious trading activity is not automatically "fake volume", nor is a shorting attack "fake volume".

IMO it's the witnesses' job to sort out suspicious markets and provide a feed for the "real" price. No need for a BSIP.

abitmore commented 4 years ago

The BSIP is about to no longer feed the real price under certain circumstances, or say, redefine rules of smartcoins.

dnotestein commented 4 years ago

If I understand this BSIP correctly, the issue is fake pricing. But after what you said above, I can't tell if the solution is involved with determining the "true price" (e.g. excluding fake data) or something stranger (like some math rule that modifies all price data lfrom "good" price feeds also). And you want to take this power away from witnesses, and make it determined by voters after suggestions from committee.

I guess the rationale is that the major voters care a lot (because they are apparently creating the smartcoins and stand to lose the most, where it doesn't impact witnesses as much economically if the pricing is wrong).

But the contra-position to this is these same people (the majority voters/margin account holders) have the most incentive to avoid getting called under any circumstances. It would never make sense in any margin-based system to have the margin account holders be able to determine if they should be margin-called or not, IMO (because his loss is limited to his collateral and once it's exhausted he has no reason not to continue to hold his position against a possible reversal).

If the majority of stakeholders are margining, then the interests of bitshares stakeholders are misaligned with the safety of smartcoins, and you've discovered a fundamental flaw in the economic system. I think the decision on when a margin call should happen either needs to be kept away from easy manipulation by the margin accounts or there needs to be a limit on how much can be margined relative to the overall voting stake, to prevent this manipulation. Unfortunately, a limit of this sort would dramatically reduce the potential supply for smartcoins. So I think it's better to make it more difficult for voters to do what you're suggesting with this BSIP (i.e. I think this BSIP is a bad idea).

A better solution would seem to be to develop rules for identifying and excluding bad pricing data. Now this work could certainly be informed by info from the margin account holders, as they are motivated to spot such manipulation.

Probably someone at this point is wondering why I'm commenting on this at all, so I'll tell you: my company often takes significant "counter positions" to the margin accounts: in other words, it often holds substantial amounts of smartcoins created by the margin accounts. I've been burned before by these margin accounts not maintaining adequate collateral (and it wasn't just "market manipulation", it was a true fall in BTS price). If you guys follow thru with this crap (allowing margin holders to avoid calls), I see no reasonable position except to stop holding smartcoins. You'll have to wait for the next sucker...

christophersanborn commented 4 years ago

IMHO this BSIP is underspecified. I don't think it's enough to specify that we should feed the threshold without first having a VERY-well-thought-out specification for how to choose that threshold. Also from the BSIP text I'm not sure I fully understand the mechanism being proposed. That may just be a need for editing/clarifying, however.

Secondarily, imho this puts far too much responsibility on the witnesses to "go off script" under what will amount to be a large matrix of conditions that the witnesses need to keep track of. In other words it's a complexity problem. And it will be difficult for shareholders to assess who is "correctly" following these modified scripts and enforce the mandate by voting. Witnesses should only have the responsibility to feed an accurate price feed. There may be much to say about what "accurate" really means, but however it is coded in the feed scripts, DEVIATING from "accurate" should not be part of witness responsibility.

Thirdly, this is a huge burden and responsibility on the voters, who now need to be experts in micro markets or face the possibility of attacks from factions targeting a particular currency and who happen to have enough voting weight to be influential. For example, I wouldn't feel confident to vote defensively against such a faction in a currency that I know little about.

CryptoKong commented 4 years ago

But the contra-position to this is these same people (the majority voters/margin account holders) have the most incentive to avoid getting called under any circumstances. It would never make sense in any margin-based system to have the margin account holders be able to determine if they should be margin-called or not, IMO (because his loss is limited to his collateral and once it's exhausted he has no reason not to continue to hold his position against a possible reversal).

Agreed, I mentioned a long time ago that users should not be able to use collateralised BTS to vote. Any BTS tied up as collateral should be removed from voting weight. A bit like how most central banks are seperated and independant from governments.

shulthz commented 4 years ago

If we did not use collateralised BTS to vote, then the vote will be controlled by baozi and BEOS or CEX.

But the contra-position to this is these same people (the majority voters/margin account holders) have the most incentive to avoid getting called under any circumstances. It would never make sense in any margin-based system to have the margin account holders be able to determine if they should be margin-called or not, IMO (because his loss is limited to his collateral and once it's exhausted he has no reason not to continue to hold his position against a possible reversal).

Agreed, I mentioned a long time ago that users should not be able to use collateralised BTS to vote. Any BTS tied up as collateral should be removed from voting weight. A bit like how most central banks are seperated and independant from governments.

grctest commented 4 years ago

Why was this BSIP put to WP vote, then implemented before any WP activating? (CNY & USD)

This BSIP document is listed as 'draft', but it's active in production. Both USD & CNY are being fed fake price feeds which do not mach their asset's description nor the bitasset/mpa documentation on the bitshares website and wiki.

BTS = 0.196445 CNY & $0.027714 bitCNY value = 4.54545 0.196445 = ‭0.89293 = 10.7% below CNY peg bitUSD value = 28.98551 0.027714 = ‭0.8033 = 19.67% below USD peg

The readme file is wrong, it's titled "Committee-Defined SmartAsset Collateral Threshold".

grctest commented 4 years ago

We've had fake prices for over a month now, no follow up threshold price values have been voted on to accurately represent market rates & these fake feeds appear to be permanent (at least until the price recovers past the threshold). This was a bailout for bad debtors to the direct detriment of the bitasset holders.

ZB has further outright rejected the accusations that they carried out this short attack.

abitmore commented 4 years ago

Draft merged with PR #222. Closing.