Imagine a place where you can safely store all your personal information and only you decide who has access to it. You can choose which parts of that information you want to share, and you can just as easily revoke that access.
If this place ever comes into existence, I am willing to bet it will be built on blockchain technology.
Blockchain technology is still very much in development, but those in the know are convinced it will change many markets and industries. So, after delving into the workings of blockchain and crypto-currency, it’s time to have a closer look at what blockchain technology can do outside the realm of cryptocurrencies. Most of these possibilities take the form of smart contracts.
What is a smart contract?The expression “smart contracts” was coined by Nick Szabo long before blockchain technology was refined. He envisioned a technology meant to replace legal contracts, where the terms of a contract could be digitized and automated. An action (payment) could be completed as soon as the condition (delivery) was met.
After the introduction of blockchain, the term "smart contract" was used more widely as software that runs computations on the blockchain.
As a quick reminder, the blockchain is defined as a distributed, decentralized, cryptographically-secured ledger, where each new block contains a reference to the previous block, as well as all the confirmed "transactions" since that previous block was approved.
I use the term transactions lightly here since it would seem to imply that we are still discussing crypto-currency, which is not the case. We call them transactions because of the protocols that are in place to determine whether a contract is considered fulfilled.
Today, a smart contract can be any kind of software, as long as it's based on blockchain technology. It can be used not only to complete "transactions," but to secure data. A smart contract could specify that your physician has access to your medical history, but she can't see your financial history.
Some early blockchain technology developersAlthough the use of the blockchain technology for other applications is still in the early stages, we are seeing some promising developments. For example, the Ethereum Project advertises itself as a decentralized platform that runs smart contracts: applications that run exactly as programmed, without any possibility of downtime, censorship, fraud, or third-party interference. A list of 850 apps built on the Ethereum platform can be found at stateofthedapps.com.
One of the best known Ethereum-based apps is Augur, which uses a blockchain-based betting system to use the knowledge of the masses in order to predict upcoming events.
IBM is involved in some try-outs with major global companies like Maersk based on the Hyperledger Fabric. Hyperledger Fabric is a blockchain framework that provides a foundation for developing applications or solutions with a modular architecture. It was designed by IBM and Digital Asset as a technology to host smart contracts called “chaincode” that comprise the application logic of the system.
The potential future applications of this technology are endless, from implementing a blockchain ledger in order to streamline management operations and approvals to moving elections online (and guaranteeing secure votes, as it would take an insane amount of computer power to hack). Still, as with any new tech, there are both golden opportunities and potential for corruption.
Positive application of smart contractsHere are some examples of how companies can benefit from using smart contracts. Using blockchain technology, they could:
- Design a fully-automated supply chain management system. When a certain condition is reached, the appropriate action is taken. Imagine a factory that automatically orders supplies when it threatens to run out of them.
- Manage huge paper trails. Each step in the paper trail can be added as a new block in the chain, and checks can be placed to ensure all conditions have been met that are needed to proceed.
- Exchange vital business information in real time. Every node can contribute to and access all the information in the blocks.
- Eliminate the middleman when dealing with others. The parties can interact directly and securely, by relying on the blockchain technology.
- Eliminate fraud. Irreversibility makes it fraud-resistant. In a proper setup, there is no way to make unauthorized changes in already approved blocks.
Potential pitfalls of smart contractsReasons why companies might shy away from using blockchain technology for certain parts of their business include:
- The content of the contracts is visible to all participants. There are some parts of your business that are not suitable for public knowledge. So there may be a need to encrypt certain data.
- It's impossible to correct errors. You would have to reverse the contract once a faulty one has been approved.
- Long development and implementation is needed to replace existing solutions on a large scale. This may improve when we are more well-versed in applying this technology.
- If personally identifiable information needs to be stored, this could break local or international regulations. For example, smart contracts would have a hard time complying with privacy laws like the upcoming GDPR.
- A fully distributed network offers a larger surface for hackers. Remember that all the nodes have access to all the information. So it could pose extra risks if a hacker can access a node or pretend to be one.