Blockchain is a digital record of transactions. The name comes from its structure, in which individual records, called blocks, are linked together in single list, called a chain.
The term blockchain was first used in 1991. A research team created a tool for digitally timestamping documents so that the data could not be altered.
Before we can understand the further complexities of blockchain or bitcoin, we must first understand how databases work. A database is a collection of information stored in a computer. Data in databases are often stored and used in table format which allows for easy search and filtering. In a similar sense, spreadsheets are designed to handle limited amounts of information in a more "visual" environment. A database is designed to store a larger amount of data, which can be accessed and manipulated by many people at once.
Utilizing large databases requires that data be stored on computers that are powerful enough to handle the ever increasing scale of information. By linking multiple computers together, we can have the computational power and storage capacity necessary for many users to access the database simultaneously.
The primary difference between a database and a blockchain is the way the data is structured in the database. A blockchain records information into groups, or blocks. Blocks have certain storage capacities, and when filled, are chained onto the previously filled block. Essentially this is creating a chain of ever increasing blocks.
A database structures its data in tables, whereas a blockchain chains together data blocks. This would allow every blockchain to be a database, but would not allow every database to be a blockchain. Due to its decentralized nature, this system inherently makes an irreversible timeline. Once a block is filled, it is set in stone, making it part of the timeline that can never be changed. Each block of the chain is dated and time stamped with an exact time.
This storage capability allows for increased security as a real time ledger is always kept and maintained on the blockchain. Consensus is the process by which that transaction gets added to the blockchain.
In formal terms, consensus is how a series of independent voters come to an agreement on a particular decision, ensuring that the network has a synchronized view on the data. Without consensus there is no way to ensure that the state that is believed by one participant is shared by the rest of the participants.
A centralized system, like a database holding all driver's licenses in a country, is maintained and updated by a central administrator. The task of updating names of people who have qualified for licenses is performed by a central authority who remains the only authority on the record. A blockchain system, on the other hand, needs to operate without any single authority on a global scale.
In such a dynamically changing status of the blockchain, these publicly shared ledgers need an efficient, fair, real-time, functional, reliable, and secure mechanism to ensure that all the transactions occurring on the network are genuine and all participants agree on a consensus on the status of the ledger.
There are different types of consensus algorithm, each with their own set of advantages and disadvantages.
Proof of Work (POW) is a consensus algorithm used by cryptocurrencies like Bitcoin and Litecoin. It is up to the "miner" to prove that the work they have done and submitted satisfies the requirements to add new transactions to the blockchain. This process is known as mining. Yet still, this consensus mechanism requires high energy consumption and outdated processing time.
The Proof of Stake (POS) algorithm is an alternative consensus algorithm with low-energy consumption, and low-cost compared to POW. The process involves the distribution of the maintenance of the public ledger to a participant node in proportion to the total amount of virtual currency held by that node. Those participating in this process are known as validators. Instead of mining new blocks to add to the chain, the validators "mint/forge" blocks to be added.
Proof of Capacity (POC) consensus algorithm allows sharing of block space of the contributing nodes on the blockchain. The amount of memory and hard disk space a node has grants it more rights to secure the Bitcoin network.
The application of blockchain as a technology is further expanded through the use of smart contracts.
A smart contract is a computer code that can be integrated into a blockchain to create, verify, or negotiate a contract agreement. Smart contracts operate under the terms specified by their users. When all criteria for the agreement are met, the commitment is irrevocably carried out.
One example of how a smart contract could be executed is in the stock market. With transaction executed on the stock market, there are numerous handoffs between multiple players that often go unseen. We don't think twice about the buyer's broker, seller's broker, the clearinghouse, or the transfer agent when making a purchase order. Smart contracts aim at solving the complex handoffs to multiple parties by ensuring the block only gets added to the chain if the specified criteria is met.
Smart contracts can take over the onerous administrative task of managing approvals between participants, calculating trade settlement amounts and then transferring the funds automatically once the transaction embedded within the smart contract has been verified and approved.
To summarize, we've covered that blockchain is a technology used for record keeping. It differs from a database because it uses a unique storage system of adding blocks onto a chain. Those blocks are added when a smart contract is executed and consensus is reached. In the next section we will discuss what is actually getting added to the blockchain.