Smart contracts are neither contracts nor particularly smart. They are simple programs that are stored on the blockchain along with information about coins, tokens, and wallets. Smart contracts are key to the development of decentralized applications based on cryptocurrencies.
Smart contracts do not run on the Bitcoin blockchain. The technology was introduced as part of the specification for Ethereum in 2014, which included a smart contract definition. So when it comes to smart contracts, Ethereum is the name of the game. That is one reason so many dApps are built to run on Ethereum and Ethereum-compatible blockchains.
What is a smart contract, really? They started as simple IF/THEN statements. The developer who coined the term “smart contract” described a smart contract as a blockchain version of a vending machine: IF the right coins are deposited, THEN dispense a snack. In a sense, the vending machine is smart, meaning it is able to execute its task automatically and independently.
On Ethereum, a smart contract might specify that IF a sum is received in the user’s wallet, THEN 10% is transferred to a second wallet set aside for long-term savings.
Most smart contracts are now written in a programming language called Solidity, which was created by some of the same software engineers who created early versions of Ethereum. Solidity supports the creation of smart contracts that are more sophisticated than the simple IF/THEN model.
Smart contracts are executed by the Ethereum Virtual Machine, a software platform that is installed on Ethereum nodes along with copies of blockchain transactions. EVMs now exist that allow the creation of smart contracts in C++, C#, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang, and other programming languages. Visual programming tools like EtherScripter serve as virtual environments that allow the construction of smart contracts without writing code in a programming language.
Like other information on the blockchain, smart contracts are immutable, meaning they cannot be altered after they are deployed, and irreversible, meaning they cannot be erased. Most developers make the source code to their smart contracts available for inspection so users can be sure the contracts don’t siphon off some or all of their funds to the developer’s wallet.
All blockchain-based decentralized finance applications and other dApps are based on smart contracts.
NOTE
This text is informative in nature and should not be considered an investment recommendation. It does not express the personal opinion of the author or service. Any investment or trading is risky, and past returns are not a guarantee of future returns. Risk only assets that you are willing to lose.