2017-06-06 07:21:18 +00:00
|
|
|
BSIP: 00018
|
|
|
|
Title: Revive BitAsset through buying Settlement Pool
|
|
|
|
Authors: Fabian Schuh
|
|
|
|
Status: Draft
|
|
|
|
Type: Protocol
|
|
|
|
Created: 2017-06-05
|
2017-06-06 07:24:39 +00:00
|
|
|
Discussion: https://bitsharestalk.org/index.php/topic,24322.0.html
|
2017-06-06 07:21:18 +00:00
|
|
|
Worker: FIXME
|
|
|
|
|
|
|
|
# Abstract
|
|
|
|
|
|
|
|
BitAssets, i. e. market-pegged assets (MPA) like bitUSD in BitShares can suffer
|
2017-06-06 08:13:01 +00:00
|
|
|
a "global settlement" event. After global settlement, the asset is
|
|
|
|
effectively rendered useless. This BSIP proposes a protocol change to
|
|
|
|
enable resolving a global settlement so that affected assets can be
|
|
|
|
continued and put to good use again.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
# Motivation
|
|
|
|
|
|
|
|
Market-pegged assets, aka SmartCoins are among the core features of the
|
|
|
|
BitShares blockchain and as such provide one of our unique selling points.
|
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
MPAs can suffer a "global settlement" event. A global settlement occurs
|
|
|
|
when the least collateralized short position has insufficient collateral
|
|
|
|
to buy back the borrowed SmartCoins at the current feed price. What
|
|
|
|
happens then is that the MPA is tagged with a "settlement price",
|
|
|
|
defined as the collateral ratio of the least collateralized short. All
|
|
|
|
short positions are closed automatically, by collecting sufficient
|
|
|
|
collateral into a settlement pool and paying out the remainder to the
|
|
|
|
short's owners. MPA holders can use the forced settlement operation to
|
|
|
|
receive their share from the settlement pool in exchange for their MPAs.
|
|
|
|
Even after global settlement, market-pegged assets can still be
|
2017-06-06 07:21:18 +00:00
|
|
|
transferred or traded, but they can no longer be borrowed.
|
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
Currently, in BitShares, there is no actual way to resolve the global
|
|
|
|
settlement, but eventually, all significant holders will have to settle
|
|
|
|
their positions to obtain BTS for their long position. Some dust will
|
|
|
|
remain scattered all over the place, where the value of the dust
|
|
|
|
position is lower than the fees required to get rid of it.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
# Rational
|
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
When a market-pegged assets undergoes a global settlement, one of the crucial
|
2017-06-06 07:21:18 +00:00
|
|
|
mechanisms that support the peg (namely "margin calls") is no longer available.
|
|
|
|
However, other mechanisms, such as the "face-value", trading and settlement
|
|
|
|
still exist and, unless the valuation of BTS decreases significantly, the
|
|
|
|
outstanding debt (the BitAsset long positions) are still collateralized by
|
2017-06-06 08:13:01 +00:00
|
|
|
approximately 100% through the settlement pool at the fixed settlement price.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
This means, if a global settlement event happened on USD at a price of 1
|
|
|
|
bitUSD/BTS, then an outstanding debt of 1000 bitUSD would be backed by
|
|
|
|
1000 BTS in the settlement pool of the bitUSD asset and no other call
|
|
|
|
positions would be open by anyone else. Every bitUSD long position
|
|
|
|
could, in this case, claim BTS from the settlement pool at a rate of
|
|
|
|
1:1.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
# Proposal
|
|
|
|
|
|
|
|
All that is needed for the asset to be *revived* is:
|
|
|
|
|
|
|
|
* empty the settlement pool
|
|
|
|
* re-enable price feeds
|
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
Since after a global settlement, the collateral for the outstanding long
|
|
|
|
positions are stored in the settlement pool, we here propose to **obtain
|
|
|
|
the funds in the settlement pool and it's outstanding debt from the
|
|
|
|
network**. Since the collateral ratio of the settlement pool after a
|
|
|
|
global settlement is 100%, obtaining the settlement funds in order to
|
|
|
|
convert it into an open call position **requires to also provide
|
|
|
|
additional collateral or reduce the debt** in order to not cause another
|
|
|
|
global settlement or margin call right away.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
# Specifications
|
|
|
|
|
|
|
|
## `obtain_settlement_funds_operation`
|
|
|
|
|
|
|
|
This operation is all that is needed empty the settlement pool and re-enable price feeds.
|
|
|
|
It has the following payload:
|
|
|
|
|
|
|
|
* `fee` (asset_type): The operation requires a fee to be paid
|
|
|
|
* `symbol` (asset_id_typ): Symbol that has a settlement fund to be claimed.
|
|
|
|
* `account` (account_type): This account obtains the collateral **as well** as
|
|
|
|
the debt (i.e. call position) and has to either pay additional collateral,
|
|
|
|
provide shares of the BitAsset to reduce the outstanding debt, or a combination
|
|
|
|
of both.
|
|
|
|
* `additional_collateral` (asset_type): Collateral paid by the account in
|
|
|
|
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
|
|
|
|
account is willing to obtain
|
|
|
|
|
|
|
|
The operation works as follows:
|
|
|
|
|
|
|
|
1. It pays a fee
|
|
|
|
2. It reduces the account's balance by `debt`.
|
|
|
|
The debt is used to reduce the outstanding shares of the globally settled BitAsset.
|
|
|
|
3. It reduces the account's balance by `collateral`.
|
|
|
|
The collateral is used to initially support the accounts' call position.
|
|
|
|
However, technically, only little additional collateral is required (if the
|
2017-06-06 08:13:01 +00:00
|
|
|
valuation of the collateral hasn't change since the global
|
|
|
|
settlement) if the owner accepts a margin call.
|
2017-06-06 07:21:18 +00:00
|
|
|
4. The global settlement flag is removed from the asset.
|
|
|
|
5. The asset is re-enabled such that price feeds can be produced again.
|
|
|
|
6. After sufficient price feeds, the asset can be borrowed again.
|
|
|
|
|
|
|
|
The required checks for the operation are:
|
|
|
|
|
|
|
|
* Has the asset globally settled?
|
|
|
|
* Are funds in the settlement pool?
|
|
|
|
* `debt` > 0 or `collateral` > 0
|
|
|
|
* `obtain_settlement_funds` <= `settlement_pool`
|
|
|
|
|
|
|
|
# Discussion
|
|
|
|
|
|
|
|
## Sufficient Collateral
|
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
Given that at the time of claiming the settlement funds, the blockchain
|
|
|
|
cannot know the valuation of the collateral, the user needs to ensure
|
|
|
|
that sufficient collateral is provided to support the call position
|
|
|
|
**after** the price feeds are refreshed. Otherwise, the asset will
|
|
|
|
either experience another global settlement event right away, or the
|
|
|
|
call position will be margin called. In any way, it is up to the user
|
|
|
|
of the above operation to take that risk.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
## Partially Obtaining Settlement Funds
|
|
|
|
|
|
|
|
In the case a widely used BitAsset is globally settled, the costs of providing
|
|
|
|
the collateral can be shared among multiple participants by means of only
|
|
|
|
obtaining a fraction of the settlement pool.
|
|
|
|
|
|
|
|
## BitAssets using BitAssets as collateral are unaffected
|
|
|
|
|
2017-06-06 08:13:01 +00:00
|
|
|
One huge advantage of this approach is BitAssets that are collateralized
|
|
|
|
by other BitAssets are not directly affected by this proposal. Even
|
|
|
|
though the *economical debt* of such asset may be argued about if the
|
|
|
|
collateral asset experienced a global settlement, the *technical debt*
|
|
|
|
is unaffected. Converting the settlement pool into a regular call
|
|
|
|
position through this proposal would not only restore the original
|
|
|
|
BitAsset, but also reset the collateral of the derived BitAsset.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
## Committee funded BitAsset Recovery
|
|
|
|
|
|
|
|
## Cost vs. Profit
|
|
|
|
|
|
|
|
This operation opens an interesting cost vs. profit trade-off for those willing
|
|
|
|
to take the risk of using this operation that we would like to discuss. Keep in
|
|
|
|
mind that
|
|
|
|
|
|
|
|
* the valuation of the collateral may be volatile (e.g. in case of BTS)
|
2017-06-06 08:13:01 +00:00
|
|
|
* after global settlement, the long positions can settle and thus
|
|
|
|
reduce the debt as well as the settlement pool
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
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**.
|
|
|
|
|
|
|
|
# Summary for Shareholders
|
|
|
|
|
|
|
|
This proposal presents a flexible way of reviving a BitAsset that has
|
2017-06-06 08:13:01 +00:00
|
|
|
experienced a global settlement event. The blockchain or shareholders do
|
|
|
|
not need to take any risk as the proposal only offers a new way for
|
|
|
|
market participants to (partially) revive the BitAsset.
|
2017-06-06 07:21:18 +00:00
|
|
|
|
|
|
|
# Copyright
|
|
|
|
This document is placed in the public domain.
|