Are you curious about the underlying logic of blockchain and wondering how blockchain technology will fit in everyone’s lives in 10 years? Do you ever wonder how a software engineer like yourself can participate in this revolutionary technology? In this article, I share the vision that I have developed working as a software engineer in the blockchain industry. I also discuss what you can expect and what to do to embrace this innovative technology.
The Underlying Logic
The easiest way to understand blockchain is to split the word into two parts: block and chain. The block represents the data, whereas the chain represents the links between the data. Blockchain, in short, means a linked list of data.
A fun fact about blockchain—although Bitcoin is the first known blockchain in the world, the word blockchain does not appear in the Bitcoin whitepaper 😁.
When we observe the technology at a granular level, we can see that the types of data and the types of links can vary greatly. These differences help divide blockchain into two major categories: the public blockchain and the private blockchain.
In a public blockchain, such as the Bitcoin network, the data block is a bulk of different data. A link is formed when a new block stores the cryptographic hash of the previous block in the blockchain. In a private blockchain, such as R3’s Corda Network, the data is a single piece of data by itself, and the links are the transactions that update the data as it evolves. Both types of blockchain share the same underlying structure, but the functions of the components vary greatly.
As the public blockchain functions by storing data in bulk, each block can serve multiple data storage requests at once. The links in the Bitcoin blockchain are pure algorithmic linkage between the data blocks, serving no other meaning. On the private blockchain side, the data serves a single data storage request, which provides higher security and privacy. The links between Corda blocks are the transactions that update the data. In short, the private blockchain stores the evolving history of a specific piece of data. From the transaction chain, or history of transactions, you can see how and what the original piece of data has evolved into.
Because of their data structures, both types of blockchain provide the ability to trace the origin of a data chain, and the algorithmic linkage assures the immutability/integrity of the data. We can conclude that blockchain is a technology that provides traceability and data immutabilities.
If you’re reading, learning, or talking about blockchain, you will frequently come across the term smart contract. To understand smart contracts, think about the phrase "smart phones". The word "smart" implies that a phone can perform more tasks digitally. It’s the same for smart contracts—in the world of blockchain, contract rules are written in code that can be executed digitally and automatically. As a software engineer you may be asking yourself, "Isn’t all software a digital representation of rules/policy that perform tasks? What makes this blockchain + smart contract combination significant?" The answer is that, in the past, we could not find a way to assure the integrity of the data. This meant that the automatic contract execution was not as powerful or valuable. Now, with traceable and immutable data integrity, automatic contract execution provides a powerful way to store data securely.
The Future Ahead
Now you know that blockchain is all about strong data integrity and automatic contract execution. So, what are the benefits? This leads us to the world’s modern data sharing infrastructure: the internet.
In the past 20 years, the internet has become a normal part of our everyday lives, providing global connectivity and convenience in all directions. However, in recent years, as internet infrastructures become more complex, there is increased friction when it comes to getting connected and sharing data. This friction is both positive and negative: on the positive side, companies are storing people’s data to preserve security and privacy. On the negative side, companies are intentionally preventing the sharing of data to other companies for their own profit.
Most end users of the internet, like you and I, are unaware of this friction because most of this resistance currently occurs among enterprises. However, we will eventually see the side effects of this friction.
Have you ever wondered why it only takes a second to purchase insurance, but takes a few days to file a claim when you get rear-ended, and weeks before you get the reimbursement check? The reason for this lengthy process is that a lot of data is generated when you file a claim. Then all that data needs to be processed. And as noted earlier, this process has become quite cumbersome due to the complexity of IT infrastructures.
Returning to what blockchain/distributed ledger technology (DLT) can offer, this technology can relieve some of the complexity of IT infrastructures through its automatic execution and assured data integrity. It offers us a method and an environment to own and share data in a trusted, traceable manner.
Data is like a car that travels on the open roads. Before cities had traffic systems, you could drive a car anywhere you wanted, which was quite convenient. However, as more people got cars over time, we learned about the inconvenience of traffic jams. So, then we introduced traffic laws. These helped drivers by providing guidance and instructions on how cars must move in cities. Then, as the number of cars continued to grow, we eventually had to adopt traffic lights and city-wide traffic light systems, developed by civil engineers who wrote algorithms to optimize traffic. Blockchain is the automatic system that allows engineers like you and I to better manage data in the future.
Blockchain Can Work in Every Industry
Let’s look at a simple health care use case on a private blockchain. In this scenario, patient records are the data blocks, and the transactions that update the data blocks are the chains. This means that all patient information and any updates made to the patient information are recorded in the data block. For example, the data block stores prescription information and the procedures performed on the patient.
All the data on the data block is immutable and traceable. If the data block is shared with a designated party, this transaction is also traceable. Transferring a patient’s medical records from one hospital to another hospital is easy and secure using blockchain.
Additionally, since all the data blocks are immutable, the patient’s records can be used automatically as the input of future interactions. Think back to when we discussed filing insurance claims. The information in the patient’s record, such as medications or the procedures, could automatically trigger insurance claims. The patient no longer needs to collect all their bills and determine which items might be covered by their insurance policy. This process is automated, and the insurance company can be assured of the integrity of the data they are given.
Conclusion
Blockchain/DLT is all about data integrity, traceability, and automatic execution. It creates an environment where data is trusted and transferring of data can be automated. It provides an alternative for data trapped in over-complicated IT infrastructures, and thereby reduces the operational costs of processing data. I hope my article can provide some inspiration for a data problem you want to tackle. Feel free to reach out to me at peter.li@r3.com to discuss your revolutionary ideas!
Join our developer community at http://developer.r3.com/ and check out our forum at http://community.r3.com/
Visit R3 site at https://r3.com/