The Immutability of Cryptocurrency: Part 1 - Concerning Immutability

Published by:
John
Published on:
November 4, 2016

Any cryptocurrency is reliant on a lot of assumptions; this is part of the reason they are such a volatile, high-risk investment. One of the fundamental premises of most cryptocurrencies is the idea that the currency is generated and transferred per a technical specification that is not susceptible to external influence, so-called “immutability”. To use the words of the Ethereum Project, which develops a cryptocoin called Ether:

“Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.

Ethereum is a relatively new cryptocurrency that has the potential to be a game-changer. But to understand the potential impact it could have, it is necessary to examine its functionality. Traditional cryptocurrencies are “mined” by dedicating computational power to solving arbitrary problems of high complexity. This is a “proof-of-work” system, where the value of an individual Bitcoin is derived from the power and computation time (opportunity cost) that went into solving the problem, as opposed to any inherent value in the solution produced.

When it comes to immutability, the blockchain is what provides Bitcoin this guarantee of freedom from tampering. Each “block” of transactions contains the hash of the previous block, providing an unbroken link that goes back to the first transaction. Tampering with any block would change the hash of every other block in the chain in a way that is easily detected.

This provides the promise of immutability, but with an important caveat:  to function immutably, every system that uses it must keep a full ledger, which must be updated regularly. As the number of transactions increases, the size of this ledger will also increase. At the time of writing, the full Bitcoin blockchain, which has been in use since January 2009, is approximately 87.8 GB.

Blockchain Size

The size constraints that can affect users of an established cryptocurrency, such as Bitcoin, are one of the biggest problems that face them. Reducing the information stored on the blockchain would remove the promise of immutability, but there are irreconcilable problems with storing ever-increasing quantities of data. Few users have the patience, or resources, to give up ~100 GB of storage space (and the time required to download it) just to enable financial transactions.

While some believe that Moore’s Law will reduce the cost and increase the capacity of storage and bandwidth quickly enough to keep up with a bloated blockchain, many enthusiasts already choose to defer their transactions to a trusted server using thin “Simplified Payment Verification” clients. These are third parties that broker transactions, obviating the need for an individual to download the blockchain themselves. In time, it is even conceivable that these trusted nodes could take on some of the roles traditionally associated with banking institutions.

While the blockchain is still nominally available for download by any user, few users are willing to inconvenience themselves when an easier alternative is present. Still, the technical integrity of the blockchain is enforced, even if many users choose to waive it.

Ethereum and the DAO

This is where Ethereum and the DAO comes in. Like other cryptocurrencies, Ether is harvested by satisfying the “proof-of-work” model – but with a twist. Instead of solving arbitrarily difficult problems, Ether miners earn their keep by executing smart contracts – blocks of computer code that are stored and replicated on the blockchain. This allows for decentralised, distributed calculations to be executed across the entire network.

If you want to host your code on Ethereum, you pay for it with a certain quantity of Ether, which is in turn awarded to the miners when they do their part in executing that code. This is what sets it aside from other cryptocurrencies. If blockchains provide decentralised storage, smart contracts provide decentralised computation.

The eponymous DAO is a concept that naturally extends this principle. DAO stands for Decentralised Autonomous Organisation, and the Ethereum DAO is the highest-profile example of such an organisation. Implemented through the smart contract system, it is a leaderless organisation without any personnel. Individuals become “stakeholders” by investing in the DAO, which grants them voting rights.

Anyone can submit a proposal to the DAO, and a vote is taken amongst stakeholders. If it passes, some funds (again, in Ether) are dispersed to the proposal in question. Because this is all enforced by code, the system purportedly removes any possibility of human interference from the process.

In the words of Christoph Jentzsch, who wrote the framework that forms the core of the DAO:"We actually don’t know who started it. Of course we can see the address on the blockchain but we don’t know who owns the address. The only way to speak with the DAO is to make a proposal and vote."

Once again, the immutability of the process is a selling point. If the integrity of the code is maintained, the system will be resistant to tampering, corruption, and politics. Decisions are not made by any rationale except the technical specification.

Developers and Users

Of course, even if the technical specification of a system makes it immutable, there is a simple path to circumventing this: change the specification. Bitcoin and other cryptocurrencies protect themselves from this kind of interference by splitting control over Bitcoin between developers and users. The Bitcoin developers are free to implement whatever changes they wish in their version of the software, and they are free to release this to the public. However, they have no way of forcing the public to use the software they write.

Therefore, the incentives are two-fold: the users need to use software that is compatible and follows the same rules (so they can trade with each other), and the developers need to write software that will be adopted by the users. Making a change without the consensus of the user base would result in one group using the old software (possibly continuing to modify and develop it along a divergent path), and another group using the new software. These two groups would be using software that is incompatible, and the effective result would be that two new cryptocurrencies are created, both weaker than the original.

This is known as a fork, which can be either “hard” or “soft”. In a soft fork, any block considered valid in the new version would also be valid in the old version – therefore forward compatible. Nodes using the old version will accept blocks generated using the new version, though the reverse is not necessarily the case. Hard forks, on the other hand, change the rules in a way that the old version would consider to be illegal. As such, they are virtually guaranteed to cause a split between the old version and the new one.

In the second part of this series, I will explore just how immutable these systems can be. How does the ideal of immutable, decentralised finance measure up to reality?

Find out more about our cyber intelligence services: