Blockchain Consensus Protocols
Consensus protocols are one of the most important and revolutionary aspects of blockchain technology.
These protocols create an irrefutable system of agreement between various devices across a distributed network, whilst preventing exploitation of the system. Here we will explore how these systems work and how various protocols differ from one another.
Blockchain consensus protocols are what keep all the nodes on a network synchronized with each other, while providing an answer to the question: how do we all make sure that we agree on what the truth is?
After all, anyone can submit information to be stored onto a blockchain and therefore it is important that there is review and confirmation, in the form of a consensus about whether to add that information.
What is a protocol?
A set of rules describing how the communication and transmitting of data between electronic devices, such as nodes, should work. These rules need to be defined before any data is sent, detailing how the information will be structured and how each device will send or receive it.
As a term, ‘consensus’ means that the nodes on the network agree on the same state of a blockchain, in a sense making it a self-auditing ecosystem. This is an absolutely crucial aspect of the technology, carrying out two key functions. Firstly, consensus protocols allow a blockchain to be updated, while ensuring that every block in the chain is true as well as keeping participants incentivized. Secondly, it prevents any single entity from controlling or derailing the whole blockchain system. The aim of consensus rules is to guarantee a single chain is used and followed.
Consensus Protocol Rules
Consensus rules are a specific set of rules that nodes on the network will ensure a block follows when validating that block and the transactions within it. The key requirement to achieve a consensus is a unanimous acceptance between nodes on the network for a single data value, even in the event of some of the nodes failing or being unreliable in any way.
Every cryptocurrency must have a way of securing its blockchain against attacks. For example, an attacker may attempt to spend some money and then reverse the transaction by broadcasting their own version of that blockchain, not including the transaction. This is known as a double spend. As blockchain technology does not rely on a central authority for security, users have no prior knowledge which version of the record is valid.
Consensus protocols also provide participants on the network who are maintaining a blockchain with rewards and incentives to continue doing so. These rewards come in the form of cryptocurrencies or tokens, which can be extremely lucrative, so much so that competition to confirm the next block in a chain is extremely fierce.
Instead of storing balances, digital currencies maintain a complete history of users’ transactions, which can be used to work out each users’ balance at any point in time, as well as the state of a blockchain as a whole. The system state is of unspent transaction outputs (UTXOs) with each output locked requiring the user to provide proof of ownership to spend a UTXO.
Consensus protocols are designed to be difficult to imitate or replicate by being extremely costly to carry out, in terms of time, the computing resources required or the holdings of a particular cryptocurrency. The methods of consensus vary depending on the blockchain within which they are validating the blocks and there exist a variety of forms of consensus, with a consistent ongoing debate as to what is the most effective and efficient method.
Consensus protocols are a key aspect in allowing a blockchain to function and exist. After all, as at its core a blockchain is a ledger of information it is paramount that there is absolute certainty that the information that is being stored is honest and accurate.
What is Byzantine Fault Tolerance?
Achieving Byzantine Fault Tolerance is one of the most difficult challenges addressed by blockchain technology. Byzantine Fault Tolerance means that two nodes can communicate safely across a network, knowing that they are displaying the same data. In this part of the Lisk Academy we will examine why this is so challenging, yet important, and how it is achieved.