From the Blogosphere
Blockchain: Byzantine Generals and Achieving Consensus | @CloudExpo #Cloud #FinTech #Blockchain
One interesting feature about blockchain technology is that there’s no central authority or single source of the ledger
By: Ed Featherston
Mar. 31, 2017 02:00 PM
When discussing disruptive technologies, the topic of blockchain inevitably enters the conversation. Gartner recently listed blockchain as one of the ‘Key platform-enabling technologies to track.' Approximately $1.4B has been invested in blockchain just this year, according to PwC executive Seamus Cushley. IBM announced this week a Blockchain-as-a-Service Enterprise offering at their Interconnect Conference. While there is a lot of ‘hype vs reality' discussions going on, there is no arguing that blockchain is being taken very seriously across industries and cannot be ignored.
In simple terms, blockchain is a digital ledger. You can think of it as a spreadsheet. The blockchain ledger comprises a constantly growing list of transactions called "blocks" - all of which are sequentially connected. Each block has a link to the previous one in the list. Once a block is in the chain it can't be removed, so it becomes part of a permanent database containing all the transactions that have occurred since its inception.
One of the more interesting features about blockchain technology is that there's no central authority or single source of the ledger. Which means it exists on every node that's associated with it. Yes, every node has its own complete copy of the blockchain. As new blocks are added, they're also received by every node that participates. For this to work, it requires distributed consensus and trust to ensure the integrity of the system. Achieving this consensus is one of the challenges and complexities in such a distributed system.
The Byzantine Generals Problem
As with any challenge, there is always more than one way to address that challenge. I frequently describe my perspective as ‘There is no perfect solution, everything is a tradeoff.' What tradeoffs you are willing to accept determine the appropriate solution for your needs'. There are many techniques that have been developed in the blockchain space to address the consensus challenge, each with their own set of tradeoffs. Three popular ones are:
Proof of Work
This has proven to be a very successful technique for gaining consensus and trust in a blockchain ecosystem. The tradeoff is processing time. Solving the puzzle can take up to 10 minutes, obviously having a direct impact on throughput. The time window can be reduced by reducing the complexity of the puzzle. The tradeoff then becomes the risk that it is easier to insert/produce invalid transactions to the chain.
Proof of Stake
This solution has become more attractive than proof of work, as it doesn't suffer from the latency issues of proof of work. As everything is a tradeoff, the risk with proof of stake is referred to as the ‘nothing at stake' scenario. This is the fact there is nothing to lose by voting for multiple blockchain histories, creating a problem with reaching consensus. Several alternatives to address this situation exist, including ‘punishment' for bad behavior, as well as reconciliation problems. The other risk, as previously mentioned, is large stakeholders dominating the blockchain.
Byzantine Fault Tolerance
There are two key tradeoffs with this solution. First, it requires all participants to agree on who belongs in the blockchain. Additionally some method of confirming membership, some level of central authority or agreement is needed, which tends to bounce up against the philosophy of blockchain.
We have miles to go and promises to keep
I count having blockchain in our toolbox as a net positive, and look forward to how this tool can help us provide value back to the business.
Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
SYS-CON Featured Whitepapers
Most Read This Week