In this and the following blog posts we will learn about blockchain technology. The purpose of these is to give the lector an overview of what blockchain technology is, the advantages it presents, as well as its disadvantages.
It is easy for newcomers to mix up cryptocurrencies and blockchain. Although the first blockchain (Bitcoin) is a cryptocurrency, it does not necessarily mean all blockchains are (or will be) necessarily used as payment networks. Blockchain technology has unique properties without which we would not be able to guarantee such a high level of transparency, decentralization and immutability.
If you do not understand yet some of the concepts do not worry, we will explain them to you step by step. The following concepts, constitute the foundation of blockchain technology and we will go over them without getting too technical on the implementation details:
- Distributed ledgers
- Consensus mechanisms
- Public and private blockchains
- Blockchain platforms
What is a ledger?
Today, vast amounts of information are controlled and managed by institutions that we trust to act honestly. Blockchain technology enables a shift from today’s centralized repositories of information to more decentralized robust fault tolerant networks. Using blockchain technology, it is possible to imagine a future where we do not rely on centralized organizations to manage our data but we, the users, have greater control of our digital lives. So how do blockchains enable this? It starts with simple accounting.
Ledgers are data sources that track accounts and balances of assets, they are fundamental to accounting and tracking value. Today most ledgers are maintained in databases run by central authorities such as banks, credit card companies or governments. Record-keeping by central authority is beneficial for several reasons:
- A central authority can maintain data integrity by restricting access to the ledger to authorised users.
- The data location is known and accessible to the data curators this allows for fast retrieval and regulating access to the data.
Updates to a database are known as “transactions”. The following are key properties for a database transaction :
- Transactions need to be atomic (where all updates are applied to the ledger or none of them are).
- Transactions need to be durable, meaning they persist in the system and there is no chance of the change being reverted.
- Transactions need to be consistent. Ledger data must be modified in a reliable permitted way.
- They also need to be isolated. Transactions must be isolated one from another.
Recently, distributed ledger technology has gained popularity. Distributed ledgers do not rely on a central authority to maintain data. Maintaining agreements among the shareholders of the ledger is a difficult problem. Data integrity can be maintained using public/private key cryptography which can verify who initiates transactions and that they are authorized to do so.
Transactions in a distributed ledger must have the same properties as a centralized ledger, they must be atomic, durable and consistent. Accessing the latest data often takes longer in a distributed ledger system than a centralized one, because it takes time for the participants to agree on the ledger’s state. Therefore the latest transactions are not immediately available to every node (participant in the network).
A ledger is distributed when it has been securely replicated across geographic locations. Some features of DLT include:
- Consensus formation
- Peer-to-peer protocols
- Cryptographic infrastructure
Blockchain technology is a version of distributed ledger technology. It implements these features through a specific data structure called a “blockchain” and consensus mechanisms such as proof of work, proof of stake, delegated proof of stake, proof of authority, etc.
In the next blog post we will discuss in more detail about consensus mechanisms, so stay tuned.
About the author:
David Pinilla is an Economist, former professor of a Full Stack Developer Bootcamp, and a blockchain enthusiast. He currently works as a Senior Full Stack Developer at Climatetrade.