Shenglin Li, the chief architect of PlatON, gave a speech about scalable Trustless computing in the Shanghai Blockchain International Week.
On September 10th, the Tech Open Day of 2018 Shanghai Blockchain International Week, kicked off at W Hotel on the Shanghai Bund, attracting more than 500 industry experts, scholars and industry elites in blockchain area to participate in technology sharing discussions.
PlatON’s Chief Architect Shenglin Li was invited to attend the Technology Open Day event and gave a keynote speech on “Scalable Trustless Computing: From Consensus to Verifiable Computing” and shared the implementation strategy of PlatON’s Trustless Computing
The following content is organized from the speech of PlatON’s chief architect Shenglin Li:
From the earliest desktop computing to mainframes, minicomputers, and cloud platforms, all these computing architecture need a centralized trusted third parties. Essentially, they just expand the centralized computing scale and computing resources.
The various data breaching events in recent years show that the centralized third party is not so reliable, and the creation of blockchain brings a new computing architecture, that is a decentralized Trustless computing architecture. Decentralization gives you enough imagination, and some people call it a global computer, a decentralized cloud platform, even a decentralized cloud operating system.
The blockchain is not only a peer-to-peer payment system, but also a decentralized Trustless computing architecture without requiring a trusted third party to implement this Trustless property. Blockchain 2.0 do implement the general trustless computing by introducing smart contract but in essence blockchain is a trade-off between efficiency and Trustless. The higher the efficiency, the lower the reliability. The lower the efficiency, the higher the credibility. PoW consensus is a typical example.
The topic frequently talked about blockchain is The Scalability Trilemma, which means that it’s difficult to optimize all these three factors consist of decentralization, security and scalability. In addition, the blockchain still faces two major difficulties.
The first is the Verifier’s Dilemma. Blockchains generally use duplicate smart contracts to verify blocks, which creates a problem: a large number of verifiers take a lot of resources to verify transactions, which is understandable for simple payments or smart contracts, but it takes a lot of computing resource for complex contracts. Here will cause some problems. Some miners will accept invalid transactions in order to accumulate a block reward, and may not conduct formal transaction verification processes, thus undermining the integrity of the network.
The second is Security and Privacy Dilemma. The data on the blockchain is open and transparent. On the one hand, the security of the transaction is guaranteed, on the other hand, the privacy issue also hinders the development of distributed applications.
Therefore, scalability and privacy are the two core issues that are most concerned and urgently needed to be solved.
For the scalability, there are Layer 2, Layer 1 solutions, not much to say here about them. Trustless computing is simply: generating trust in an untrusted computing environment, that is, the computing requester hand over data and computational logic to a third-party, but the third party is not so reliable and needs to an efficient valid method to validate the correctness, effectiveness, and security of the result.
PlatON implements Trustless computing based on verifiable computing algorithm (VC), secure multi-party computing (MPC) and homomorphic encryption (HE). This is a way of computing off-chain and can be considered as Layer 2. PlatON is a non-interactive computing solution based on VC. There are several other implementations in the chain computing industry: 1. TEE trusted hardware, but Intel SGX has been proven to be cracked. 2. Non-interactive verification methods, such as Truebit, rather than interactive verification mechanisms, resulting a long latency to finality.
PlatON focuses on the underlying infrastructure and providing Trustless computing networks to all decentralized systems. PlatON implements verifiable computing based on pure cryptographic algorithms such as VC, ZKP, MPC and HE.
The whole computationis based on the circuit, which contains Arithmetic circuit and Boolean circuit. The advantage of the circuit is that it is easier to verify, and the computationunit can be split at the same time, and the computing resources of all parties can be effectively utilized to achieve parallel computing.
We will also release specific hardware based on FPGA or ASIC in the future to further accelerate circuit calculations.
The upper layer of PlatON will provide a base chain as an incentive layer for the infrastructure, including a master chain and sharding to extend multiple application chains. PlatON’s architecture can be used not only for blockchains, but also for distributed AI and scientific computing.
The computationscheme is implemented based on three cryptographic algorithms. The uppermost layer is verifiable computation(VC). The client will give its input “X” and logic function “F” to the third-party computing party for calculation. After finish the computation, it will returning a proof “π”, the correctness of “Y” can be quickly verified by it. The privacy and security multi-party’s data and single-party’s data is ensured by the implementation of secure multi-party computing and homomorphic encryption.
Traditional blockchains, such as computing tasks or transactions in the EVM, need to be serially executed in the entire network node. Both the miner and the verification node need to be repeatedly executed, resulting in a large amount of waste of resources. This is one of the reasons why it’s not efficient about blockchain. Each task on PlatON only needs to be executed once, and other nodes can be quickly verified without repeated calculations.
In terms of privacy, we implemented the MPC algorithm and the MPC overall framework. The MPC framework provides IDEs, compilers, and circuit-based VMs. The VM is a JIT-based interpreter with built-in OT&GC algorithms, followed by dedicated computing hardware to speed up MPC calculations. Currently, MPC has been applied at the enterprise level.
The implementation of the PlatON network is not the same as other blockchains. PlatON is also a P2P network, but the complete implementation of the RAELOAD (RFC 6960) protocol and the service discovery protocol is extended on the RELOAD base protocol.
As we know, the most important thing in distributed systems is the registration of services, but this is centralized. The PlatON network can automatically discover services without the need for a center. ReDiR is a tree structure based on DHT (Distributed Hash Table).
PlatON decouples the contract execution and consensus of the blockchain. Blockchain is not suitable for complex computation, it is more suitable for storation and verification, and computation should be carried out under Layer 2. The PlatON smart contract is divided into two parts, one is IO logic, which can access the distributed ledger and the data on the chain; the other part is the computation logic, and the computation logic is compiled into the circuit off- chain.
When the smart contract on PlatON executes, it will distribute the computational logic to the computing nodes in the network. The computation task is split into multiple subtasks, which are distributed to multiple computing nodes in parallel. The compuation needs to return the proof to verify whether the computation is correct or not. Eventually, a computing channel contract will be used for computing verification and settlement of the computing power. In a sense, PlatON is also a trading market for computing power.
PlatON will be compatible with EVM and WASM, and it will also implement circuit-based VM based on LLVM. This VM will have built-in VC algorithm and MPC algorithm. Smart contracts do not require all nodes on the entire network to execute. PlatON smart contracts support high-level programming languages such as JAVA and C++.