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).
The whole idea is good, though this might imho cause that an asset lower in priority, will be never globalized. We need to think of some way to compensate for that.
As I mentioned, allowing users to "pool" their "asset-globalizing" power to support projects that otherwise wouldn't hit the markets. Not in the NXT sense of "send all your money to me so I can mine PoS blocks", but something that better fits the "trust, but be trustless" model of XCP. And without requiring a centralized pool.
Suggestion: now would be an opportune time to get that 'dev' branch of the github set up to test ideas such as these. Alterations to assets are definitely not ready for prime-time yet.
Practical use case:
credit token schemeIf we really want to see Counterparty blow up in usage and in utility, one of the best uses for it is to issue credit tokens. A credit token is basically a coupon which anyone can issue which represents a promise that they will redeem the credit coupon for their goods or services by a specific date.
The idea is everyone will start issuing these credit coupons and due to the expiration date there can be no hoarding. Everyone would be able to trade these credit coupons to get anything they could ever need.
In my opinion any kind of issuance should allow for an expiration date. If I issue a token then it must be redeemed by the expiration date or it is invalidated.
The main problem I see with Counterparty, Mastercoin or any of these is that we are all expected to buy XCP or Mastercoins but then there seems to be no fee structure in place. What can we spend our XCP for in the XCP ecosystem? If that isn't figured out then XCP really has no value until we know what the prices will be in the system.
Fees are fine. I want to know the fees so I can know how much XCP I will need to buy or burn. Not knowing the fees means we might not even need 1 XCP to do all of our transactions. In my opinion the fees should be high enough to make people keep buying XCP but low enough that anyone who really wants to do certain things can do what they want to do.
If it turns out that 1 XCP is all we will ever need then that is clearly too cheap. If 100 or 1000 XCP is all we will ever need it's still probably too cheap but that would depend on the total amount of XCP. So before we can say whether or not a fee is expensive or not we have to know how many XCP will ever exist. With Mastercoin we know how much Mastercoin will ever exist and still don't know the fee structure.
If we talk about demand then I think credit tokens will be in major demand. If fees are too high or too low the market can decide if we put in the ability for people to vote or speculate on the price of fees. So you could actually build a speculation or prediction market to discover the prices of the fees in a similar way to how Forex discovers the prices of different currencies.
So how much should issuing a credit token cost? Use Proof of Stake voting to allow the network to collectively determine or use the market to allow the network to speculate on the fee prices prior to there being any prices.
So to speculate we could set it up as a bet like:
"The fee for issuing credit tokens in XCP will be over 50 XCP?" Yes? No?
Or more generalized
"The fee for issuing an asset in Counterparty will be over 1 XCP?" Yes? No?
Everyone would then bet XCP that it will either be over 50 or under 50. Or they'd bet it would be over or under 1 XCP. One side has to be right. The winning side profits so no one would want to be on the losing side.
Price discovery is going to be critical and if developers don't know what the fees should be then why not build it in so the network/market can decide either by a client based vote or a decentralized betting market?
If we wanted to we could start betting on what we think it will be right now. Speculation is probably going to be one of the main uses of Counterparty along with betting. So should a decentralized bet even have a fee? My opinion is the fee should be set by whoever sets up the bet. So some bets can have fees bigger than others and let the free market determine if people are willing to part with XCP.