Blockchain has the potential to do many things, but to achieve these things you need programmability. Programmability is what makes blockchain truly transformational.
Understanding the distinction between programmable and non-programmable blockchains is crucial to understanding their value and business potential. In my precious article I described blockchain’s potential. To get the benefits that I described, you need a programmable blockchain, meaning that a programmer can actually write a program in a high level language that expresses the terms of a smart contract that is being carried out on the blockchain. Programming is a necessary component to realizing the full potential of blockchain.
Blockchain is a history of transactions, stored sequentially, that people can see and contribute to. Although everyone can contribute to the blockchain, nobody can go backwards and change what’s already on the blockchain. It’s immutable. One of the reasons for using math in blockchain is to ensure – with absolute certainty – that the blockchain can not be modified once it’s been established. Once something’s been confirmed on the blockchain it can not be erased.
This is why blockchain is suitable for financial transactions. One example is money transfers. Once the transaction has been made, everyone agrees that the transaction occurred on this date, with this block number, and that the account balances have been adjusted. Once this is confirmed on blockchain it can not be changed or modified – by anyone.
Smart contracts are self-executing contracts with the terms of the agreement between the parties directly written into lines of code.
For non-programmable blockchain, there are only a few types of transactions that can be written to the blockchain. With full programmability, there are many many types of transactions that can be written to the blockchain. In fact – it’s completely up to the user. Users can make their own types of transactions that correspond to programs. These programs are called smart contracts. Smart contacts are the software programs that run on a programmable blockchain. These programs enable complex deals, ensuring that person A paid the money, person B did her part, person C did her part and everyone agrees. It’s this level of flexibility that gives programmable blockchain its power, and that enables us to realize the biggest benefits.
The Value of Programmability
Programmable blockchains are potentially much more useful than non-programmable blockchains. Examples of programmable blockchains include Ethereum, Cardano, Tron, and NEO, with Ethereum being the most successful to date. Non-programmable blockchains include Bitcoin, Litecoin, Monero, Dash, and many others. Ethereum is the #1 programmable blockchain, and most new projects that rely on smart contract technology are currently launched on Ethereum.
Smart contracts will let us reengineer and streamline business practices that have been around for centuries. Many types of transactions will become much more efficient, and in some cases will go from being impossible to easy.
Ethereum is fully programmable and has its own programming language called Solidity. A programmable blockchain is essentially a global computer where the results of every computation can be seen by anyone. Blockchain has the potential to do many things, but to achieve these things you need programmability. This shift is enabled by Ethereum and other programmable blockchains. With programmable blockchain, we can create smart contracts that enable peer to peer business transactions. Smart contracts will let us reengineer and streamline business practices that have been around for centuries. Many types of transactions will become much more efficient, and in some cases will go from being impossible to easy. Many businesses in the future will be conducted directly peer to peer via smart contracts.
What’s new and *incredible* is that these applications can go beyond simply recording events that occurred in the past to actually transacting business in *real time* as dictated by the terms of the smart contracts.
Blockchain has evolved from a payment system using Bitcoin to a decentralized computer using Ethereum. With Ethereum, you can create smart contracts. Smart contracts allow for the creation of any number of automatically governed structures that can be used to transact business. Some interesting areas are financial transactions, business contracts, medical records, wills and trusts, trading, and insurance. What’s new and incredible is that all these applications can go beyond simply recording events that occurred in the past to actually transacting business in real time as dictated by the terms of the smart contracts. Imagine an insurance policy implemented as a smart contract that automatically pays out immediately upon verified proof of the covered loss!
There is still a big missing piece of the puzzle: Exactly how can a programmable blockchain be used to achieve these feats? This will be the topic of my next article where I describe the fundamental components of the architecture needed to build real world solutions based on blockchain.
We’re interested in your feedback
Please leave your comments about programmable blockchain and smart contracts.
The money transfer image was designed by Rakesh Mohan.