The reputation as a SMART is not proportional to the reality of these contracts and is not a proper name. The best name for them may be is the automated contract because the contracts are not necessarily intelligent or smart but certainly, they are automated! These contracts, in accordance with the initial codes, work automatically after registering and deploying into a blockchain, and no human, even the owner(s) or developer(s) of contract, can make the slightest change in its initial code or functionality. This is perhaps the main feature of these contracts, and to convey this concept, using the title “automated contract” is appropriate because smartness or intelligence is not the main criterion for these contracts.
The authors of the article are Ms. Somayyeh Gholami and Mr. Mehran Kazeminia and it is written in Persian and English versions in December 2018.
Mr. Nick Szabo, in the late nineties, referred to the concept of “smart contract”. You can read his conclusions on this subject in his 1997 article. Meanwhile, smart contract developers could not begin their work until 2014 (till the Ethereum network began working in 2014). Because these contracts work with blockchain technology. Of course, after Ethereum, other blockchains were also launched to develop smart contracts.
Smart contracts are computer programs that simulate conventional or classical contract. They can exchange their own cryptocurrency or special token. In addition, for each contract, an account or wallet is defined which called “contract wallet”. Parts of its coding are the conditions and how to exchange between the contract wallet and users (or between the contract wallet and the other contracts wallet).
Smart contracts can be registered on some blockchain networks. These contracts will be immortal after launch. It means, as long as that blockchain works, the original smart contract, as well as all transactions and exchanges in full details, continuously and permanently are stored and maintained on the blockchain network. These contracts work for all time, just according to the original contract code, and no human, even owner or developer can make the slightest change in the code of the program.
As you can see, the biggest achievement of smart contracts is that with the help of blockchain technology, they can only run independently their initial code. Since there is no possibility of human interference and tampering with functionalities or transaction results. But anyway, these contracts do not necessarily have the concept of intelligence or smart.
Smart Contracts that Are Not Smart!
After the launching of the Ethereum blockchain, the developers were really excited to create their tokens only by writing a smart contract and without a dedicated blockchain network. The Ethereum network supports the transactions of these tokens, and everything was ready for a great adventure which was the Initial Coin Offering (ICO). For this reason, the first and perhaps the largest number of smart contracts were written for producing tokens and the launch of the ICO.
An example of smart contracts that is not smart! Maybe, the ERC-20 standardwhich has been used by many companies since late 2015 to generate tokens on the Ethereum network. This standard includes six main functions:
totalSupply() public constant returns
balanceOf(address tokenOwner) public constant returns
allowance(address tokenOwner, address spender) public constant returns
transfer(address to, uint tokens) public returns
approve(address spender, uint tokens) public returns
transferFrom(address from, address to, uint tokens) public returns
If you are familiar with Solidity programming language and its functions, you also confirm that the above standard cannot be a structure for the smartness or intelligence of the token generator contract. Rather, functions are deterministic and nonsmart. Of course, if we want to assume smart contract as smartness, we have to call “smart” all or most of the computer programs!
Many of the smart contracts only provide method bodies for all above functions and do not have a specific smart feature, but they are all automated, and after registering and deploying them, they continue their activities forever according to the initial code and without involving any human factors.
Smart inventors, automated inventions
People like Nick Szabo or Vitalik Buterin are surely smart people! But their research and study achievement, which is an automated contract on the blockchain platform, is not always smart. For this reason, the title of “smart contract” is not proportional to the reality of these contracts. However, if we can not or do not want to change the name of these contracts, at least we gain the right insight into these contracts.
In many cases, decentralized networks are more restricted than centralized networks. For example, the random function does not exist in Solidity language, because the EVM Ethereum virtual machine requires total determinism within the smart contracts But all these technical reasons do not stop the efforts to make intelligence these contracts in necessary cases. Even developers are working on blockchain and Artificial Intelligence technology to serve each other and have some achievements, or …… However, it should be noted that today and ever, many of the contracts that have been registered on blockacin networks And deployed, they are not smart or intelligent and may not need to be either! That’s why the title of “smart contract” should not make developers and users mistaken.