Smart contracts are forms of code that run on a blockchain network. The concept of smart contracts being executed through blockchain networks was first proposed by Ethereum founder Vitalik Buterin in late 2013 (although the first cryptocurrency launched that implemented smart contracts onto its platform was Burstcoin). However, smart contracts were initially conceived years before by cryptographer (and early Bitcoin enthusiast) Nick Szabo.
This post will consider the concept of smart contracts in general, as well as blockchain-based smart contracts. It will consider the use of smart contracts on the Ethereum network and the advantages and disadvantages of the system. In addition, it will also consider the future of both blockchain-based smart contracts and Ethereum, and whether or not it is only a matter of time before we live in a world of decentralized apps and self-executing contracts, free from reliance on third party service providers.
What are Smart Contracts
Szabo coined the term smart contract and compared the concept of a smart contract to the use of a vending machine, where a user would enter into a ‘contract’ with the vending machine whereby once the customer enters the correct coins and issues a series of commands by pressing the appropriate buttons on the machine, the vending machine completes the transaction by dispensing the item requested.
A smart contract is not a ‘contract’ in the more widely-used sense of the word. The term smart contract has no clear definition and the use of the term may be somewhat of a misnomer when it comes to considering, for example, legal contracts. In essence, a smart contract defines a certain set of conditions to which all the parties that are using the contract agree to. The contract is executed once those conditions are met (for example, the price of a currency / cryptocurrency reaching a certain level, thereby executing the purchase or sale of the coin). Many cryptocurrencies and decentralized apps (or dApps) are based on the premise of smart contracts that allows the application to perform certain actions that are defined and limited by the conditions set out in the smart contract.
Smart Contracts, Image by Codebrahma.
As a blockchain-based smart contract is stored on every computer on a network, each computer that is executing the smart contract (i.e. the miners) must reach consensus in order to execute the contract in order to get to the same result, ensuring that the outcome is correct. As a result, there is trust created that the code was executed on the basis of the set of conditions defined within the smart contract.
The advantages of the blockchain-based smart contract include the elimination of the need to place trust in third parties. Traditionally, if two parties wish to enter into an agreement and where there is no trust between the parties, steps will be taken to use an intermediary that the parties trust to complete the transaction, such as a banker or a lawyer. However, with blockchain technology, the requirement to use third-parties is deemed unnecessary due to the fact that there are stronger incentives for miners to remain within the rules of the transaction than it is to cheat (i.e. it is more profitable for users of the network not to cheat). In Ethereum, this incentive takes the form of gas (paid in gwei), which has been described as “the fuel that runs the Ethereum Virtual Machine” and will be discussed later.
By eliminating the requirement to trust third parties, users retain certain rights in respect of their smart contracts or any data used in them. By making the agreement without a third party, you can save money as well as prevent any manipulation of the data or agreement by a third party due to the automated nature of the execution of the transaction. In addition, as the documents are shared throughout the network, there is no way that the other party could ‘lose’ or misplace the document. The blockchain provides near-infinite backups, with documents being duplicated and existing throughout the network, meaning that data also cannot be lost if your own system goes down. Furthermore, cryptography means that documents are much less likely to be hacked. In fact, the existing weak links of the cryptocurrency market (i.e. instances where coins are hacked or stolen) are often based within the centralized points where users interact with the blockchain, such as centralized exchanges. In addition, smart contracts have the potential to cut down on paperwork by automating certain contracts as standard, meaning that there is less need for manual processing, as well as avoiding the risks associated with human error in manual entry.
Although Bitcoin allows for the creation of basic smart contracts (i.e. the transfer of value from one person to another) it does not provide for anything more complex than that. Ethereum, however, has a much more complex programming language that allows developers to write their own programs or smart contracts on the Ethereum platform.
The concept of Ethereum was developed in 2013 by Vitalik Buterin, a Russian-Canadian computer programmer. Buterin initially wanted to update the Bitcoin code to include the complex programming language proposed. However, as a result of a failure to obtain consensus from the Bitcoin community, he proposed an alternative platform: Ethereum. It was proposed as a “decentralized mining network and software development platform rolled into one” and was the subject of the first ever cryptocurrency ICO in 2014, with the system going live in July 2015.
Vitalik Buterin, Image from InvestinBlockchain.
The stated goal of the developers of Ethereum is for it to act as a “World Computer” that would eliminate the need to rely on third parties, thereby decentralizing and democratizing the existing client-service model. The Ethereum “World Computer” is created by the thousands of nodes on the network that verify transactions that act as replacements or alternatives to centralized servers or clouds. The smart contracts that operate on the network run exactly as programmed with only a very remote possibility of third-party interference.
By offering a decentralized network using ‘Turing-complete’ coding language, the developers of Ethereum intend that by offering the same functionality to everybody, developers can compete to offer services through the Ethereum platform without a centralized service provider, such as Apple or Google, being required to store user details such as credit card information, purchasing history and other personal data in centralized servers operated by the centralized service provider or third parties. In addition, the benefits of Ethereum smart contracts are that it is open source and available to all developers, which contrasts with apps available on centralized app stores, which are subject to the terms and conditions of the service provider and provide the service provider with the right to refuse to accept or censor certain apps on their platform. The service provider also has the right to remove an app, which perhaps could cause the user to lose valuable data stored in the app. With decentralized apps, only the user can make any changes as opposed to any other party.
To run the Ethereum network, the combined computing power is very high. As a result, there needs to be incentive for miners to operate on the network verifying transactions. This is where gas comes in. It operates as a payment to the miners and operators per execution of the code or instructions set out in the smart contract.
Ethereum GAS, Image by ETH Gas Station.
The cost of gas is decided by the nodes that are running the code and can vary depending on the number of transactions being carried out by the network. This has the effect of motivating developers that are operating programs on the Ethereum network to write efficient code which will require less gas to execute, as the cheaper the execution, the greater likelihood that users will use the application. Users of the network that wish to transact with the network need to set the amount of gas that they want to spend on a particular transaction. The more gas that is spent, the more incentive there is for the miners to execute a particular transaction and therefore the faster the transaction is completed. Therefore, users of the Ethereum network are paying per transaction instead of, for example, a standard monthly fee charged by a central service provider.
Use of Ethereum Network
At the time of writing, Ethereum is the second most valuable cryptocurrency by market capitalization. Aside from the complex programming capabilities, Ethereum also operates faster than Bitcoin, with block times being 14 to 15 seconds, compared to the 10 minute block time for Bitcoin.
Its smart contract platform also allows for the development of other cryptocurrencies using the Ethereum blockchain and there are hundred of coins that operate on the Ethereum network, including OmiseGo (OMG), PowerLedger (PWR) and Request Network (REQ). In addition, a wide range of dApps operate on the network.
Request Network, Image by Blockonomi.
However, the popularity of the Ethereum network has also led to a number of issues arising. In late 2017 the popularity of the Cryptokitties virtual game congested the Ethereum network, resulting in higher gas prices and lower transactional speeds (however, it should be noted that the gas prices were still much lower than the transaction cost of Bitcoin during the same period – $0.33 for Ethereum versus $23 for Bitcoin). This congestion resulted in some critics suggesting that the Ethereum blockchain was not fit for purpose in its existing format in terms of scalability, especially since it’s intention is to act as a provider for every industry, the so-called ‘World Computer’.
In addition, security issues concerning the network arose in 2016 after a decentralized company called the DAO, operating on the Ethereum network, was hacked in June 2016 with funds valued at $50m at the time being stolen. The fallout from this theft was a debate within the community over the security of the Ethereum network, with the result being a hard-fork of the network, with the forked network operating as Ethereum and the original blockchain continuing under the name Ethereum Classic.
Other potential issues include the fact that there is no consensus on whether there will be a hard cap on the number of Ethereum in circulation, and what that hard cap will be. At present there are almost 98 million Ethereum coins in circulation (versus almost 17 million Bitcoin). However, Bitcoin has a hard cap in place of 21 million coins, while although there is an expectation that a hard cap will be applied at some stage in the future, there is no indication of when, or at what level, that will be.
Future of Ethereum and Smart Contracts
However, despite these potential issues the value of Ethereum rose by over 13,000% in 2017 and many view it as the future of cryptocurrency. However, whether it will be part of the next generation of blockchains itself or merely a stepping stone to the next generation of decentralized platforms remains to be seen.
Much of the potential for blockchain technology is seen through the concept of smart contracts. If developers can figure out some of the issues surrounding the technology, such as security and technology, as well as potentially increase the complexity of the legal contracts being entered into, then the potential for expansion of smart contract networks, including Ethereum, is enormous.
However, scalability may still be a distant concept. At present, Ethereum’s transaction speed of 15 transactions per second is dwarfed by centralized groups such as Visa, with a transaction rate of an estimated 24,000 per second. Although Buterin has stated that the “long-term goal” of Ethereum is to match and exceed the likes of Visa and certain proposals (such as sharding and off-chain transactions) have been mooted, the network is still some way from achieving that. Competitor networks to Ethereum (such as Zilliqa) have far outperformed Ethereum in testnet conditions. However, it remains to be seen how these competitors will fare under mainnet circumstances and how they will deal with a similar number of transactions as Ethereum.
The worry of some commentators is that blockchain networks simply can’t scale to that level of performance without some sort of centralization of the network occurring, which would diminish some of the advantages of blockchain networks.
The concept of smart contracts is central to the development of blockchain technology and its potential adoption as a mainstream technology. If perfected, there are a wide range of potential advantages that smart contracts on the blockchain can bring to users, including reduced fees, security, convenience and data protection. However, it may still be some time before the technology can fully be harnessed and replace its centralized competitors. Until then, commentators will watch the Ethereum developers with intrigue to see whether they have a few more ingenious concepts up their sleeve with which they can solve the issues relating to scalability and security.