When I saw
this question about sharding, my
initial reaction was "No, the blockchain can't be split into shards".
But, on second and third thought - the major problem that I see is that you have to be able to send funds between the different shards. What if you could just trade, via an easy API, coins from one shards into coins of another shard, and then send those to the recipient?
Let's call this hypothetical concept Shardcoin. We would launch 10,000 new blockchains, and miners could choose randomly which chain they want to work on at any given time, reducing their bandwidth/memory footprint by a factor of 10,000.
Now, each of these miners, and other players in the market, would create exchanges between the different chains. I'm suggesting miners may double as exchanges because they're always-on servers ... no reason not to bundle an exchange there too (it won't be obligatory of course).
In order to send money:
- Suppose I have 100 coins on Shard 17, and I want to send them to some address on Shard 9971.
- I generate a new address for myself on Shard 9971.
- Suppose the current exchange rate between these shards is 1 Shard17Coin = 0.8 Shard9971Coin.
- I find someone willing to trade, and in one atomic tx, send him my 100 Shard17Coins, in exchange for 80 Shard9971Coins, minus his commision. Again, this is done
atomically, so I don't really need to trust him to "hold my money" or anything like that.
- I now am the proud owner of 79 Shard9971Coins, which I can send to my original target.
I'm not following the other scalability suggestions, so this all might be redundant if a better solution is proposed & implemented. But at least as a thought experiment, I rather like it. I see two major issues:
- Fluctuation in the relative values of the different ShardCoins.
- Adoption/network effect. Since there is effectively zero change Bitcoin will be dropped in favor of ShardCoin, this will never pick up enough steam to be successful. Bitcoin is already Too Big to Fail IMO.
A major point that's important to get across is that this is 100% compatible with the Bitcoin protocol - no changes whatsoever are needed. In fact, this proposal can work across crypto-currencies - so we could have p2p exchanges of Bitcoin, Litecoin & ShardCoins all working seamlessly together.