[bsip18] updates

This commit is contained in:
Fabian Schuh 2017-06-07 13:02:22 +02:00
parent 457df6ffea
commit 2ba34f167e

View file

@ -17,6 +17,9 @@ continued and put to good use again.
# Motivation # Motivation
The necessity of reviving bitassets has already been discussed in
BSIP-0017, and is unquestioned.
Market-pegged assets, aka SmartCoins are among the core features of the Market-pegged assets, aka SmartCoins are among the core features of the
BitShares blockchain and as such provide one of our unique selling points. BitShares blockchain and as such provide one of our unique selling points.
@ -72,7 +75,43 @@ global settlement or margin call right away.
# Specifications # Specifications
## `obtain_settlement_funds_operation` ## Bugfix: MPAs that have seen a global settlement cannot be settled after the price feed expires
It has turned out that force-settling an MPA requires a valid price feed
even when the MPA has a `settlement_price` set. This is clearly a bug,
since in that case the settlement price is independent from the price
feed. Furthermore, publishing price feeds is no longer possible after a
global settlement, so the time when settlement is possible at all is
limited to the expiration period of the price feed of the MPA.
This bug will be fixed. See
https://github.com/cryptonomex/graphene/issues/664#issuecomment-254056746
for a discussion.
## Auto-revive empty bitassets
A bitasset is "empty" if nobody is holding a positive amount of it
anymore. The only reasonable exception to this rule is the pool of
accumulated fees belonging to the asset itself. This situation can occur
after all holders of a globally settled asset have settled their
position via forced settlement.
The emptiness of a bitasset can easily be determined. When the BitAsset is
empty, the remainder of the settlement fund will be paid out to the
issuer, the accumulated fees and the current supply are reset to zero,
and the settlement price is cleared.
## `bid_settlement_funds_operation`
This applies only to SmartCoins, not to Prediction Markets.
The idea of turning the settlement fund into a short position when its
value has increased sufficiently can easily be extended. If the value of
the settlement fund itself is not sufficient to create a sufficiently
collateralized short position (in terms of price feed and MCR), an
investor could volunteer to add the required amount of collateral to the
fund and take ownership of the resulting short position
(collateral+debt).
This operation is all that is needed empty the settlement pool and re-enable price feeds. This operation is all that is needed empty the settlement pool and re-enable price feeds.
It has the following payload: It has the following payload:
@ -85,8 +124,6 @@ It has the following payload:
of both. of both.
* `additional_collateral` (asset_type): Collateral paid by the account in * `additional_collateral` (asset_type): Collateral paid by the account in
order to support the call position order to support the call position
* `additional_debt` (asset_type): Debt that is paid by the account in order to reduce the
debt (while keeping the full settlement pool as collateral)
* `obtain_settlement_funds` (asset_type): The amount of settlement funds the * `obtain_settlement_funds` (asset_type): The amount of settlement funds the
account is willing to obtain account is willing to obtain
@ -110,6 +147,14 @@ The required checks for the operation are:
* Are funds in the settlement pool? * Are funds in the settlement pool?
* `debt` > 0 or `collateral` > 0 * `debt` > 0 or `collateral` > 0
* `obtain_settlement_funds` <= `settlement_pool` * `obtain_settlement_funds` <= `settlement_pool`
* the account has sufficient balance to cover `additional_collateral`
If the checks are successful, a `call_order_object` belonging to the
investor will be created or updated as described above. Then, the
settlement price and `settlement_fund` will be cleared.
The fee for this operation will be paid by the investor/recoverer. The
fee is equal to the fee of the `call_order_update` operation.
# Discussion # Discussion
@ -154,6 +199,22 @@ mind that
Market participants that are willing to take risk may want to obtain a larger Market participants that are willing to take risk may want to obtain a larger
chunk of a settlement pool as it means an **instant short position**. chunk of a settlement pool as it means an **instant short position**.
## Feeds
Re-collateralization is deliberately not restricted to the issuer of the
globally settled bitasset. The intent here is to incentivize potential
investors. Effectively, during an uptrend in the value of the
collateral, this works like a reverse auction. A higher value of the
collateral results in a lower required amount for re-collateralization,
i. e. the chance/risk ratio increases. This incentive makes sense,
because additional collateral is in the best interest of the holders of
the settled BitAsset.
This "reverse auction" ends when the BitAsset is auto-revived by
creating a short position for the issuer. At that point, an "investor"
could re-collateralize with zero risk, which is no longer in the
interest of the holders.
# Summary for Shareholders # Summary for Shareholders
This proposal presents a flexible way of reviving a BitAsset that has This proposal presents a flexible way of reviving a BitAsset that has
@ -162,4 +223,5 @@ not need to take any risk as the proposal only offers a new way for
market participants to (partially) revive the BitAsset. market participants to (partially) revive the BitAsset.
# Copyright # Copyright
This document is placed in the public domain. This document is placed in the public domain.