Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.Sign up
BSIP58: Global Settlement Protection Through Price Feeding #135
This BSIP proposes that witnesses prevent global settlements from happening by not permitting the
BitShares has a mechanism to handle debt positions whose collateral is valued less than the debt itself ("bad debt"). This mechanism is called global settlement ("black swan") and is triggered when the published feed price (FP) is less than or equal to the product of the global settlement price (Pgs) and the maximum short-squeeze ratio (MSSR).
FP ≤ Pgs × MSSR
If this does occur it means that the collateral ratio (CR) of at least one debt position is less than the MSSR.
Global settlement is not a good way to handle bad debt, as can be seen to what happened to bitUSD. After global settlement was triggered for bitUSD in December 2018:
The community has had extensive discussions about how to handle the bad debt in a better way in the future. Two ideas have emerged about what should happen when bad debt appears. At a high-level,
Before these advanced features can be implemented in the BitShares core software, this BSIP proposes an easy way to realize these benefits by something currently under the control of the witnesses.
Compared to a global settlement, this "global settlement protection" approach (GSP) will provide several benefits.
After the community abandoned BSIP-42, there is now a strong consensus that the feed price should be the market price. Given this pre-condition, global settlement protection will ensure that this consensus does not cause future problems.
It is possible that the smartcoin may devalue even under global settlement protection (such as may happen if GSP needs to be activated by feed publishers). However, if the community permits global settlement to be triggered, the devaluation will be even worse.
The global settlement protection price (PGSP) for an asset is defined as
PGSP = 1.01 × MSSR × Pgs
Witnesses who publish price feeds should ensure that their published price feed (FPP) is greater than or equal to the global settlement protection price. This can be calculated as
FPP = max(FPN, PGSP)
where FPN is the natural feed price
If there is no global settlement price, then the natural feed price should be used.
This BSIP provides a general solution to handle the issue of bad debt smartcoins. Whether this BSIP
Summary for Shareholders
It is important to eliminate concerns about global settlement. This can currently be achieved with the technical options that are available to the witnesses.
This document is placed in the public domain.
@bitcrab the Core Team reviews BSIP submissions, proposes edits to voice and includes clarifying content. Our intent is to maintain the spirit of your proposal. Please review the Editor's Comments below and respond with a comment herein. Thank you.
The revised BSIP draft is now updated as this Issue's description field above.
Good solution until there is better way to handle global settlement.
Please clarify some issues so witnesses have better understanding of this BSIP:
As different smartcoins has different market status and different user groups, my suggestion is to decide which smartcoin is covered separately.
If community has a strong will to apply this BSIP on one specific smartcoin, the poll worker proposals will be created on this smartcoin and the voting result will decide whether to apply this BSIP on this smartcoin.
bitCNY should be the first to experience this kind of poll, for bitUSD, as it is now in global settlement status, I suggest to begin the poll after it revive.
For other little smartcoins, the key users can issue poll worker proposals to decide whether to imply BSIP58 if they feel necessary.
This is contradictory. The first sentence describes the "strong consensus", i.e. witnesses need to publish the asset market price, and the 2nd one supports this BSIP which tells witnesses to ignore that consensus and publish a price different from market price, i.e. the global settlement protection price.
So which is it?
Although reference links are provided for alternative approaches to handle gs, I feel they should be distilled and incorporated herein. The rationale for that is there have been many discussions about price feeds ever since the bsip42 fiasco. We shouldn't leave this topic as a difficult to follow series of documents and discussions left to the reader to coalesce into a plan of action, b/c if left up to individuals we'll have no common understanding and therefore no consensus on what action should take place.
I saw 2 proposals by abitmore to handle gs, he favored the 2nd which I didn't fully understand. I liked the 1st of those proposals, as it was straightforward. The second one muddied the waters and it failed to convince me it was necessary.
I am also a strong proponent of a mechanism to disincentivize "bad debt". I believe some type of penalty is justified to enforce consensus on what constitutes "bad debt". Without that in place we'll see a repeat of the type of hap hazard and poorly organized "experimentation" we saw under bsip42.
I am opposed to feeding any price besides the actual market price of assets. This bsip is the same rationale proposed under bsip42, but with a different name. We need to find a better way to address gs besides manipulating the feed price. I believe if we had strong enough disincentives in place it would help a tremendous amount. It will not "fix" the issue 100% however, as a big enough shift in price over a sufficiently short period of time could still trigger a black swan / gs event.
What should be done under such dramatic market shifts? Can the code "take over" responsibility where individual users fail to exercise it by maintaining at least 100% collateral? The change in market price could be so rapid it wouldn't allow anyone to update their collateral if they attempt to minimize their collateral. That is precisely why MCR is greater than 100%, to provide a buffer for volatile markets.
The current consensus is that individuals control their own risk by monitoring the markets and adjusting their collateral up or down accordingly. This bsip proposes to return to the price manipulation tactics attempted under bsip42, but with a different approach. It's still feed price manipulation, which erodes confidence in the asset under the guise of protection.
Market "safety" can be provided by adequate collateral under the control of individuals, or it can be collectivized. If the later there will always be people who will game the system to take advantage, so effectively their habit of creating bad debt will be incentivized rather than disincentivized.
this BSIP is not relevant to BSIP42, no doubt that witnesses should feed market price.
there are much discussions on black swan, global settlement is a bad way to handle bad debt, abit proposed some new ways to handle it, but it need time to go through the consensus->development->hardfork road.
before this can be done, what can we do when the market is at the edge of black swan, shall we just let the global settlement happen?
actually some months ago we have experienced this, bitCNY has been at the edge of black swan, some witnesses have take the black swan protection action, and finally black swan is avoided, for bitUSD there's also suggestions to do the same, but finally the protection measure is not successfully taken, and then bitUSD enter global settlement status?
who benefit from the bitUSD black swan status? none, the whole community are hurt, global settlement is just like suicide.
so this BSIP is just to ask consensus on one already existed method. it is just request the community to allow the witnesses to save the smartcoin when it suicide.
I'd also like to remind, here is a place mainly focus on the refinement of the BSIP as a solution, whether the solution should be implemented will be decided on the coming poll voting.
Can you please include asset scope in the BSIP? Past BSIPs which initially focused on one asset were applied to other assets which troubled many in the past. Does this apply solely to bitCNY, committee owned assets, or is it up to the interpretation of price feed publishers?
I'd prefer real solutions than manipulation though, and this is manipulation.
@bitcrab I appreciate that you have raised this BSIP for discussion as a temporary measure until another technical solution for global settlement can be implemented. I understand that the discussion here is not about the merits of the proposal but rather about its description for debate elsewhere.
I do agree with the concerns about asset scope of this BSIP. The use of voting polls to determine that scope is reasonable. Please consider not submitting this BSIP as a general poll but instead to submit two smart-coin specific polls that might be phrased similar to the following:
This will permit voting that is specific to a smartcoin and which might avoid confusion caused by two polls: a "general" BSIP-58 poll and a smartcoin-specific BSIP-58 poll.
If that approach is acceptable then the following text might be added to this BSIP:
thanks, added content about this.
While I am not a huge fan of the proposal it self, i think the BSIP itself is fine and should be brought before the BTS voters.
Although this proposal still allows non-market price feeds to be published, it differs from bsip42 in that the "alternate" feed value is a frozen value, the gs price. The only manipulation possible is the timing of when the alternate feeds are published.
Edit: I was wrong about the frozen nature of the gs price. Thus it is not a straightforward matter to determine when witnesses publish a "correct" price during gs, as other factors affect it that may not be consistent for all witnesses.
However, I still believe this proposal is only a "quick fix" and only addresses the result of the problem, not it's underlying cause. If the rules are to have any weight they should have penalties for bad practices and incentives for proper actions, such as voting.
If users knew they might loose their LTM or had to pay a fine when their collateral repeatedly falls below 100% (a habitual pattern is detected) they would be far more attentive to their positions and I'd bet they would regulate their own CR according to market volatility.
Edit: My hope is that voters and devs will seriously consider the above, however discussion of penalties for accounts that practice "bad debt" is out of scope for this bsip and no further comments need to be made about it here.