Any acceptable financial damage must be in the range of rounding errors that are
to be expected when dealing with the assets in question.
Had to think about this one but I think you are correct in assuming that there
will be rounding errors.
In that regard, the "override_transfer" permission, which usually
regulates forced transfers of a bitasset by the issuer, can be ignored
for the purpose of reviving an asset.
I don't fully understand what this paragraph is good for. If you create a new
operation, we don't need to touch old operations and modify their behavior.
* The global settlement event has happened at least 28 days ago.
This parameter requires further discussion, see below.
## minimum_time_before_asset_revival
A quick cycle of global settlement and revival is likely to cause confusion
among an asset's users (holders and shorters). There is even limited potential
to abuse this feature. Therefore it is reasonable to enforce a minimum time
before revival, allowing users to get informed about the asset's situation and
the resolution process that affects them.
I think this requirement only makes sense for PMs, and not for bitassets.
Why would we need to wait to revive bitUSD after a black swan? I can see reasons
to wait for PMs though. On the other hand, I can understand the need to inform
people (and exchanges) about what has happend and how to deal with the
situation.
### force_settlement_object
Forced settlements have an expiry date. After that date, they are cancelled if
the underlying asset has a settlement_price. For SWAN this is the case, so these
are resolved automatically after some time. Because "some time" can be quite
long though, it is better to resolve this in a quicker way.
Resolution: cancel them all at the time of the black swan. This is a softfork.
This makes them similar to any other short position with one difference: The
owners already told the chain they wanted to convert to the underlying asset. So
why cancel them and not execute them at the settlement price right away. That's
what the owners asked for either way and the price is the one they would get at
the expiration one or the other way. Is it too costly to let them actually
settle?
### call_order_object
[...]
Resolution: Modify DUCK to be backed by BACK instead of SWAN. Modify all DUCK
calls accordingly. Remove price feeds from DUCK.
I like this solution. It's easy to understand, makes sense. But endusers may not
like it at all. Suppose we had an asset bitGOLD_USD that is GOLD backed by USD.
When USD black swans, people holding bitGOLD_USD still have their value but it
is now backed by BTS not USD (which is not much of a difference), BUT, they will
not be able to use their USD to borrow bitGOLD_USD any longer.
Does it make sense to keep those USD used as collateral for child MPAs and
socializse the costs to all shorters proportianally? If 5% of all black swaned
assets are in collateral for DUCK, then shorters of SWAN can only settle 95% of
their call position. To settle all of thei call position, they would need to get
SWAN out of the collateral of the other asset and close their position as usual.
Just some food for thoughts ..
-------
Besides that. I fully support your efforts!!
https://github.com/bitshares/bsips/blob/master/bsip-0017.md