-
Notifications
You must be signed in to change notification settings - Fork 648
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Prediction markets can suffer a black swan #460
Comments
I thought it's a feature, so not only the issuer but also specified feed producers can global settle the PM. |
Hm. But the black swan settles at the ratio of the least collateralized short, which is always 1:1 in a PM. So this is a rather limited feature. |
Agreed. Since we don't have a specification document, we can only guess. We may need to redesign this feature. |
|
After done more investigation, I agree this is a bug. We can fix it by disabling price feeds for prediction markets, don't need a BSIP. The feature that global settle a prediction market via price feeds is debatable and deserves a BSIP. By the way, need a better business model for the asset creator. Because the token can worth zero in the end, percentage market fee is not enough. This can be discussed in a BSIP as well. |
Sorry for accidentally sent out an unfinished comment. I decided to postpone this as it's still like a uncompleted feature.
The final fix would be:
|
Updated the documents according to current situation, may need to update again after the issue is fixed. |
Q1: To feed 0, which you say is not easy, are you speaking of permitting 0 on one side of the equation ( removing validation in price::validate() ) and then cleaning up code to assure no divide by zero problems? Or perhaps you have in mind a way to feed 0 another way? Q2: For your second bullet point, are you suggesting that having the required number of feeds present in a prediction market should automatically trigger global settlement? |
@jmjatlanta I think it's better to discuss in bitshares/bsips#42 atm. A2Q1: IIRC, the former. |
No. bitshares/bsips#42 discusses a protocol change. This ticket here is about a bugfix. |
Fixed by #2019. |
@abitmore noticed that when a price feed for a prediction market is published, the usual black swan conditions are checked. The black swan checks disregard the is_prediction_market flag, and if the conditions are met, global settlement is triggered for the prediction market.
This behaviour does not make sense:
(This has happened on mainnet and testnet, which caused the recent problems.)
The text was updated successfully, but these errors were encountered: