By Jonathan Gold, IOD Expert
In the physical world, our identity proves that we are who we say we are. Our identity provides a level of trust between us and any third party. Using this trust, we can assert ownership over assets, assign them a value, and use them to conduct economic transactions. You can prove your identity with a government-issued certificate, and provide trust by your reputation and recommendations by family, friends, and contacts.
As more of our physical existence goes online, though, we need similar solutions for the online world. The big cloud companies have already solved the identity problem at the cost of surrendering our personal data. That’s not to say that companies like Facebook, Google, Amazon, Linkedin, and Twitter don’t give us anything in return, but somehow our precious data seems to be increasingly ending up in the hands of those we wish it didn’t. In particular, giving cloud companies any information that uniquely identifies us, makes it easier for them to tracks our movements, and predict our behavior: good for them, but somewhat invasive for us
Many people are worried that we might be creating a dystopian future similar to the one suggested by George Orwell’s 1984. Orwell imagined a surveillance state, and a total monopoly of all information. This enabled Big Brother and his Thought Police to perpetuate an authoritarian regime. Some have proposed that the best way to prevent an Orwellian future is blockchain. Using blockchain technology, we can create a private, decentralized, peer-to-peer solution. But what is blockchain, and how will it prevent Big Data from mutating into Big Brother?
Blockchain Building Blocks
Before you can build a blockchain, you need to ensure that its users remain anonymous, but can participate using a trusted identity. This is achieved via asymmetric cryptography. Asymmetric cryptography encrypts data with a private key and decrypts data using a public key. This overcomes a key weakness of symmetric cryptography that uses the same cypher or key to both encrypt and decrypt data. In other words, it prevents a hostile party from both receiving and sending encrypted messages. While asymmetric, or public key cryptography does not prevent unauthorized parties acquiring a public key to decode data, only the owner of the private key can encrypt data.
Next, you need to gather user data, break it down into manageable chunks, and encode it. The base unit of a blockchain is called a block. Each block is passed through a cryptographic hashing function and encrypted with a user’s private key. A hash function is unidirectional, deterministic, and uniform. The function is unidirectional because input can only travel in one direction. This makes it almost impossible for a hostile party to deduce the function’s input from its output. The function is deterministic because the same input will always produce the same output. The function’s output is uniform. This means that the input data will always be the same length as the output data. These three features make it possible to both keep data private, and protect it from being compromised.
Once users can create blocks, you need to put them somewhere and do something useful with them. In other words, you need to create a chain of blocks. Blockchains chain blocks together using a Merkle tree. A Merkle tree is a hierarchical data structure that has a single root node, and multiple leaf nodes. Leaf nodes can be either parents or children. Each child node is identified with a unique hash. Each of the tree’s parent nodes generates a hash based on the hash of its children. A Merkle tree is an efficient and compact means of representing complex data because it makes it possible to represent complex chain of data with a single hashed expression.
Building on the Blockchain: Bitcoin and Cryptocurrencies
Now we have our building blocks, what can we build with them? While the term blockchain was originated in the original Bitcoin whitepaper, and Bitcoin defines how we understand and use the blockchain, it’s worth noting that there are other uses for this technology. In fact, hashing functions, merkle trees, and peer-to-peer networks had been used by BitTorrent to share content of varying degrees of legality, and by Git for distributed source control. Despite the fact that BitTorrent and Git used the technologies that underpin Bitcoin, Bitcoin used these technologies in new and radical ways, and basically defined what we think of as the blockchain.
Bitcoins are virtual tokens that act as a store of value, and can be exchanged for other tokens such as a government backed currency. All Bitcoin transactions are anonymous, and relies on cryptography to ensure the anonymity and privacy of its users. Bitcoins are created by a process called mining that uses dedicated computer hardware, or Bitcoin mining. Bitcoins are mined using a proof-of-work algorithm. The algorithm generates mathematical questions of increasing complexity, to solve the question the miner must generate a proof that the algorithm can verify as correct. If the miner answers the question correctly, they are granted a block of Bitcoins.
Unlike other forms of currency, the total number of Bitcoins is limited to 21 million. So, to limit the supply of available Bitcoins, every time a miner successfully mines a block of bitcoins, the size of each subsequent block will contain a progressively smaller number of tokens. In addition to reducing the number of available tokens, the system makes it harder to mine them by generating proof of work questions that are both harder and take longer to calculate.
Once a miner has minded a block of Bitcoins, the system both track the new tokens, share this information with other miners and users, and handle any transactions that involve the exchange of Bitcoins. This is handled by a ledger. The ledger holds an immutable record of all bitcoin transactions. This means the ledger cannot be changed, it can only be added to or copy. The ledger is also distributed. This means that everyone in the system has a complete record of all Bitcoin transaction.
Towards a Smarter Blockchain: Ethereum, Smart Contracts, and Distributed Applications
The distributed ledger is both Bitcoin’s most important invention and one of its biggest weaknesses. This is because all users must have a complete copy of the ledger at all times. This means that each time any user does anything with their Bitcoin, all copies of the ledger must be updated. This can make using Bitcoin a long and arduous process. To make matters worse, Bitcoin has a long and growing list of problems including volatility, inflexibility, and the growing probability that it is probably a scam run by a group of people operating under the name of Bitcoin’s founder, Satoshi Sakamoto.
You can use the blockchain for more than creating your own currency, but until Ethereum was released you would have had to create your own blockchain technology. Ethereum takes a very different, and much more flexible approach to the blockchain than Bitcoin. In the Ethereum ecosystem, all tasks related to token mining, ledger management, and performing transactions are handled by the Ethereum virtual machine (VM).
Unlike Bitcoin, Ethereum supports a much wider range of possible transactions, or smart contracts. In addition to create crypto currencies, you can use Ethereum to create voting applications, or any event driven financial transaction. For example, you could create smart contract that tracks and reacts to currency fluctuations or the stock market. Ethereum smart contracts are written in a high level language called Solidity that enables developers to model a vast range of potential scenarios, including creating new forms of social networks that enable users to control their public identities and private data.
Conclusion: Why the Blockchain Matters
The blockchain uses a combination of cryptographic techniques to create a distributed, peer-to-peer network that can be used to share data and perform transactions. Blockchain technology promises a world that our data, identities, and assets remain private, blockchain technology is still immature. In addition, the blockchain space is still dominated by Bitcoin, and is mainly used for creating virtual currencies. Ethereum is a big improvement over Bitcoin, but it is not without its own problems and it is probably too early to know if Ethereum is Facebook to Bitcoin’s MySpace. If nothing else, Ethereum smart contracts has made it possible to create a wide range of smart contract based distributed applications (DApps). It is important to note that new entrants could enter the field at any time, and push this market in a different direction.
Taking a longer term perspective, blockchain technologies may take a similar path to artificial intelligence (AI), or its newer equivalent, machine learning (ML). These technology are also enjoying major attention from the media, public, and tech industry. However, AI/ML has been through what the field calls springs and winters. Like AI/ML, the underpinnings of blockchain have been around for a long time, and may go through similar cycles. However, unlike AI that is mainly in the control of the big tech companies, blockchain has the potential to free us from the hands of big data/big brother, manage privacy, and control our personal identities. In the long, these are the main reasons why run blockchain matters.