“The blockchain is an incorruptible digital ledger of economic transactions that can be programmed to record not just financial transactions but virtually everything of value.”- Don & Alex Tapscott
Usually, whenever somebody asks “What is blockchain technology?”, they will get an answer along the lines of the above quote. But what does that actually mean? How do blockchains work. And what other promises does blockchain technology have?
After the release of Bitcoin in 2009, blockchain technology has been receiving plenty of attention from all kinds of people and companies. Many are interested in all the possible use cases of this new, ground-breaking, technology and companies have been looking at all the possibilities this new technology has to offer.
A couple of years after the release of Bitcoin, people started realizing blockchain technology could be used for more than just simple currencies and overall interest in blockchain technology skyrocketed. This can also be seen in the graph of the total market capitalization of cryptocurrencies, which also grew enormously during this period.
How blockchains work
But how do blockchains work, and why is this technology so ground-breaking? Let’s start with the basics.
Traditionally, data is stored in a central place, where users have access to a central database. Depending on the design, users can add and/or edit data in this central database. This can however lead to problems, as data can get lost if the database is compromised. Data can also get hacked or get changed secretly.
Blockchains approach storing data differently, data is stored in a decentralized manner. They are essentially widely distributed ledgers, to which everybody has access, making it very hard for data to get lost or compromised. They are meant to keep track of everything of value, which can be anything ranging from cryptocurrencies to other data.
“Blockchain is to Bitcoin, what the internet is to email. A big electronic system, on top of which you can build applications. Currency is just one.” - Sally Davies
Let’s start with the basics of blockchain technology. Blockchains consist of blocks which contain 3 things: A (new) hash, the hash of the previous block, and lastly, data. A hash is a string of characters that is unique for each block. The hash changes completely if the content of a block changes.
The (new) hash is generated based on the content of that block and is also based on the hash of the previous block(s). It is used to verify the block’s content and integrity.
The hash of the previous block is used to connect all blocks. As you already know, the hash of a block changes completely if even a small thing in the block changes, so if the hashes of two blocks are the same, you can safely say all blocks before those blocks are exactly the same.
Data is also included in each block. What this data is depends on the type of blockchain. For example, a block from the Bitcoin blockchain, consists of the sender, receiver, the amount of BTC sent and a digital signature.
Every user of the blockchain can broadcast a transaction to the network. These transactions are then collected by nodes (device connected to the blockchain network using a client that performs the task of validating and relaying transactions) and added into a block. Nodes can check if transactions broadcasted to the network are legitimate using the hash and the hash of the previous block. These blocks are then broadcasted to the network, where nodes reach consensus on which block gets added to the blockchain. If the majority (>50%) of the nodes agree that a block is legitimate it is added to the blockchain and can no longer get removed. These nodes are rewarded for their work. How they are rewarded for their work depends on the blockchain.
We know this may be hard to understand, so we have created an illustration to give you an idea of how this looks in practice. In this illustration, the playing cards represent blocks, and the symbols on the cards represent individual transactions. As you can see, the hash of all new blocks changes if even a single transaction in a (previous) block changes.
But how can somebody join the network and (verifyably) cast a transaction to the network. Generally speaking (some blockchains have account systems, EOS for example), a user can generate a public-private key pair on that blockchain. The public key is the publicly available address, everybody can see this address and can send a transaction to this address. The private key defines ownership of the address and is used to sign all transactions from that address. If a user wants to send a transactions, they need to generate a transaction that states who sends the transaction, which address receives it and the amount. Afterwards they sign the transaction with their private key and the transaction is broadcasted to the network. Nodes can then verify the transaction with the (publicly available) public key.
As great as the technology may be, if it does not serve any purpose, it will not get adopted. Luckily, blockchains are fit for many purposes, which is why there are so many people working on many diverse blockchain related projects. At the moment of writing, Coinmarketcap, lists ~2100 different cryptocurrencies, and there are even more projects that are not listed.
One of the things blockchains enable are smart contracts. Smart contracts are trustless contracts that autonomously perform an action when a certain condition is met. For example, if A wants to send 10 EOS to B on a certain date, A could write a smart contract that says that on a certain date B receives X EOS from A. This is a really simple example, but smart contracts can do much more. These smart contracts are essential for Dapps as well. Dapps are trustless, decentralized applications consisting of many smart contracts which are all, publicly available.
Smart contracts can (taken from Coindesk, “How Ethereum smart contracts work”):
- Function as ‘multi-signature’ accounts, so that funds are spent only when a required percentage of people agree
- Manage agreements between users, say, if one buys insurance from the other
- Provide utility to other contracts (similar to how a software library works)
- Store information about an application, such as domain registration information or membership records.
Blockchains are also evolving very fast. While some time ago the biggest blockchains struggled to scale, many others have already come up with creative solutions to this scaling problem, leading to incredibly fast blockchains which are capable of supporting millions of transactions per day.
This is also visible in the blockchain activity matrix by Blocktivity. The number of operations on the Bitcoin blockchain, which used to be the biggest and most active blockchain, is now overshadowed by the number of operations on newer, faster and more utilized blockchains.
All things considered, blockchain technology is moving forward quick, and is likely to change the way data is stored and used in the future.
We are Blockgenic, a network of world class technology entrepreneurs and investors looking to make a positive impact on blockchain technology. You can find us here:
EOS Block Producer name: ‘blockgenicbp’