Skip to content
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

Letting settlement_price expire would allow to reuse symbols for prediction markets #546

Closed
xeroc opened this issue Feb 1, 2016 · 6 comments

Comments

@xeroc
Copy link
Contributor

xeroc commented Feb 1, 2016

Borrowing an asset in a prediction market only works if there was no settlement yet in that asset.

I would propose to let settlement_price expire similar to feed_prices as defined in the bitassets options IFF the asset is a prediction market and IFF no outstanding debt positions are open (i.e. supply is 0).

That way we can reuse PMs after settlement if we put a 14 days expiration and using override_transfer to get the assets from the holders, close their positions for them and return whatever is returned from collateral (if at all)

@theoreticalbts
Copy link
Contributor

Early in the design of Graphene, a deliberate decision was made that an asset name always represents the same asset object.

I've always personally thought the name-to-ID mapping should be mutable (but heavily rate-limited and time-locked, so e.g. changing the name of an asset would take 30 days and re-mapping the name to a new asset would take an additional 30 days). This view was vindicated by the fact that some national currency BitAssets which were very illiquid have already experienced black swans, meaning no future asset can ever be issued with those names (which are undoubtably valuable names due to being widely recognized national currency symbols).

override_transfer is a very heavy-handed asset flag, it effectively makes the asset completely centralized (because the issuer can take it back at any time). Making the symbol-to-asset-ID mapping mutable is a less heavy-handed way to implement the desired feature of symbol re-use.

@theoreticalbts
Copy link
Contributor

Although I think it's a good idea to be able to experiment with symbol re-use, this is something that needs a lot of discussion both internally and in the community. This is a low priority.

@xeroc
Copy link
Contributor Author

xeroc commented Feb 1, 2016

This is a low priority.

That is unfortunate but we can live with it since those in need can simply create a new asset.

Concerning the SEK and RUB assets that had a black swan: It is very unfortunate that it currently seems unfixable. This should certainly be discussed and I think ways should exist to "restart" a MPAs (or PM) after a certain amount of time

@bytemaster
Copy link
Contributor

The issue is that if even a single user fails to settle then they can lock up the entire asset. Considering a single user forgetting their keys you have a problem.

Also the amount of computation (and therefore fees) involved can be more than can be processed in a single block.

Lastly not all balances are in the position to be "settled on demand", if BitUSD is being used as collateral for another asset or an asset is in escrow or a vesting balance or any place where the owner is indeterminate or where changing the asset id would break the contract then the whole thing breaks.

The best we could hope for is to rename the asset symbol and then reuse the old symbol. In other words, the asset_id can never change but the symbol is ultimately just a human readable name.

@xeroc
Copy link
Contributor Author

xeroc commented Feb 2, 2016

This went a little off-topic.
My request was for prediction markets, which shouldn't be used as collateral at all. Those users that have not manually set their "long" position, could taken away the position via "overwrite_transfer", then the issuer can settle it and return the collateral (if prediction market has been resolved to 1.0).
By this we could get back to a supply of 0 which makes the settlement_price kind of irrelevant and the asset could be restarted. Prediction markets would this be identified mainly from their description.

@theoreticalbts
Copy link
Contributor

The best we could hope for is to rename the asset symbol and then reuse the old symbol. In other words, the asset_id can never change but the symbol is ultimately just a human readable name.

Yes, this is exactly what I was suggesting -- symbols should be re-assignable to new assets.

@xeroc
Copy link
Contributor Author

xeroc commented Feb 2, 2016

symbols should be re-assignable to new assets.

All fine, but how does this help for the OP? I would like to reduce the flood of assets that we might see with prediction markets by allowing them to be reopened after settlement. Or do we want to store thousands of (PM) assets that have been settled and are thus dead?

@vikramrajkumar
Copy link
Contributor

This issue was moved to bitshares/bitshares-core#154

pmconrad pushed a commit to pmconrad/graphene that referenced this issue Jan 11, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants