The Nature of Money
Once upon a time, people used to trade in items that were useful to them. For example, I could trade meat from my hunting kill for a stone knife that helped me prepare a meal. At some stage, people realized this could be abstracted by using items of some associated value, but eventually, we arrived at pieces of paper that state the value they represent: for example, 1 dollar.
Traditional money, also called fiat currency, is controlled by governments that issue money and ledgers of balances that are kept by authorities in which place our trust: We call them banks.
Digital Currencies
During the e-commerce revolution in the 1990s, some pioneers started to think about how money could be represented and used online in a purely digital format, decoupled from the banking system.
These early enthusiasts quickly realized that implementing a digital currency without a central party in charge of maintaining balances is extremely difficult. The basic problem is in how to track transactions between parties that don’t trust each other reliably without introducing a trusted third party, such as a bank. In the absence of such an arbitrator, how can you ensure digital currency units are not spent several times in independent transactions? This is known as the double-spending problem.
Bitcoin and the Advent of Cryptocurrencies
Bitcoin is the first digital currency that solves the double-spending problem in a completely decentralized way. The system was proposed in 2008 in a publication from an unknown author with the pseudonym Satoshi Nakamoto.
Bitcoin was the first of a number of cryptocurrencies, which combine cryptographic primitives with peer-to-peer networking to create an unforgeable decentralized record of transaction history. Banks and governments are removed from the system.
The Underlying Technology
Key Cryptographic Principals
In order to understand cryptocurrencies and blockchain systems, it is important to first have a grasp of three basic cryptographic ideas:
Asymmetric cryptography:
In traditional cryptography (also called symmetric cryptography), messages can be encrypted by a secret key. This key is used for both encrypting and decrypting a message and has to be known by all parties involved. Distributing a key securely is difficult in such a system, as an intercepted key allows access to encrypted messages.
In asymmetric encryption, the key is divided into a public and a private key pairing. Private keys are, as the name suggests, private to each user. They serve to decrypt messages. Public keys, on the other hand, can only be used to encrypt messages and can be freely distributed across the network.
Let’s say Alice wants to write a secret message to Bog. She can use Bob’s public key to encrypt the message. The message can only be decrypted by Bob’s private key, which is known only to Bob (unless Bob has seriously messed up his private data security). Any eavesdropper intercepting the message cannot read it.
Cryptographic signatures and identity:
Private keys do not only serve for decrypting messages. They can also be used to digitally sign a message. If Alice receives a message from Bob, signed with Bob’s private key, she can use Bob’s public key to verify that Bob is the sender of the message.
Looking at this property the other way around, a private key owner can always confirm his identity by proving that he holds the matching private key to his public key. This is fundamental to cryptocurrency accounts and addresses, as we will see soon.
Hash value:
Hash values are large numbers that act as digital fingerprints for data. A mathematical function is used to convert an arbitrary sized piece of data into a fixed sized value, in such a way that the operation cannot be reversed. That is; it should be impossible, or least astronomically difficult, to discover the data corresponding to a hash value.
Hash values allow verifying the integrity of data. If just one bit of the input data changes, the hash value computes to a completely different number.
Cryptocurrencies can use this property to ensure transaction history remains unaltered.
Blockchain
Now, that we know the basic cryptography, let’s see how cryptocurrencies work.
At the heart of the technology is a data structure called blockchain. The blockchain is kept on a peer-to-peer network, meaning that each node maintains an exact copy of the data structure.
Transactions, representing transfers from one account to another, are grouped into blocks. Accounts are identified by addresses, which are linked to public keys. A private key holder can prove he is the intended receiver of a transaction by proving his key matches the receiver address.
Blocks are linked together by including a hash value of the previous block’s content into every new block. Therefore, it is easy to detect if a participant tries to alter transaction history.
Blocks are created at a certain interval according to a consensus protocol, meaning that all nodes agree on the same version of the new block. In Bitcoin, blocks are created roughly every ten minutes, other cryptocurrencies use different intervals.
The original consensus algorithm, introduced by Bitcoin and used by many other cryptocurrencies, is called proof of work (PoW). PoW consists in so-called miners competing to solve cryptographic puzzles. The winner gets to create the next block in the blockchain and is also awarded newly issued coins. There are alternative to PoW, but we will leave these for a future article.
Note how this process strictly controls the issuing of new coins. In contrast to fiat currencies, issuance of money is programmed into the protocol and money cannot just be printed by a government.
It is important to notice that all the above is abstracted away from users, which can interact with the blockchain through software applications called wallets.
General-Purpose Applications
It did not take long for people to realize that a decentralized ledger can be very useful beyond cryptocurrencies. This has led to the development of general-purpose blockchains, in which transactions alter the state of computer programs, not just account balances. Ethereum is one such blockchain that allows the deployment of decentralized general-purpose applications.
Current State and Future Outlook
Coinmarketcap keeps track of cryptocurrencies and at the time of writing lists 1587 different currencies. There is still an ongoing debate on regulation, but it is clear that cryptocurrencies are here to stay. Furthermore, blockchain technology is on its way to revolutionizing many industries in ways we are only beginning to imagine.