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

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 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 AJAXWorld RIA Stories
CloudEXPO | DevOpsSUMMIT | DXWorldEXPO Silicon Valley 2019 will cover all of these tools, with the most comprehensive program and with 222 rockstar speakers throughout our industry presenting 22 Keynotes and General Sessions, 250 Breakout Sessions along 10 Tracks, as well as our ...
Your job is mostly boring. Many of the IT operations tasks you perform on a day-to-day basis are repetitive and dull. Utilizing automation can improve your work life, automating away the drudgery and embracing the passion for technology that got you started in the first place. In...
Technological progress can be expressed as layers of abstraction - higher layers are built on top of lower layers treating them as abstract black boxes with known interfaces. A serverless approach represents an inflection point that entirely separates the runtime layer from the u...
Whenever a new technology hits the high points of hype, everyone starts talking about it like it will solve all their business problems. Blockchain is one of those technologies. According to Gartner's latest report on the hype cycle of emerging technologies, blockchain has just ...
Big Switch's mission is to disrupt the status quo of networking with order of magnitude improvements in network e ciency, intelligence and agility by delivering Next-Generation Data Center Networking. We enable data center transformation and accelerate business velocity by delive...
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
Most Read This Week
ADS BY GOOGLE