Hello, welcome to visit Beijing Blockchain Application Association(BBAA)!
Home >   >  Assosiation News

[Member Dynamic] Association Director Liu Sheng: The smart contract with Turing completeness is not suitable for blockchain financial scenarios

Time:2018-08-01 16:27:38

Collection

On July 16th, at the B16 Blockchain Ideas Festival hosted by Pomegranate Finance (Shiliucaijin), Liu Sheng, Chief Architect of UMF, challenged the currently widely recognized “Turing Smart Contracts represented by Ethereum” Blockchain 2.0 direction of development, in his view, smart contract with Turing completeness contained great complexity, resulting in insecurity, low efficiency, which is not suitable the serious financial scenarios, hence, it must be used with caution.

The following is a compilation of Liu Sheng's speech content, organized by Babbitt.

The theme of my speech today is: Is smart contract with Turing completeness necessary? "When we talk about the blockchain, we will refer to the digital currency represented by bitcoin as blockchain 1.0. The smart contract represented by Ethereum is called blockchain 2.0. The definition of 3.0 is still very vague. You can see that many of the blockchain projects call themselves Blockchain 3.0, but they are not clear. Have you noticed that there is actually an implicit assumption that it defaults to blockchain 2.0 as a blockchain represented by Turing's complete smart contract, but I am going to challenge this concept today.


刘胜.jpg 

Liu Sheng

Member of Beijing Blockchain Application Association

Chief Architect of UMF

 

Before we do that, we need to understand a few concepts first -

● What is Turing completeness?

● What is a smart contract?

● Why is smart contract with Turing completeness unsuitable for blockchain?

1 Turing Completeness

If our program or system can simulate and run with the universal Turing machine, and is able to calculate everything that can be calculated, then this program or system is the universal Turing machine. 

The Turing machine is essentially a pumping requirement that converts the set of outputs and the current state into a collection of outputs and the next state. What is the difference between our normal function and Turing machine? Turing machine has states and memories. The general Turing machine has some core components. For example, we often see those machines which have CPUs, and then the CPU runs some programs, logics, codes, output and output sets, it must have memory to record internal states, when everything is in place, it is a universal Turing machine model. In fact, in a sort of sense, people are also a variant of the Turing machine.

 

2 smart contract

The second concept is smart contracts which was published in Nick Saab’s paper about the the concept of smart contracts in 1996. Smart contracts are essentially a series of promises and are presented in digital form. There are also a series of complementary agreements to ensure that the participants are able to implement this commitments, which is the smart contract.

3 Why is smart contract with Turing completeness unsuitable for blockchain?

The typical model of smart contract with Turing completeness is that it can accept input transactions, events, and can output transactions and events. It saves both its value and its state. All of these things are built on the trusted distributed ledger system of blockchain.

As it was aforementioned that the Turing completeness had so many advantages. However, is it omnipotent? Every avail has its disadvantages. what is its advantages? It is convenient, flexible, and friendly to developers, and is easy to write codes. On the other hand, as for its shortcomings, because it is developer-friendly, it has a great complexity which does not mean that the blockchain itself is complicated or the smart contract is complex, but means that the smart contract can accommodate very complicated things. And it needs to have a very complicated thing to execute. Complexity will bring some bad effects that may be unsafe and may be inefficient.

First, the whole procedure for blockchain to execute the smart contracts is inefficient. Why? Because the blockchain execution has to execute more than once, which requires all nodes to execute the smart contracts for once. For example, if there are tens of thousands of full nodes in Ethereum, it is very inefficient to execute this smart contract from start to finish.

Second, when it comes to complexity, its internal execution is also very difficult. The difference of efficiency between using direct methods and using blockchain to calculate hash can be up 50 times more, which is almost two orders of magnitude.

The third, the biggest problem is its security. Although there are not many unexpected risk events, however, it is characterized with large amount of money. The main problem of the risk events based on the blockchain's own security mechanism is the smart contract.

Source: Sohu.com