Blockchain – The Potential

The Beginning

In 2008, on Halloween, someone with the name “Satoshi Nakamoto” published a whitepaper with the name “Bitcoin: A Peer-to-Peer Electronic Cash System” (No one still knows who is Satoshi Nakamoto till date, whether an individual, an organization or a country). It proposed a vague idea of peer-to-peer electronic cash transfer that doesn’t involve any “Trusted Agency” in between. It was against the idea of a well-established principle that a financial institution (trusted agency) is essential as a third party for any transaction between two parties. It suddenly generated an interest among developer communities. Within the next ten years, it has already seen three fundamental evolution phases of any groundbreaking idea – Bang, Bust and Build.

What is it at its core?

The foundation of Blockchain is, “Trust without any intermediaries”. The moment one realizes it, one can see the potential it has to fill the missing trust coefficient in almost every domain. After all, how do you trust that third parties that you trust with your data are treating it the way they claim. It in itself is a very strong idea that any transaction that happened on data cannot be manipulated.

The Traction

The original idea of blockchain was of peer-to-peer money transaction but people are realizing its far bigger potential now. It has generated so much interest among organizations that the same financial institutions that are being challenged by blockchain (It started as a digital currency without the need of these institutions/governance bodies) are among major players to hold Blockchain Patents.

Missing Trust

In almost all types of business, people put faith in institutions for keeping their data away from prying eyes but it is just an assumption and there is no way to ascertain it. Trust with digital data is among the biggest challenges of this century. In the recent past, there have been several cases where this trust was breached, either deliberately or because of lack of tools to prevent it. Clearly, the foundation of trust is flawed and digital businesses are constantly looking for a way to help them overcome these issues including but not limited to counterfeiting, digital surveillance, and identity theft. Blockchain has potential to significantly reduce these leakages and reinstate the trust.

Emerging Technologies

Emerging technologies like IoT, AI or Cloud have further increased the trust gap. We do not know what all data is transmitted by Siri or Alexa to servers and then what AI does with that. It is our assumptions that amazon never snoops into AWS data or AI at google does not use personal data for any manipulation or one’s Tesla is not eavesdropping. There are regulations and compliances, but can it really be established? Even auditing is worthless as they validate the processes and current state, and are helpless to determine what happened behind the scene. Blockchain can accelerate adoption of these technologies by providing this missing element of trust.

Blockchain and Artificial Intelligence

AI is shaping the world and we are still at the early stage of AI (Weak AI). No wonder, every business wants a pie of it, however it brings its own challenges. The first challenge posed by AI is its integrity towards use of an individual’s private data. In 2016, at an art exhibition, people gasped after finding a painting of a Dutch painter, ‘Rembrandt’. Rembrandt was a great Dutch painter of the seventeenth century and none of the audience present in the exhibition had ever seen this painting, nevertheless they were sure that it is a painting by Rembrandt. This was a painting that Rembrandt could never start but after three hundred years, technology (AI) produced it flawlessly. AI produced it by examining all the paintings of Rembrandt. It raises the question of what AI can do with your personal data at its stake if it just decides to breach the boundaries. It can predict your next password or generate a biological identity. A blockchain ledger can be used to license an individual’s data to AI providers under agreed terms.  Trusted AI models is another challenge. How do we know that AI training models are not manipulated to have a desired output or what all variables were considered during training. With blockchain we can track all this and prove that the training model was not influenced in any manner for wrongdoing. Similarly, another challenge with AI is “Explanation of Decisions”. AI is used for decision making by playing with massive data and in multidimensional. But still, it should be verifiable by humans. If blockchain is adopted in this process, every data point and decision making will be stored as blocks in blockchain which will make it verifiable. These were few among many issues within AI technology that can be solved using Blockchain.

Blockchain and Internet of Things

We are living in a connected world which is smart. This smartness comes from the fact that numerous devices around us feed data to the server where it is processed. But the basic question remains the same, how do we ascertain the authenticity of the source? How do we know that a truck sending its movement data is actually moving on a defined path and the sensors are not tricked? Blockchain can help in building this trust. An IoT device can integrate with blockchain at the time of manufacturing that ensures that everything can be verified at any time. Smart contracts are the business logic of blockchain networks. If these smart contracts are embedded natively in IoT devices, any proposed transaction results in execution of these smart contracts. It makes it appealing as these can be trusted now.

Conclusion

Blockchain is still emerging but it has already shown its potential beyond cryptocurrency. In fact, it has already been adopted and researchers are working hard to overcome its limitations and make it more useful in everyday business. Clearly, there is a long way to go but whatever we have till now is already very exciting.

References:

Whitepaper – Bitcoin

Titans of Technology: Blockchain

The Next Rembrandth

Infrastructure | A First Class Citizen

Modern applications are generally distributed in nature, e.g. in last 4-5 years, all the solutions that I architected were Microservices based. Distributed applications have a different philosophy, many architecture characteristics or concerns that were afterthoughts in traditional applications, are now mainstream. Infrastructure is one such concern that should concern an architect, a developer or product owner at a very initial phase. Infrastructure is actually a First Class Citizen.

Infrastructure needs in a traditional software systems are usually static in nature. I seldom saw anyone paying too much attention to it and it is mostly left to IT engineers. Architects and developers are only concern to define infrastructure specifications e.g. RAM or CPU and that too at a later stage. These infrastructure requirements has almost no effect on how application is crafted or developed. The most obvious consideration during development is limited to when system is stateful and behind a load balancer or it needs to keep a flag (e.g. in case of scheduler).

Things changes dramatically in distributed application, especially in microservices. These systems are dynamic, e.g. one of the basic ingredient of microservices is elasticity which means network addresses of resources will change frequently. Traditional methods of defining a static list of IPs will not work anymore and some new patterns are needed (Service Discovery). Similarly, observability is another concern that is not so obvious in these systems. There is no single log file, rather sophisticated infrastructure needed for logs aggregation, or tracing is not straight forward but distributed in nature and require another framework.

All of these concerns needs to weaved in the application development itself and in fact needs attention at solution phase. Infrastructure platforms, tools and framework influence development greatly. Clearly, Infrastructure is a primary factor of architecture and development.