Also, I think there should be a significant fee for asset issuances, otherwise we'll get spammed with "parked" assets from people who just want to reserve nice names.
The problem with having fees for asset issuances is finding a way to keep them floating. Any fixed fee we would pick now would be too high, and then too low, if Counterparty scales as I hope it does. If anyone has a suggestion for a fee schedule that will scale well, I'd love to hear it.
The current system does allow for the transference of asset ownership, so valuable names may indeed be sold for their market value when appropriate.
I really don't think any "fee" structure (BTC or XCP) is in the spirit of XCP. So...
Could a "proof-of-stake" method work?
Pseudo-code proposal:
1. Each "address" that wants to issue an asset can call an issuance command to create a "local" asset (just like right now, except that others can't view this asset). All existing assets are converted to local assets (not sure how to handle this for assets that have already been distributed, such as TEST)
2. Add in "global" as a property for an asset. A "global" asset is one that is visible to the network at large (orders, send, etc work). A local asset is one that exists only in a local instance of counterpartyd (the user's computer).
3. To "globalize" an asset, for each block a proof-of-stake calculation is run for addresses controlled by a running instance of counterpartyd (against some random function derived from BTC block hash, for instance). A "globalize" command can be called by the user to denote the asset to "submit" to the PoS function. (I'm no good at the maths, so looking to existing PoS implementations to figure out how to do this). If no asset is selected to globalize, the client automatically chooses the "first" one (in lexicographical order, for instance).
4. If successful, the asset and details are published to the network at large, and other commands (orders, sending, viewing asset on other counterpartyd clients) works.
5. In case that two local assets from two different users are submitted to "globalize", the "winning" one is the one that "mines" the PoS block first.
Things to figure out:
1. Should counterpartyd clients that aren't actively "globalizing" an asset / or don't have a valid asset to globalize try to mine PoS blocks? If so, what should they do?
2. What happens to existing assets? (see 1)
3. What is the PoS function?
4. What is the target asset "creation rate"? What is the retargeting?
5. Can users elect to globalize assets other than their own? This can lead to some
very interesting possibilities, such as an "XCP pool" that votes on worthy projects to "IPO", so to speak.
Summary: Proof-of-stake does not have to translate into inflation of the base currency. It can be used for "other" purposes as well (in the spirit of DACs).