Blockchain has been around for several years now. Last year, we saw the value of Bitcoin soar beyond $18K and the whole world went berserk. But, there’s more to blockchain technology beyond Bitcoin — in fact, there are a ton of other cryptocurrencies that are all the rage right now, including Ethereum, Ripple, Bitcoin Cash, Litecoin, Dash, Tether, Monero, NEM, and Stellar to name a few.
That’s a topic for another day, though. In this article, we’re going to take a closer look at the blockchain-based smart contracts: what they are, how they work, and why you should care to know about them. Let’s get down to business, shall we?
Smart Contracts 101
By the end of 2017, cryptocurrency was estimated as a $600 billion industry. That’s not even remotely surprising. However, in the much-hyped world of the blockchain, smart contracts are at the forefront, yet many people don’t know much beyond the name.
These are codes — whether Python, Pascal, C++ or PHP — which interact with the computers on the blockchain (its state). In other words, the code accepts inputs and returns an output.
With that in mind, smart contracts are often triggered by a blockchain transaction which writes and reads data from the blockchain’s database. More importantly, these operations are irreversible and cannot be altered. In fact, the said codes are publicly available on the blockchain.
Smart contracts are an epitome of how the revolutionary blockchain technology is changing the face of financial contract-making. Like most ideas around cryptocurrency, however, there’s general confusion and hoodoo about the ins and outs of smart contracts. Perhaps it’s because other blockchain products have set up smart contracts a little different from how the creators of Bitcoin first did it. Besides, Bitcoin is only restricted to currency use case.
You see, conventional contracts are legally enforceable. However, blockchain smart contracts write to the blockchain when set conditions are met. More specifically, a smart contract defines the conditions to which all involved parties agree on. As such, when the requirements of the contract are met, particular actions take place.
Because smart contracts are stored and run on every computer on the blockchain network, all of them must execute the contract and arrive at a similar result. It is only this way that blockchain users can be confident that the result/outcome is indeed correct.
Seems a little complex? It’s not. Let’s chunk it down using an example of smart contracts.
Let’s say you want to deliver goods to a customer. You don’t trust the delivery guy – and maybe he doesn’t trust you too. Usually, you involve a third-party (perhaps an attorney) to whip up a contract.
A blockchain smart contract simplifies the whole process; it defines all the rules of engagement in black and white. You will remit payment for delivery to the smart contract on shipment day. The smart contract holds the cash until the customer confirms the delivery, then it releases the funds, and the money is automatically transferred to the delivery guy. It’s that straightforward.
Even though they are set in stone, there are a few genuine concerns and misconceptions that you might want to know. The most common concerns with smart contracts include:
When it comes to blockchain as a whole, there’s a growing concern about the radical transparency it offers. Some people feel it might cause more harm than good in the long run.
Some users are concerned if smart contracts can bind them legally. While it depends on which jurisdiction you’re coming from, they can help solve trust issues in areas like securities, insurance, lending, and general banking.
There have been a few issues concerning the so-called “smart bond,” in which payments are initiated automatically rather than manually. Some people feel that these are either redundant to the recipient or the issuer.
Users are concerned about the fact that most public blockchains are finding it challenging to remain decentralized.
At the core of blockchain and smart contracts is the trustless network, but is Oracle trustworthy?
Performance issues — the network can only process a few contracts at a time
Legal problems — there’s a bit of legal implication confusion surrounding smart contracts
Adoption challenges — there’s still low uptake of smart contracts
Data privacy — the size of the network pose some privacy threats to users’ data
With blockchain, smart contracts are not only stored in verifiable, shared and transparent computer networks, but they are also embedded in a robust digital code. To recap, a smart contract can:
Act as a multi-signature account so that a transaction can be completed when all parties agree
Manage agreements/conditions between several parties
Offer utility for other types of contracts
Store data for a transaction
Even so, blockchain smart contracts face several different challenges, including performance, legal, adoption, security, liability, data privacy, and enforceability concerns to name a few.