What are smart Contracts?
At first, that word meant intelligent, indestructible, and unhackable. Don’t pass judgment just yet; these were my thoughts during my first months of Blockchain and Cryptocurrency Classes. I’m sure you felt the same way. Don’t worry, I’m about to take us on a knowledge train.
A smart contract is a collection of codes (computer programs) that function as a type of digital agreement with Terms of Agreement that runs on the blockchain. Blockchain is the underlying technology that allows smart contracts to be executed and run.
These automated codes execute themselves without the involvement of a third party, hence the term “smart.” When a set of predefined conditions (defined by the smart contract creator) are met, smart contracts are triggered and executed. So, if the set of conditions is not met (by the actions of the Recipent/User), the smart contract will not perform any action and will remain dormant. It follows a system flow of “if this……….., then do this………”
Because of the “immutability function,” it is impossible to add new functions to a smart contract after it has been deployed on the blockchain. Particularly, there are upgradable smart contracts that give developers more control over contract immutability (that comes with varying degrees of complexity).
Aside from technical benefits of Smart contracts;
- Self verifying
- Self executing
- Tamper resistance (codes of agreement can’t be changed)
The big question is “ARE SMART CONTRACTS AS SMART AS THEIR CREATORS?”
It is an undeniable fact that smart contracts have been exploited by bug hunters and hackers (who also are developers themselves, understand the game and the mechanism of things).
Despite the fact that Smart Contracts should be highly audited and securely developed, hackers are constantly looking for ways to exploit potential security loopholes and vulnerabilities.
“Every smart contract is hackable,” I reasoned, “it’s just that potential loopholes aren’t easily visible and haven’t yet been discovered.” As a result, as depicted in science fiction films, it would take some developers many years to discover vulnerabilities in highly secure codes.
Not to mention that smart contracts are composed of computer codes written by humans, which leaves room for vulnerabilities and bugs. The security flaws and vulnerabilities of a smart contract are the responsibility of the Contract developer. The main reason why mega projects pay a lot of money to have their contracts developed by the best programmers and audited by the best is so that vulnerabilities aren’t easily found and it appears as if it’s impossible to hack.