Smart contracts also have their disadvantages. The tamper-proof nature of smart contracts makes it easy to build trust. But there is also a bad side. If there are loopholes in the smart contract, hackers can exploit the loopholes in the smart contract to make profits for themselves.
For example, a vending machine may accidentally write 50 cents instead of 5 yuan for a drink. Once the administrator finds out, he can correct it immediately. But if the vending machine calls a smart contract on the blockchain, the error cannot be corrected until the drinks are sold out.
On the other hand, smart contracts themselves cannot perceive external information. If external information is needed to adjudicate a contract, relevant information needs to be written into it before it can make a decision. For example, in the example of Big Bear and Little Bear betting on whether it will rain tomorrow, the smart contract itself does not know whether it will rain the next day. It needs to be provided with information from other information sources, such as data from the Central Meteorological Observatory. After getting this information, the smart contract can make a decision.
As of now, the security and traceability of smart contracts cannot be achieved. Of course, in addition to the people who program smart contracts, there is also a decentralized organization, commonly known as DAO, which will gradually improve.
Judging from the above two points, smart contracts are neither perfect nor intelligent.