diff --git a/README.md b/README.md index f6de885..ebbe8bf 100644 --- a/README.md +++ b/README.md @@ -37,3 +37,4 @@ Number | Title | [27](bsip-0027.md) | Asset Issuer Reclaim Fee Pool Funds | Abit More | Protocol | Accepted [28](bsip-0028.md) | Worker Proposal Improvements | Bill Butler | Protocol | Draft [29](bsip-0029.md) | Asset issue change to require owner authority | Fabian Schuh | Protocol | Draft +[30](bsip-0030.md) | Always Allow Increasing Collateral Ratio If Debt Not Increased | Abit More | Protocol | Draft diff --git a/bsip-0030.md b/bsip-0030.md new file mode 100644 index 0000000..11340d0 --- /dev/null +++ b/bsip-0030.md @@ -0,0 +1,71 @@ + BSIP: 0030 + Title: Always Allow Increasing Collateral Ratio If Debt Not Increased + Author: Abit More + Status: Draft + Type: Protocol + Created: 2018-02-16 + Discussion: https://github.com/bitshares/bitshares-core/issues/583, + https://github.com/bitshares/bitshares-core/issues/672 + Replaces: - + Worker: To be done + +# Abstract + +Currently, when a short position's collateral ratio is below MCR (a parameter +in price feed: `maintenance_collateral_ratio`) but is not completely filled +immediately due to a lack of enough volume on the opposite side of the market, +it will hang in the market and be waiting for being margin called. + +The owner then can adjust the order's collateral ratio **only if** +* to close the position, or +* the new collateral ratio is above MCR, or +* the call order get completely filled (margin called) immediately. + +While this prevents shorters from maliciously reducing collateral ratio (to +increase possibility of black swan event), it also prevents shorters from +slightly increasing collateral ratio (to decrease possibility of black swan +event). + +This BSIP proposes a mechanism to improve this situation. + +# Motivation + +Make the exchange system more user-friendly. + +# Rationale + +The ecosystem would get benefit if shorters are allowed to reduce risks to +themselves while reducing risks to the system at same time. + +Current rules are a bit too strict, which can be loosed to: + +A shorter can adjust the position's collateral ratio **only if** +* to close the position, or +* the new collateral ratio is above MCR, or +* the call order get completely filled (margin called) immediately, or +* **the new ratio is higher than old ratio and debt is not increased** + +# Specifications + +In `do_apply()` function of `call_order_update_evaluator` class, if +finally found the call order still in margin call territory, +* don't throw an exception if `call_obj->collateralization()` is reduced, and +* require `delta_debt` of `call_order_update_operation` to be non-positive. + +# Discussion + +[to be added if any] + +# Summary for Shareholders + +[to be added if any] + +# Copyright + +This document is placed in the public domain. + +# See Also + +* https://github.com/bitshares/bitshares-core/issues/583 +* https://github.com/bitshares/bitshares-core/issues/672 +* https://bitsharestalk.org/index.php?topic=25926.0