ProtoShares has proved to be a very educational experiment in the Crypto Currency realm. It is the first crypto-currency to start out with such a high valuation from the genesis block and as a result has experienced new outcomes that can serve as a learning experience. I would like to take an opportunity to address some of these very real lessons and get feedback on how things can be done in the future.
Most of this post will address the nature of mining. When the value of the mining reward is over 100 times the cost of mining we have learned that the network will be flooded with hash power and as a result block production will accelerate until network latency rather than hash performance determines which blocks get accepted. Network latency in turn masks the real hash power on the network and prevents the network from adjusting the difficulty fast enough to compensate. The ultimate result from this is that blocks will continue to be mined at a rate far faster than the target.
We also learned from this experience that it is critically important to optimize the proof of work as much as possible prior to launch. When we update momentum for BitShares we will spend much more time attempting to optimize the proof-of-work prior to launch rather than letting 3rd parties release optimized miners that fail to include transactions in the network. These optimized miners also contributed to the appearance of a 5x growth in hash power without the ability of the network to rapidly adjust to such a performance increase. The Role of Mining
Mining is a very controversial subject because it invokes a desire for 'fairness' and 'equal distribution'. People see it as a way to 'fairly' distribute a currency when done properly, and yet no one can define what properly means. In the case of ProtoShares over $2,000,000 dollars has been spent by the community to purchase hash power from providers such as Amazon and Digital Ocean. In exchange for this they have earned almost $10,000,000 worth of ProtoShares. This means of distributing the initial currency highly favors those who are able to use Linux and have access to large data centers like Amazon. It does not help the developers of the currency or to achieve the supposed ideal of 'even distribution to all'.
Some individuals recognized that they couldn't compete with the mass-miners and so they wisely decided to purchase PTS in bulk early on. These bulk purchases benefited the mass-miners and not the creators of the crypto-currency. Many of those involved with mass-mining of ProtoShares were only in it for short-term gain because there were high profits to be made. As a result the financial motivation of mass-miners to defend the integrity of the network was lost and the network suffered from long transfer delays.
While some people may not like the effects of cloud mining, at least it was equal opportunity for anyone who can follow the instructions laid out in the forums. Unfortunately there is another class of attack, the botnet. Botnet operators steal computing power and electricity from other people so they can mine and as a result they can bring thousands of computers to mine for the network. Botnet operators are generally looking to make a profit and therefore have little incentive to see a currency destroyed, but they still manage to make it more difficult for honest individuals to 'fairly' mine shares. There are opportunity costs associated with running a botnet and so botnet operators generally dump the mined shares immediately.
So far I have only addressed mining from the perspective of issuing the currency and as you can see it is fraught with problems. The primary benefit that I can see to such a lottery system is that it encourages people to download the wallet and rapidly deploy a P2P network complete with a viral marketing campaign. This aspect of mining should not be underestimated because it helps the network achieve critical mass. The massive rise in the value of ProtoShares and the resulting gold rush has created a lot of buzz around the community and as a result a lot more people are aware of Invictus Innovations and our future plans for BitShares and Keyhotee.
Taken in the big picture, mining could be replaced with a true lottery and Invictus could have sold lottery tickets to raise capital. Under this model you would still have the buzz without the botnets, though we might have faced legal challenges associated with operating a lottery or illegal gambling operation.
In all the excitement over the issuance of the currency through mining, almost everyone forgets that mining is really just a side-effect of the need to reach a decentralized consensus on the next block. A 100% pre-mined currency still requires mining to get the proper block production rate and security. However, as I have stated before, the 51% attack is only possible for anonymous individuals in small amounts and the risk of getting caught is very high. You only need enough mining power securing the network to stop private criminals from making a profit as mining power will do nothing to stop governments from attacking the network. Governments will use a different approach than mining power because Ripple proves there are other means of reaching consensus that could be employed if someone attempted a 51% denial of service attack. How to Decentralize Mining
If you want to decentralize transaction validation then mining should not be profitable in bulk. This means that mining rewards need to be enough to cover electricity, but not enough to cover cost of computer capital or profit significantly. People who already own computers could then mine at a slight profit, but anyone who has to rent or buy dedicated mining hardware should be out. Mining also needs to be decentralized and not based in large mining pools where a single bug can result in a large number of blocks not including transactions or a government shutdown could harm the network.
To this end we would like to propose that all wallets mine at 25% effort anytime your computer is plugged in and otherwise idle. It will be like a screen saver. In aggregate this large contingency of solo miners can provide a basic level of security to the network without users having to think about it. Sure some people may download a variation of the wallet that does not perform this service, but most people will recognize that the mining does not affect their overall computing experience. Randomly some people will 'win the lottery' and there will be many winners who are happy when then receive an entire block reward. People buy lottery tickets with much lower odds, and solo mining is no different. In fact, people buying lottery tickets do so at a loss given the odds because the lottery organization keeps 50% of every ticket as profit. If Bitcoin operated in this manner there would be someone winning a $12,000 lottery every 10 minutes and the rush of winning $12,000 all at once is more exciting than the prospect of earning $0.50 per day. All of the gamblers and people who like the idea of 'hope' would mine, but there would be no money for rational people to make from mining.
The challenge is that the value of mining rewards changes constantly and if the price of a currency doubles then all of a sudden something that was unprofitable becomes profitable again. It would be impossible to price-fix the mining reward below the point of profitability in a dynamic environment. So perhaps there is another way to decentralize mining and discourage pools.
The primary reason people join pools is 'instant gratification' and consistent payouts that allow them to cover mining expenses on a month to month basis by dumping some or all of their proceeds on the market. When I suggested switching my pool from 24 hour payouts to 48 hour payouts there was signifcant resistance. Some people didn't trust me, my server, or the price of ProtoShares to remain high enough long enough to profit from their ming. Others wanted the coins so they could sell them as soon as possible to cover Amazon's hosting costs.
Mining pools operate on the assumption that people want instant and consistent payouts and users of the pool rarely like to carry a large balance with the pool operator. Therefore, you can limit the profitability and attractiveness of mining pools by having all new currency that is created vest for a period of 6 months. Anyone who is mining for new currency would have to hold that currency for many months. Few people would want to trust a fly-by-night pool operator to hold their funds for 6 months. Momentary increases in price would not result in a rapid rise in mining power unless the long-term fundamentals changed. A mining pool operator would have to maintain a large balance of working cash to pay out miners in a timely manner and would be unable to support 'mine and dump' operations. Lastly, botnet operators with no faith in the currency wouldn't want to risk a 6-month delay in payout.
Given that the payouts for mining are not 'immediately transferrable' the little guy who wants to 'mine and hold' can solo mine with the same probability of finding a block in 6 months as the money they could get mining in a pool. Only pools with a solid reputation and a large 6 month investment in the currency proportional to their hash power could operate. This means that ypool would have to front almost 8 million dollars to fund their current operation and the result would be far greater decentralization of mining pools.
The 6 month delay would only apply to the issuance of NEW currency. Transaction fees would be available to the miner immediately to compensate them for their service. This would encourage rapid mining and inclusion of transactions and large pools could operate on the basis of including transactions, but not on the basis of issuing currency. New currency issued via dividends would not suffer this delay.
Ultimately this 6 month delay provides a new, simpler, version of proof-of-stake. Only miners with a 6 month time horizon and thus a stake in the future of the currency would mine and no miner could make short term profit by performing long-term harm to the network. Implications for ProtoShares and BitShares
Because ProtoShares and BitShares are divisible, any supply is sufficient for the currency to operate. When BitShares launches we are considering a change to make it take 6 months until the mining reward for the first block matures and therefore the only way to acquire BitShares will be to purchase them from someone else or to purchase ProtoShares. Those who believe in the long-term viability of BitShares will mine and all of the mine and dump operators will be left on the sidelines. The money supply will be heavily restricted with no real inflation for the first 6 months. There will be stock splits in the form of dividends, but that is not the kind of inflation that transfers wealth from the current holders of BitShares to new holders.
This means that when BitShares is launched, only those with a long-term interest in the shares will mine and any pool operators offering immediate payouts would have to have significant capital invested in BitShares for at least 6 months. Pools will be far more decentralized and you will not have run-away block production. Feedback Wanted
As you can tell we are working our best to encourage decentralization and correct the problems discovered from the launch of ProtoShares. The ideas proposed above are controversial, but if adopted will make ProtoShares more valuable. I welcome feedback from the community of ProtoShares holders about other benefits or problems that introducing a 6 month vesting period would do for a coin.