Today I'll continue a review of the Linux Foundation's first Hyperledger blockchain class on edX, "Blockchain for Business - An Introduction to Hyperledger Technologies." Today's post will focus on how participants in a blockchain transaction agree on the data that goes to the blockchain. This process is called consensus.
Normally, when two people achieve or come to a consensus it means that after some discussion all parties have come to an agreement. In terms of the blockchain, consensus means "achieving agreement among the network participants as to the correct state of data on the system." This "leads to all nodes sharing the exact same data."
If there is no consensus then not only can the participants in a blockchain not agree on what data to commit to the blockchain, but they cannot distribute their information away from a centralized location. Achieving consensus quickly, flawlessly, cheaply, and consistently is essential to the future of the blockchain.
That being said, there are different ways to achieve consensus. Specifically, there are different consensus algorithms. "A consensus algorithm...does two things: it ensures that the data on the ledger is the same for all the nodes in the network, and, in turn, prevents malicious actors from manipulating the data."
In more layman's terms, consensus serves to help two or more parties that don't trust each other to do so. How do consensus algorithms do this? They do it in different ways, but in general they try to build trust between parties by establishing trust in how the data between them is handled and committed to the blockchain. If the data and how it is recorded cannot be gamed by either party or any malicious actors then the transaction parties should trust the process, each other, and the results.
Trustworthy consensus is, after all, one of the main reasons the blockchain exists. How often have you put a check in the mail for it to be stolen? Or for one party in a transaction to change the rules? These are the kinds of problems that blockchains and consensus tries to solve.
In the following posts I'll go into the different consensus algorithms, their pros and cons.
Normally, when two people achieve or come to a consensus it means that after some discussion all parties have come to an agreement. In terms of the blockchain, consensus means "achieving agreement among the network participants as to the correct state of data on the system." This "leads to all nodes sharing the exact same data."
If there is no consensus then not only can the participants in a blockchain not agree on what data to commit to the blockchain, but they cannot distribute their information away from a centralized location. Achieving consensus quickly, flawlessly, cheaply, and consistently is essential to the future of the blockchain.
That being said, there are different ways to achieve consensus. Specifically, there are different consensus algorithms. "A consensus algorithm...does two things: it ensures that the data on the ledger is the same for all the nodes in the network, and, in turn, prevents malicious actors from manipulating the data."
In more layman's terms, consensus serves to help two or more parties that don't trust each other to do so. How do consensus algorithms do this? They do it in different ways, but in general they try to build trust between parties by establishing trust in how the data between them is handled and committed to the blockchain. If the data and how it is recorded cannot be gamed by either party or any malicious actors then the transaction parties should trust the process, each other, and the results.
Trustworthy consensus is, after all, one of the main reasons the blockchain exists. How often have you put a check in the mail for it to be stolen? Or for one party in a transaction to change the rules? These are the kinds of problems that blockchains and consensus tries to solve.
In the following posts I'll go into the different consensus algorithms, their pros and cons.
Comments
Post a Comment