Smart contract explained – Complete guide for beginners
Solidity is the computer code that makes the Ethereum network run. It allows for the creation of smart contracts and Dapps on the platform, expanding on what networks like Bitcoin can offer.
What is Solidity?
Even if you are not familiar with blockchain I’m sure you have likely heard of Ethereum. Ethereum is the second-largest cryptocurrency with a huge market cap of over $44 billion. To fully understand Ethereum, one should properly understand what is a smart contract.
- A smart contract is a contract expressed by a piece of code that are designed to carry out a set of instructions.
- The term «smart contract» was written in the 1990s in an academic paper created by Nick Szabo.
- Dapps, or decentralized apps, are essentially a series of linked smart contracts.
A bit about Ethereum?
Ethereum is not just a cryptocurrency, Ethereum is also a platform that allows other blockchain applications to be built on it (Dapps). The Ethereum platform uses a cryptocurrency called Ether (ETH), which is used to pay for transactions.
The Ethereum blockchain works like the Bitcoin blockchain; a network of computers (or nodes) run software that confirms transactions on the network.
Ether works more like fuel than a normal cryptocurrency. In the same way that you need gasoline or diesel for your car, you need Ether to run the smart contracts and applications on the Ethereum blockchain.
So, what is a smart contract? Well, let’s take a deeper look.
In 1994, Nick Szabo (a cryptographer), came up with the idea of being able to record contracts in the form of computer code. This contract would be activated automatically when certain conditions are met. This idea could potentially remove the need for trusted third-party companies (such as banks).
Why, though? The answer is simple — because you no longer need a trusted third party when you make a transaction. Instead, the contracts (or transactions) are self-executed on a trusted network that is completely controlled by computers.
The possibilities are endless for smart contracts. They are already being used for financial trades and services, insurance, credit authorization, legal processes, and even for crowdfunding agreements (ICOs).
Let’s look at how smart contracts are already benefiting certain industries and how they will benefit other industries in the future…
Inside a smart contract
Like regular contracts, smart contracts are designed to enforce the terms of an agreement whether this is an exchange of cryptocurrencies, tokenized assets, proof of identity or anything else.
Smart contracts will automatically execute when pre-defined conditions are met. The smart is composed by 3 main terms:
- Interconnectivity: Each smart contract usually has a restricted set of functions. Several smart contracts can be set up to connect with one another and can form more complex arrangements knows as decentralized applications (dapps).
- Objects: These are the signatories that interact with the smart contract and the subjects which are modified by the smart contract based on predefined or newly-.submitted terms.
- Environment: Smart contracts are dependent on an underlying cryptographic environment. This ensures they can operate securely and that the data they act on is immutable and generally transparent.
For most blockchains the code underlying the smart contract is immutable (it cannot be changed or updated), though several blockchains also support updateable smart contracts.
If a smart contract is a software, is it safe?
First, smart contracts are immutable on many blockchain, Ethereum included. This means that once launched, they cannot be changed or updaded, which can lead to disastrous consequences if there are underlying issues with the code.
One of the best example of it was the Ethereum DAO hack in 2016 which saw an unknown hacker draining millions of ether (ETH) by exploiting a loophole in the DAO’s split function.
In September 2020 we also saw the collapse of the test version of Eminence project. This test version was exploited for $15 million by an unknown hacker after a huge number of investors put their money on it.
Last but not least, simple bad code can render the smart contract effectively useless. This was seen with the collapse in August 2020 of the Defi yield farming project known as YAM, which used unaudited smart contracts and was thwarted by a critical bug that rendered its governance feature useless.
Auditing smart contracts
Though smart contracts are secured by their underlying blockchain technology, they also need to be secure by design since certain functions or errors in their code can be exploited.
In total hundreds of millions of dollars worth of assets have been drained from unsecured smart contracts.
To help minimize the risk of this, a number of third-party development and security firms offer smart contract auditing services. This service involves scrutinizing the smart contract code to identify any vulnerabilities, which can then be fixed. This usually occurs before a smart contract is made public.
Popular Dapps will often post their smart contract audit in the footer of their website, providing confidence to users who don’t have the time or expertise to check its code themselves.
Smart contracts are a relatively new technology, but they have already seen widespread implementation.
Thank you !