Author Topic: New BSIP:GS protection via core code  (Read 22110 times)

0 Members and 1 Guest are viewing this topic.

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1928
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
this is similar to the individual settlement solution with disabling force settlement as described above, and has similar disadvantages.
Those debt in settlement pool are <1 MCR and thus is unfair for BitAsset who use force settlement, so force settle does not apply to those in settlement pool.
No need to disable force settlement for those in low CR list with MCR =>1.


disadvantage of "individual settlement with force settlement" has also been discussed above.
Email:bitcrab@qq.com

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1928
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab

Margin call price would need to be adjusted. If CR is less than MSSR, adjust the price such that the full debt would be bought (which is essentially their global settlement price). If CR is higher, use existing rules. Force settlement would still eat the least collaterized positions first, in that sense the punishment goes to holders that decide to force settle instead of sell on the market. Incentivization would be possible by adjusting the force settlement price if it settle a margin position with CR < MCR (the force settlement offset could then be MSSR (punishment for margin position holder)).

For the bitasset holders it is similar as compared to being in global settlement state.

With "prevent global settlement flag":
 - bitasset holder can sell into the margin calls which is equal or even better compared to global settlement price instead of force settling
 - bitasset holder can force settle, accepting the undercollaterization
 - margin position holder can recollaterize
 - new margin positions can be created
 - margin positions with CR < 1 receive a bit of protection that is shifted to bitasset holders iff they are using force settlement, on the other hand force settling is incentivized if applied to a margin position that is currently being called

what you describe is very similar to "individual settlement with force settlement", the disadvantage has been already discussed above.
Email:bitcrab@qq.com

Offline Bangzi

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Steemit: Bangzi
  • BitShares: bangzi
this is similar to the individual settlement solution with disabling force settlement as described above, and has similar disadvantages.
Those debt in settlement pool are <1 MCR and thus is unfair for BitAsset who use force settlement, so force settle does not apply to those in settlement pool.
No need to disable force settlement for those in low CR list with MCR =>1.


another disadvantage is that this is so complicated for common users to understand, and also cost big development efforts.
Honestly, this is for advance players eg. alt, clockwork etc with some capital because huge reward come with huge risk.
The core team have more than enough $$$ on hand.
Bitshares DEX - Over 1000 Coins, Buy, Sell, Transfer & List Any Coins |Free Signup Today: https://wallet.bitshares.org/?r=bangzi

Offline sschiessl

  • Administrator
  • Hero Member
  • *****
  • Posts: 662
    • View Profile
  • BitShares: sschiessl
Let's assume we want to explicitly allow undercollaterization. In my opinion, a more suitable way would be to implement a bitasset parameter "prevent global settlement", which then can be turned on by committee, and leave the price feed as is. Then the undercollaterization is transparent.

What are your thoughts on that?

what does bad debt mean? which means the debt in the position cannot be fully paid by selling the collateral with margin call/force settlement referencing the market price.

then you choose to disable margin call and force settlement while bad debt appears? or you allow the existence of a debt position with pure debt and 0 BTS?

Margin call price would need to be adjusted. If CR is less than MSSR, adjust the price such that the full debt would be bought (which is essentially their global settlement price). If CR is higher, use existing rules. Force settlement would still eat the least collaterized positions first, in that sense the punishment goes to holders that decide to force settle instead of sell on the market. Incentivization would be possible by adjusting the force settlement price if it settle a margin position with CR < MCR (the force settlement offset could then be MSSR (punishment for margin position holder)).

For the bitasset holders it is similar as compared to being in global settlement state.

With "prevent global settlement flag":
 - bitasset holder can sell into the margin calls which is equal or even better compared to global settlement price instead of force settling
 - bitasset holder can force settle, accepting the undercollaterization
 - margin position holder can recollaterize
 - new margin positions can be created
 - margin positions with CR < 1 receive a bit of protection that is shifted to bitasset holders iff they are using force settlement, on the other hand force settling is incentivized if applied to a margin position that is currently being called

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1928
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
1.do not stop the borrowing feature.
Yes

2.ensure smartcoin holders to settle bad debt positions from lower CR to higher CR.
Even better, Smartcoin holders does not need to use their BitAssets to settle bad debt which mean number of BitCNY/USD will not reduced.

3. accept the possibility that the smartcoin will devalue, just try to minimize the hurting to the ecosystem.
Yes. No price manipulation required and under collateralized time will be shorter than GS protection due to huge incentive.

Please check this:
https://bitsharestalk.org/index.php?topic=27273.msg332494#msg332494

this is similar to the individual settlement solution with disabling force settlement as described above, and has similar disadvantages.

another disadvantage is that this is so complicated for common users to understand, and also cost big development efforts.
Email:bitcrab@qq.com

Offline Bangzi

  • Sr. Member
  • ****
  • Posts: 321
    • View Profile
    • Steemit: Bangzi
  • BitShares: bangzi
1.do not stop the borrowing feature.
Yes

2.ensure smartcoin holders to settle bad debt positions from lower CR to higher CR.
Even better, Smartcoin holders does not need to use their BitAssets to settle bad debt which mean number of BitCNY/USD will not reduced.

3. accept the possibility that the smartcoin will devalue, just try to minimize the hurting to the ecosystem.
Yes. No price manipulation required and under collateralized time will be shorter than GS protection due to huge incentive.

Please check this:
https://bitsharestalk.org/index.php?topic=27273.msg332494#msg332494
Bitshares DEX - Over 1000 Coins, Buy, Sell, Transfer & List Any Coins |Free Signup Today: https://wallet.bitshares.org/?r=bangzi

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1928
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
Let's assume we want to explicitly allow undercollaterization. In my opinion, a more suitable way would be to implement a bitasset parameter "prevent global settlement", which then can be turned on by committee, and leave the price feed as is. Then the undercollaterization is transparent.

What are your thoughts on that?

what does bad debt mean? which means the debt in the position cannot be fully paid by selling the collateral with margin call/force settlement referencing the market price.

then you choose to disable margin call and force settlement while bad debt appears? or you allow the existence of a debt position with pure debt and 0 BTS?

« Last Edit: July 19, 2019, 08:00:34 am by bitcrab »
Email:bitcrab@qq.com

Offline sschiessl

  • Administrator
  • Hero Member
  • *****
  • Posts: 662
    • View Profile
  • BitShares: sschiessl
Let's assume we want to explicitly allow undercollaterization. In my opinion, a more suitable way would be to implement a bitasset parameter "prevent global settlement", which then can be turned on by committee, and leave the price feed as is. Then the undercollaterization is transparent.

What are your thoughts on that?

Offline bitcrab

  • Committee member
  • Hero Member
  • *
  • Posts: 1928
    • View Profile
  • BitShares: bitcrab
  • GitHub: bitcrab
I plan to draft a BSIP to implement GS protection via core code, before doing that, I'd like to do some explanation here:

Global Settlement may be the worst way to handle bad debt, because:

1. it settles all the debt positions, including the ones with CR>1
2. it stop the borrowing feature.
3. it make it not easy for the smartcoin to revive, and it's easy to make whales in the revive process, as what happened in bitUSD in recent past.

GS is just like suicide.

another mechanism has been discussed for long time at https://bitsharestalk.org/index.php?topic=27273.0, which can be called "individual settlement", the core idea is that when bad debt appears, instead of triggering GS, only convert the bad debt positions to sell orders at settlement price of that individual debt position.

but this solution also have big issues.

if force settlement is still active after settlement order appears, for example, bad debt positions have been converted to sell orders in 0.04~0.06bitUSD with debts, however, as the market price fall sharply to 0.02bitUSD, bitUSD is off peg, devaluated to about 0.6USD.

which means, feed price is 0.02USD, DEX price is 0.033 bitUSD.

then bitUSD holders begin to exploit debt position owners with force settlement.

even worse, the last bitUSD balance cannot do force settlement, it can only fill the settlement orders with higher price.

this process is unfair to the debt position owners and the last bitUSD holders, and will not help things to recover.

then how about disable force settlement feature while settlement order appear?

then bitUSD holders can only fill the settlement orders from lower price to higher price, in other words, from debt positions from higher CR to lower CR, and filling some settlement orders will devalue bitUSD more, as the left settlement orders has higher price.

after considering this, I think a good mechanism need to follow base principle:

1.do not stop the borrowing feature.
2.ensure smartcoin holders to settle bad debt positions from lower CR to higher CR.
3. accept the possibility that the smartcoin will devalue, just try to minimize the hurting to the ecosystem.

GS protection is perfect to suit the above principle.

GS protection ensure the feed price be above the GS price, this is irrelevant to market manipulation or price faking, it is just to force the smartcoin holders to settle the bad debt position with lowest CR first. and filling margin call orders will reduce GS price and also feed price as well and have chance to end the bad debt, this is a way to let the market do the choice.

in the last several days we have seen that this mechanism protect bitUSD from one more time black swan, it works well, however now it depend on witnesses' work and not 100% reliable, to switch to realize the mechanism via core code will help to make it 100% reliable.

 

« Last Edit: July 19, 2019, 07:47:51 am by bitcrab »
Email:bitcrab@qq.com