Elephant Consensus

Elephant consensus was named because this discussion reached consensus in Thailand. The Elephant being the national animal and icon of Thailand made this name appropriate.

Photographed at the Anniversary Event in Thailand

In a general computing sense, the current problem for Ethereum, as described in the first Elastos whitepaper, is that its public chain is not equipped with data storage or computational space. Instead, the Ethereum public chain is only used for the transfer of payments and the programmability of smart contract executions based on some logic. Therefore, the DApps on Ethereum can strictly be called smart contracts DApps, as the data storage and computational logic of apps are not handled by the public chain. Because of this, it is impossible to independently support the decentralized app environment that users see daily. Although the Ethereum blockchain can have provenance for data content generated by users daily, it is unable to protect against its plagiarism, thus making the content unable to truly produce value. This means that while the ownership and management of digital assets such as movies, music, and other large files can be recorded on the blockchain and be secured by the immutability of the records, the content themselves are not protected by the blockchain thus making it hard to prevent piracy and plagiarism of data content produced by the users on a daily basis.

Applications that cannot be turned off by a third party are called decentralized applications or “DApps.” Currently, Ethereum smart contracts, or DApps, all operate on the blockchain. According to Ethereum’s official definition, Ethereum’s full chain constitutes a world computer, where smart contracts/DApps all operate on its Turing-complete computer. By having Ethereum’s full P2P network on the public chain, it guarantees that the operational environment, the Ethereum Virtual Machine (EVM), is secure and trustworthy for its DApps. EVM is where smart contracts are run when a certain action is triggered based on the contract setup between two parties, such as supply chain and logistics, insurance policies, trade finance, etc. But regardless of how many nodes are added to this world computer, its hash rate will never exceed the limited hash rate of any one of its individual nodes and is basically unable to support the computing needs of its increasing number of DApps. For example, whenever a smart contract is executed, all the nodes that are connected to the Ethereum public chain have to execute the exact same smart contract code each and every time in order to reach some consensus.Therefore, anytime you deploy a new smart contract (also called a DApp on Ethereum), every single computer (or node) has to execute this new contract that was added. This means that even if Ethereum is referred to as a world computer, the computational power of all the nodes connected to this network are not utilized properly as deploying new DApps just amounts to more and more stress on every single node that is connected to the network. This might lead to congestion and scalability issues and no matter how one looks at it, this is not a sustainable long term model.

At Elastos, we believe that the greatest value of blockchain for operating DApp environments is that it provides a basis for trust. Because of this, we liken the Elastos blockchain to the TrustZone of our SmartWeb. If the old web operated the Web of Data, the Elastos SmartWeb operates the Web of DApps. It is different from a TrustZone on smartphones in that TrustZone in mobile phones use hardware partitioning to guarantee security and trust while TrustZone on Elastos SmartWeb uses blockchain by providing security and trust through a consensus.

Aside from trust, DApps also need security to allow them to operate in a secure and trustworthy operating environment. Through Elastos Runtime, we will make DApps operate in a mutually-partitioned, limited communication virtual machine sandbox environment. Elastos Runtime is able to provide process isolation, network isolation and digital asset protection. Every application will be secured by this Runtime and all http/https calls are disabled which prevents a lot of cyber attacks from happening. All online data exchanges between virtual machine sandboxes must all be sent through the secure, trustworthy, and identifiable channel realized by Elastos Carrier in order to ensure that personal data assets and private personal data are not leaked. Anytime an application requests data from the internet, Elastos Carrier takes over the traffic and conveys this information on the applications behalf. This guarantees that applications are not allowed to send any sort of network packet anywhere it is not authorized to do so by the Carrier. The Carrier itself can be thought of as a decentralized peer to peer network that is autonomous and self-running supported by the Carrier nodes in the network. There are no more IP addresses to talk to and there are no more chances of sending malicious network packets to a destination address. Everything on this network is blacklisted by default. In order to even talk to any other device from an application, the two parties need to add each other on each other’s friends list first. Identification and authentication come from blockchain ID, allowing the trust of the Elastos blockchain to be transmitted to Elastos Runtime. Every user, every device and every application gets a Decentralized Identification (DID) issued by the blockchain that is used for authentication purposes and this authentication is transmitted to Elastos Runtime that powers all of the different applications that are running in the ecosystem.

Ethereum does not divide the trust and consensus model and all DApps (or commonly known as smart contracts) operate on the blockchain. Conversely, Elastos envisages providing a secure and trustworthy operating environment able to operate on mobile terminals, while simultaneously providing smart contract sidechains to provide consensus computing support. That is to say, the computational logic in the DApp that is independent of the smart contract consensus can be run on Elastos Runtime on mobile terminals, and the consensus-related computing logic can run on the contract sidechain, thus achieving orthogonal stripping of the operating environment of the terminal and chain, greatly expanding the DApp area and shape of applications. In other words, Elastos separates computational logic from the consensus-related logic altogether.

The main chain of Elastos is only used for payments and transfers while the sidechains of Elastos are used to run everything else including a sidechain for issuing DIDs, a sidechain for running smart contracts, a sidechain for digital asset management, and the main computational logic of an application is done within the Elastos runtime. The DApps of Elastos are very different compared to the DApps of Ethereum. While DApps of Ethereum are analogous to running only smart contracts, the DApps of Elastos are analogous to the actual application that has its computational logic separated in order to make it so that these decentralized applications (DApps) can run on mobile devices or personal computers in a completely decentralized manner while also being able to run smart contracts utilizing sidechains. Doing this provides an enormous advantage as this means there can be an unlimited number of sidechains to support any kind of DApps, thereby solving the issue of scalability, security and decentralization simultaneously.

The Elastos SmartWeb supports hidden HTTP, as well as the traditional Browser/Server (B/S) and Client/Server (C/S) online application models of other online protocols. In addition, the SmartWeb uses DID login and sends and receives network data packets through Elastos Carrier, researching and developing the new generation of the trustworthy and secure internet. Elastos SmartWeb version Alpha was released in August. The Elastos smart contract sidechain is expected to be released and online at the end of 2018, at which time the SmartWeb Beta version will be released. Furthermore, the first edition of Elastos SmartWeb App will be released in early 2019, separating the trustworthy operating environment and the blockchain smart contracts and initiating the landing and prioritization of large-scale internet applications.

In August 2019, we also expect to further support server-less peer-to-peer computation, support terminal-only applications and provide everything with Software As A Service (SaaS) model. Also, the open source, neutral and self-operational new internet model will no longer have traditional web programming that are associated to Client/Server and Browser/Server model servers. Software service providers and software consumers will use third-party sidechains as “robot intermediary” smart contracts, achieving an on-chain and off-chain recognized and trustworthy DApp operating environment, publishing the official version of Elastos SmartWeb.