The smart contract module and our virtual machine

There are obviously huge differences between both scalability and features of different blockchains. Considering Bitcoin for example, only some simple scripts are supported, hence Bitcoin is only used as a digital currency. On the other hand Ethereum’s virtual machine (EVM) is Turing complete and supports all necessary features, hence you can create complex smart contracts to be implemented by any program on Ethereum. This consideration makes is obvious that blockchains with Turing complete virtual machines are highly scalable when considering potential use cases.

The development work involved in developing Turing complete virtual machines is very broad and deep, and PC browsers are essentially a form of virtual machines. By recruiting and training developers with a very high degree of technical literacy and also a deep understanding of virtual machines we have ensured that this area of development is proceeding on track. At the time of writing, virtual machine developers are debugging support for complex smart contracts. After virtual machine development has been completed we intend to release a new version of the testnet that supports virtual machines. This will enable community developers to write and publish their own contracts.

Considering that the DPoS consensus used requires nodes to complete blocks within 0.5 seconds, it is not without its challenges to optimize support for logically complex smart contracts. In addition we need to ensure that malicious nodes and hackers cannot attack the contracts, and we have spent some time on this issue. In the top ten blockchains’ main networks a contract can be executed for up to 50 milliseconds. Once a contract execution timeout occurs, the production node will mark the contract as failed and record it on the block. After receiving this block, other production nodes will not continue to execute the contract. In other words, a malicious node would have the power to attack the contract which is obviously unreasonable, and we are developing a solution that will not allow this scenario to occur.