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

BSIP76: Threshold for price feeds through voting #221

Closed
abitmore opened this issue Sep 25, 2019 · 19 comments
Closed

BSIP76: Threshold for price feeds through voting #221

abitmore opened this issue Sep 25, 2019 · 19 comments
Labels

Comments

@abitmore
Copy link
Member

abitmore commented Sep 25, 2019

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
Copy link

Agorise commented Sep 25, 2019

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
Copy link
Contributor

pmconrad commented Sep 25, 2019

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
Copy link

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 ryanRfox changed the title BSIP 75: Give up the peg when BTS price is below a threshold BSIP76: Committee-Defined SmartAsset Collateral Threshold Sep 25, 2019
@ryanRfox
Copy link
Contributor

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

@froooze
Copy link

froooze commented Sep 25, 2019

We have three problems:

  1. Liquidity BSIP78: Asset Feature - MLP2 (Market Liquidity Pool) #213
  2. Price feeds (I need more input here)
  3. Margin calls New BSIP: Debt Asset Feature - MPLP (Margin Position Liquidity Pool) #182

Your BSIP can be categorized to 2. position.

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

@abitmore
Copy link
Member Author

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
Copy link

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
Copy link

froooze commented Sep 25, 2019

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
Copy link

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 abitmore changed the title BSIP76: Committee-Defined SmartAsset Collateral Threshold BSIP76: Threshold for price feeds through voting Sep 26, 2019
@abitmore
Copy link
Member Author

Created PR #222, updated title and OP.

@pmconrad
Copy link
Contributor

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
Copy link
Member Author

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

@dnotestein
Copy link

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
Copy link
Member

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
Copy link

CryptoKong commented Sep 26, 2019

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
Copy link

shulthz commented Sep 27, 2019

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
Copy link
Contributor

grctest commented Oct 12, 2019

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
Copy link
Contributor

grctest commented Nov 3, 2019

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 abitmore added the MPA label Feb 29, 2020
@abitmore
Copy link
Member Author

Draft merged with PR #222. Closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests