Unless you’ve been living in a cave, you’ll have heard a lot about the Blockchain in the news recently.
While it’s easy to dismiss it all as hype, there are aspect of this technology that you probably shouldn’t ignore. I’m talking in particular about smart contracts. So let’s look at these in more detail.
What is a smart contract?
A smart contract is basically a small computer program that’s stored inside of a Blockchain. They’re usually lauded as a way of replacing intermediaries or middlemen.
Smart contracts help you exchange money, property, shares, or anything of value in a transparent, conflict-free way while avoiding the services of a middleman.
This is possible because they inherit some useful properties simply by being on a Blockchain. Smart contracts are immutable and distributed. This means that once smart contracts are created they can never be tampered with. When the code within a smart contract is run, it is also validated by many independent nodes within the network.
Together these properties mean that smart contracts can be trusted to do what they’re programmed to do. On a public, open-source Blockchain like Ethereum, smart contracts are also visible for all to see.
It’s like having an automated authority that everyone can trust to perform some transaction. But does this mean we no longer need middlemen?
The short answer is no.
‘Cutting out the middleman’ sounds like a good idea but it’s not always possible or the wisest thing to do.
Often intermediaries add value to transactions because of their expertise, network, connections or because they can provide a guarantee that wouldn’t be available otherwise.
For example, what if someone wants to undo a transaction but another party doesn’t agree? If the smart contract requires consent or a vote from all parties before it can run then a stalemate situation could arise. If this happens it’s useful to have a mediator involved!
Smart contracts will probably end up assisting rather than replacing the middlemen because they’ll streamline many processes.
Smart contracts will probably end up assisting rather than replacing intermediaries
For example, they might cut out a lot of paperwork and make things happen faster. This will hopefully result in lower fees but it won’t eliminate the fees. Someone has to pay for smart contracts to run!
Running a smart contract takes time (sometimes a lot of time!). This is because on a network like Ethereum the transaction has to be validated by a computer. Whenever a smart contract wants to change data on a Blockchain (i.e. create a transaction), computers on the network (so-called miners) have to solve a complicated algorithm.
This not only takes time, but it costs money. When it comes to smart contracts, developers literally have to calculate how much ‘gas’ their program will use, and someone has to pay for this gas.
It’s worth noting, however, that smart contracts that don’t need to change any data can be performed for free and the operation is almost instant. But there are limited use cases for smart contracts that don’t actually change anything.
It’s early days in the world of smart contracts but next generation, alternatives to the Blockchain like the Hedera Hashgraph network are certainly going to stimulate more interest. Especially as the Hashgraph team recently announced that they will support Solidity (the programming language used to create Ethereum smart contracts).
Despite the limitations, it’s an exciting time to get into smart contract programming!