Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Expo on Google News
SYS-CON.TV
Cloud Expo & Virtualization 2009 East
PLATINUM SPONSORS:
IBM
Smarter Business Solutions Through Dynamic Infrastructure
IBM
Smarter Insights: How the CIO Becomes a Hero Again
Microsoft
Windows Azure
GOLD SPONSORS:
Appsense
Why VDI?
CA
Maximizing the Business Value of Virtualization in Enterprise and Cloud Computing Environments
ExactTarget
Messaging in the Cloud - Email, SMS and Voice
Freedom OSS
Stairway to the Cloud
Sun
Sun's Incubation Platform: Helping Startups Serve the Enterprise
POWER PANELS:
Cloud Computing & Enterprise IT: Cost & Operational Benefits
How and Why is a Flexible IT Infrastructure the Key To the Future?
Click For 2008 West
Event Webcasts
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

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
The consensus challenge is frequently described by a logic problem referred to as The Byzantine Generals Problem. Imagine a group of generals, encircling a city with their armies. They want to coordinate an attack. Their only method of communication is through messengers. Now, add into this mix that some of the generals may be traitors with their own agenda. Those traitors may intercept or modify the messages being sent in the hope of causing the attack to fail. How do the generals know they are receiving information? Solving that conundrum is a frequent challenge in distributed systems. How to ensure the orders are valid and trusted.

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
  • Proof of Stake
  • Byzantine Fault Tolerance

Proof of Work
Proof of Work is the one most people are familiar with, as it is at the core of the biggest use of a blockchain ecosystem today, bitcoin. The basic concept is providing a mechanism that requires effort to add a block, but minimal effort to validate that work was done. In this consensus solution there are ‘miners.' Miners look for the next proposed block to add to the chain. To add the block, the miners are challenged with a mathematical problem to solve. Solving this puzzle requires significant resources, including time, computing power and electricity. Once a miner solves the puzzle, they can add the next block to the chain, with the appropriate hashing information for other participants to easily validate the work was done and that the block belongs. The miner is rewarded for their effort, which is the incentive to expend their resources. In the bitcoin world, they are rewarded with bitcoin, for example.

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
In Proof of Stake solutions, mining is done by participants who have a stake in the blockchain ecosystem they belong to. This is unlike proof of work, where the miners can be anyone. Who can insert the next block is done based on a cost associated with the block, the total value(stake) the participant has in the ecosystem, and usually some pseudo-random selection process to avoid risk of only the largest stakeholders having control of block insertions. There are still hashing techniques involved, like proof of work, but not at the resource consuming levels of that solution. This technique is used by the Ethereum blockchain ecosystem.

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
Byzantine Fault Tolerance takes a different perspective. All participants in the blockchain ecosystem are known and each possesses a public key. As a block passes through their node, it is validated, and the message is signed with that public key. Once a predefined number of participants sign the block, it is considered valid and added to the chain. This is the technique used by the Hyperledger blockchain solution that is the underpinning of IBM's solution. This has significant benefits. Unlike proof of work, large amounts of resources are not required to participate. Additionally, it is a much more ‘democratized' solution, as the largest stakeholders don't have any unfair leverage such as can occur in proof of stake solutions.

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
As with any technology, blockchain is a tool, not a destination. Ultimately, as technologists, our job is to help the business achieve its goals - and reach its destination - by leveraging tools that provide business value. The potential use case scenarios cross multiple industries, from changing the way financial transactions are conducted, into healthcare and the maintaining of Electronic Health Records, over into supply chain as well as the explosively growing Internet of Things.

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.

About Ed Featherston
Ed Featherston is VP, Principal Architect at Cloud Technology Partners. He brings 35 years of technology experience in designing, building, and implementing large complex solutions. He has significant expertise in systems integration, Internet/intranet, and cloud technologies. He has delivered projects in various industries, including financial services, pharmacy, government and retail.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

Latest Cloud Developer Stories
SYS-CON Events announced today that Silicon India has been named “Media Sponsor” of SYS-CON's 21st International Cloud Expo, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Published in Silicon Valley, Silicon India magazin...
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high deman...
In this presentation, you will learn first hand what works and what doesn't while architecting and deploying OpenStack. Some of the topics will include:- best practices for creating repeatable deployments of OpenStack- multi-site considerations- how to customize OpenStack to inte...
SYS-CON Events announced today that CrowdReviews.com has been named “Media Sponsor” of SYS-CON's 22nd International Cloud Expo, which will take place on June 5–7, 2018, at the Javits Center in New York City, NY. CrowdReviews.com is a transparent online platform for determining ...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively br...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021



SYS-CON Featured Whitepapers
ADS BY GOOGLE