A blockchain is a distributed ledger maintained by a network of computers. Blockchains have some great properties, including consistency, security, and protection against modification, as each record in the ledger is digitally signed. These properties allow blockchains to support virtual currency systems with no central authority required to manage it.
The Bitcoin blockchain was the first one to be built, six years ago. Today, the currency supply supported by the Bitcoin blockchain is worth four billion dollars, and hundreds of other blockchains have been built in the meantime, trying to introduce new features and improve on the limitations of the previous designs.
So, what have we learned? What makes a good blockchain? There are five essential properties any good blockchain must have.
#5) Bloat management
Every computer on a blockchain network must have an entire copy of the ledger database. This allows the network to achieve consensus on the current state of the ledger, but also means that keeping the blockchain small is a priority.
Many blockchains are only a few GB in size, though Bitcoin’s has grown to 43GB. If the growth is not managed properly, the network becomes burdened with maintaining large files that may no longer fit in memory, which slows down the speed at which the network can achieve consensus—and therefore, transaction speed.
Bitcoin developers added an auto-pruning feature to assuage this problem. Many believe that computer technology will simply outpace the demands of blockchain storage and transmission, but it’s still something to consider when developing a new blockchain from scratch.
#4) Fair distribution
Sometimes, blockchain developers will keep a large percentage of the crypto-currency money supply for themselves before releasing it the public as a form of compensation for their development work. This “pre-mining” of the currency is generally not looked upon favorably by the crypto-currency community, and can cause a backlash, stifling adoption.
Both Neucoin and Darkcoin suffered from a public backlash due to pre-mining. Neucoin took various measures to calm to storm, including adding more transparency and limiting the founders’ ability to immediately sell their pre-mined stake. Darkcoin took a beating in the forums and eventually rebranded to DASH.
Several other creative methods have been developed to ensure a fair initial distribution. “Proof of Burn” means a new currency can only be acquired by proving that you destroyed another crypto-currency. Since this is enforced by the protocol, users of the currency have a guarantee that the developers can’t hoard a secret stash of it. The Counterparty cryptocurrency was released this way very successfully.
Auroracoin, an Icelandic alternative to Bitcoin that has fallen into obscurity, launched by giving 50% of the money supply equally to the each of the 330,000 citizens of Iceland. Clams is a currency that was released by giving it freely to anyone who held a Bitcoin address during a certain time period. In this way, they each piggybacked on the extant mature distribution of Bitcoin.
#3) 51% Attack Prevention
The greatest weakness in the security of a blockchain is the so-called 51% attack. It can happen if someone gains control of 51% of the computing resources (for proof-of-work based blockchains like Bitcoin) or by gaining control over 51% of the money supply (for proof-of-stake based blockchains like Peercoin).
The Bitcoin community is hyper-vigilant about this particular issue. Bitcoin was designed to be supported by a large collection of individuals so that users did not have to trust any one entity, but the reality is quite different. People have formed mining pools so they can more easily share the rewards for helping to maintain the network, and this has resulted in single entities controlling a large portion of it.
The Discus Fish pool (F2Pool) currently has 20% of the network power. If it continues to grow past 50%, Bitcoin is in trouble. In theory, it would allow them to generate a fake “shadow” blockchain which could be swapped for the real thing. It is often noted that China already controls more than 51% of the network and could, in theory, collude at a national level.
Proof-of-stake systems help mitigate this attack because they don’t rely on computing power, but instead require currency holders to show how much of the currency they are holding and earn interest as a reward. True, if someone gained 51% ownership they, too, could attack the system, but they’d be shooting themselves in the foot at that point. Peercoin was the first proof-of-stake based crypto-currency.
#2) Fast block confirmation times
People are often surprised to learn that completing a transaction on the Bitcoin network is not instantaneous. It takes the network 10 minutes, on average, to achieve consensus for each batch of transactions. And, since this is a Poisson process, there is a non-trivial chance (1%) that it could take more than 45 minutes to confirm a transaction. This “throttle” was initially put in place for network stability, to make sure the nodes had time to achieve consensus, but was probably too conservative.
One of the first alterations to the Bitcoin code base, Litecoin, made confirmation four times faster. If the participating computers all have fast connections to the internet, then there is no reason not to implement fast confirmation, though it should be slow enough to make sure all the nodes can keep up. Many newer currencies have confirmation times on the order of seconds. BitShares has 3–5-second confirmation times, its primary limit being the speed of light and network switching speeds.
In 2009, a bunch of crypto-enthusiasts were playing with some fun, new software that implemented virtual currency. Six years later, they were sitting on an economy worth four billion dollars. The software engineers who brought BitCoin to life were not necessarily the right people to shepherd it into the future. There is often fierce debate about which features to add and why—most recently on increasing transaction capacity. Developers who are deeply vested in the currency lean conservatively towards making no changes at all, while others who are interested in upgrading Bitcoin so it will last well into the future are more open to making changes. The problem is: there is no good system in place to resolve these disputes.
Many changes have been successfully implemented following standards introduced in 2011, whereby Bitcoin Improvement Proposals (BIPs) are introduced, reviewed, and rejected or accepted after community debate and discussion. This has worked well enough until recently, when a debate erupted about increasing the block size, or the number of transactions that can be processed at once. The debate was too polarizing for the BIP system to properly resolve. Six BIPs have been introduced in the past four months to address the problem (BIPS 100,101,102,103,105,106), but there has been no real progress on the issue.
Mike Hearn, a Bitcoin developer in favor of increasing the block size, grew impatient from the deadlock and so tried to start his own blockchain derived from Bitcoin’s. This would result in a ‘hard-fork’ of the currency, literally splitting it in two. The jury is still out on whether that will succeed. Hearn is only doing what he sees as best for the future of Bitcoin, but the passionate responses are ubiquitous, with many labelling him as a rogue developer seeking to destroy the Bitcoin community.
Since voting is not explicitly implemented in Bitcoin, hacky methods are in place. A call to vote has been made for the recent block size debate. Mining pools can “vote” by submitting blocks with a specific version number, a field which is otherwise not really used.
The Bitcoin community is now struggling to define a better governance model. It’s unlikely the code will be changed to support voting, even though tallying votes is one thing blockchains can do well, so third party solutions are being developed. Cryptovoter is one such attempt. It put voting in the hands of the users of the currency, instead of just the miners. It’s an afterthought, and so still a bit hacky—users send money to themselves with their vote imprinted on their Bitcoin address. All the votes are then publicly visible on the blockchain.
Many modern blockchains have recognized the importance of governance after witnessing the vitriolic infighting in the Bitcoin community. The DASH and NXT currencies are both in the process of introducing a voting mechanism. The BitShares blockchain made voting a core property of their cryptocurrency from the beginning. The voting system can quickly decide which new features they are in favor of or not.
In retrospect, it seems obvious that voting should be inherent. Perhaps Bitcoin developers never expected the system to grow so large that it required proper governance. This was one lesson learned the hard way, and the Bitcoin blockchain may not survive it.