You may have heard a lot about the Blockchain in the news recently.
While it’s easy to dismiss it as hype, there are aspect of this technology that you shouldn’t ignore. In particular, let's talk about smart contracts.
What is a smart contract?
A smart contract is 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. https://blockgeeks.com/guides/smart-contracts/
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 we can rely on smart contracts to do what they’re programmed to do without needing to trust any intermediary. On a public, open-source Blockchain like Ethereum, smart contracts are also visible for all to see.
But does this mean we no longer need middlemen?
Not necessarily.
Cutting out the middleman sounds like a good idea but it’s not always possible or the wisest thing to do.
This is because intermediaries often add value to transactions due to their expertise, network, and 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 human or third-party mediator involved.
Smart contracts therefore will probably end up assisting rather than replacing the middlemen because they’ll streamline many processes.
Smart contracts will end up assisting rather than replacing intermediaries
For example, smart contracts might cut out a lot of paperwork and make things happen faster. This could result in lower fees but it won’t eliminate the fees because someone still 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. (Note that Ethereum is moving to a Proof of Stake system which will greatly reduce transaction fees).
The process of validating transactions and creating new blocks not only takes time, but it costs money. When it comes to smart contracts, developers have to calculate how much ‘gas’ their program will use and pay for their execution. It's essentially pay-as-you-go computing but you need to pay at the point of execution.
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 may be limited use cases for read-only smart contracts.
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).
It’s certainly an exciting time to get into smart contract programming.