This is the first post from our Blockchain 101 series aiming to bring you closer to the blockchain technologies. While preparing those articles, we assume you have no or limited knoledge and would like learn everything from scratch or expand your expertise in this field. Should you feel we haven’t exhausted the topic, please let us know how we can improve in the comments section.
What is Blockchain?
The first blockchain was introduced in 2009 under the name BitCoin by a person or a group of people called Satoshi Nakamoto. Since the inception of blockchain technologies evolved into many forms and assets and development still continues.
The blockchain is nothing else than an evergrowing peer-to-peer database of records called blocks. Blocks are connected to each other via cryptographic functions to ensure integrity. Every block in the blockchain carries at least the following data:
- Transaction data
- Hash of the previous block
The above design combined with the cryptographic functions provides open system resistant to any modifications of the data. Blocks once written to the blockchain are irreversible and the data stored inside of them is immutable and permanent. It is due to the fact that any modification made to already written block would result in a modification to all subsequent blocks and this would require the consensus of the majority of the participants of the network.
What are the blocks?
As already mentioned above, blocks are records holding a specific set of data allowing to relate one block to another. Transaction data consist of a hashed and encoded set of valid transactions. The cryptographic hash of the previous block in the blockchain allow linkage of those two. The iterative process of producing new blocks allows integrity validation of the blockchain back to the genesis block.
There are situations where separate blocks are produced concurrently, creating at it is called temporary fork. Those are resolved by consensus algorithm which is scoring versions of the history so that only one with the highest value is selected and written to a chain. This results in some blocks not being included in the blockchain which is called orphans or uncles. There are times when network participating peers will have a slightly different version of the database, however in order to maintain the integrity of the blockchain each participating peer (node) is required to keep the same state of the history. So, when peers (nodes) receive a higher scored version of the ledger they either extend or update own database and broadcast changes to all of the connected peers.
What is a block time?
Block time in a blockchain is the amount of time it takes the network to generate or rather write new block to the blockchain. Block time varies, depending on the blockchain implementation and ranges from 1 second to ~30minutes. Below are the example block times for 6 major cryptocurrencies (blockchain implementations) by market capitalization at the day of writing this article.
|4.||Bitcoin cash||BCH||10 minutes|
What are Forks and Hard Forks on Blockchain?
We have established earlier there are times when network participating nodes will have a different version of the history those are called forks or temporary forks and resolved by a simple update of the newer or highly rated (by the consensus algorithm) updates. In contrast, a hard fork is a change in the consensus algorithm that will prevent validating new blocks according to the old rules. In simple words, it means there are two types of nodes running different versions of the algorithm at the same time thus unable to come to a consensus on the block history. In fact, there were a couple of occasions where the hard fork occurred.
What is the consensus in blockchain?
Consensus algorithm in distributed computing is a process used to achieve agreement between the peers on a single data value. As for the blockchain, implementations let’s take Bitcoin and Ethereum as examples where both use Proof-of-Work algorithm to ensure security in the trustless network. The basic principle of Proof-of-Work consensus mechanism is to validate that the required work effort is represented in the block submitted by a peer. In simple terms, peers use their computing power to solve transaction related puzzle and submit the result for validation to the network.
What are the most common uses of Blockchain?
As it was said, blockchain can be compared to a database, so it can be integrated into numerous areas. The most common use of the blockchain today is a distributed ledger for cryptocurrencies with most notable Bitcoin.
The two most popular blockchain networks Bitcoin and Ethereum are both blockchain implementations but with a different purpose. Currently, we have approximately 1600 different cryptocurrencies including tokens.
Smart contracts are nothing else than computer programs executed on the blockchain. The main aim of Smart Contracts is to partially or fully executed without human intervention.
Since its inception blockchain attracted the attention of various financial institutions including banks, insurance companies hedge funds, etc. Quorum is a good example of blockchain implementation by JP Morgan Chase focused on smart contract execution and storage.