A block chain or blockchain is a distributed database that maintains a continuously-growing list of transaction records hardened against tampering and revision. It consists of data structure blocks—which hold exclusively data in initial blockchain implementations,and both data and programs in some of the more recent implementations—with each block holding batches of individual transactions and the results of any blockchain executables. Each block contains a timestamp and information linking it to a previous block.
The blockchain concept represents a paradigm shift in how software engineers will write software applications in the future, and it is one of the key concepts behind the Bitcoin revolution that needs to be well understood. In this post, I’d like to explain 5 of these concepts, and how they interrelate to one another in the context of this new computing paradigm that is unravelling in front of us. They are: the blockchain, decentralized consensus, trusted computing, smart contracts and proof of work / stake. This computing paradigm is important, because it is a catalyst for the creation of decentralized applications, a next-step evolution from distributed computing architectural constructs.
These concepts are computer engineering related. They are technical in nature, but they will have business implications, because they are capturing the imagination of developers and business visionaries who are rushing to create a new generation of applications.
Ethereum is a decentralized platform that runs smart contracts: applications that run exactly as programmed without any possibility of downtime, censorship, fraud or third party interference.
These apps run on a custom built blockchain, an enormously powerful shared global infrastructure that can move value around and represent the ownership of property. This enables developers to create markets, store registries of debts or promises, move funds in accordance with instructions given long in the past (like a will or a futures contract) and many other things that have not been invented yet, all without a middle man or counterparty risk.
IBM has open sourced a significant chunk of the blockchain code it has been working on, putting its weight behind the Linux Foundation and its Hyperledger project.
Key elements in the code dump are a “consensus algorithm” which is vital for proper functioning of a decentralized system, and a contract template that helps people code agreements into the system in Java.