Applying Blockchain to Applications
Say the word blockchain and people immediately think of cryptocurrency. Although that’s been the most publicized application of the technology, blockchain debuted nearly two decades before. Originally, blockchain was a way to prevent people from tampering with the timestamps of documents.
Since then, it’s been widely accepted that blockchain is fundamentally a coordination mechanism. And that’s a big deal.
In Tom Scanlan’s emerging trends session at VMworld 2019, he used a very practical blockchain example, one that impacts consumers worldwide. And that’s the safety of our food supply.
Applying Blockchain to Applications: A Food Safety Example
What do we do when tainted food gets into the supply chain? Traditionally, once an incident is detected, a series of steps happens:
- Filling out paperwork.
- Updating databases.
- Notifying stores, government agencies and the media.
- Alerting consumers.
A simplified view of the full manual process looks something like this:
Yet, what happens if the trusted database is corrupted or attacked? What prevents the initial report from being missed?
The answer, says Scanlan, is nothing. The very fact that everyone is working on and trusting a single, centralized database creates challenges, particularly when issues need to be reconciled.
Today’s manual systems only work because people make them work. Blockchain improves processes by distributing the trust.
Tom Scanlan, VMware
A Not-So-Modest Proposal
In a blockchain, there’s distribution of trust. No central authority controls the database. Everyone involved collaborates on the chain and interacts with the data in their own way. Changing existing data is very difficult. New data is added only when enough participating members agree that the new data is acceptable. This is the concept of consensus, and it happens as part of the blockchain algorithms. Concensus enables everyone to collaborate together on precise replicas of the same data.
Applying blockchain to food safety would improve transparency. Because all collaborators can see a copy of the data and everyone collaborates on the data, all involved can also act in parallel.
In the case of a recall, as soon as the farmer reports an incident, the government and media would receive the notification at the same time. The reason being that immutable, replicated data that many parties agree on ensures a process worthy of trust.
Contrary to what people may think, involving more people in the blockchain improves trust.
Tom Scanlan, VMware
Blockchain’s Adoption Path
Because projects often stall between pilot—the consortium formation phase when a union of people who want a better solution is building—and the production phase, it’s important to have the right implementation platform.
Scanlan says VMware now offers a high-level application architecture and code for incident management on github that is architected like this:
It’s unique in how it works, for example:
- Organization A creates a smart contract that is executable code in the blockchain. This enables a log of the food safety incident as a new record on the blockchain. They also create a Web Reporting Service that calls the smart contract.
- Anyone with access to the web reporting service (they don’t need to be a consortium member but can be one) can now log an incident via the web UI and backing smart contract. This results in a record appended to the blockchain as part of coming to consensus.
- Any and all other organizations can immediately see the incident via the Web Response Service, which is looking at the blockchain data.
- So, any person can report a food safety incident, and all organization members and the public can see that report in real time and any activities related to that incident.
As part of the blockchain, the smart contracts (typically written in Solidity) are executable and live in the blockchain. Additionally, data is created in the blockchain. In this case, the data is incident logs and addresses of reporters, messages and timestamps. This public list of actions and functions improve incident reporting.
Without getting into the technical details, the app lives off the blockchain and the smart contracts live on the blockchain along with the data or state of the application.
In VMware’s approach, the consensus offers significant benefits:
- Using a scalable byzantine fault tolerant (SBFT) algorithm for consensus improves transactions per second of blockchain applications.
- The blockchain is modular and flexible with the consensus algorithm and execution engine being configurable.
- The burden of trust is spread to more than a single organization.
- Through consensus algorithms, everyone can look for malicious activity.
Visit the OCTO blog to learn more about what VMware is doing with blockchain and other emerging technologies.