Community Writer Series

Elastos — A Simple Guide with Graphics

What is Elastos?

Elastos is a completely open source, network operating system that utilizes the decentralization of P2P communication (Elastos Carrier) and security of blockchain to create an end-to-end secure web environment for users, internet of things, and all smart devices.

It also creates, for the first time, a space for creatives to build true digital wealth and protect their intellectual property by creating scarcity and true identification of digital content.

To give an example…

Elastos is to blockchain what Windows is to SMTP (the email protocol standard).

Most blockchains are competing to be the best ‘protocol’ for their specific use case e.g. identity verification, smart contracts etc. and the conversation perpetually revolves around which has the highest TPS or which is more decentralized.

Elastos doesn’t compete in this game.

In the example for email, Windows is not trying to build a new email protocol (e.g. blockchain). The SMTP protocol is the most accepted and agreed upon standard for the transfer of information. That means that all apps can understand the information in a consistent way and it is interoperable with Mac, Linux, Windows, iOS etc.

Windows’ aim isn’t to make the fastest/prettiest/most user friendly email client (the app you use to read and respond to your emails). That’s the job of many other app developers e.g. Gmail, Outlook, Hotmail etc.

Windows instead seeks to create a reliable infrastructure platform with consistent, in-built functions to engage with the hardware of your device, connect to the internet and many other functions so that app developers can focus on one thing: to build the best apps possible for their customers.

Elastos is like a decentralised, upgraded security version of the Windows operating system and is owned by everyone (open sourced), not one company. Elastos focuses on providing a secure infrastructure platform for developers and business people to build useful fast, scalable and secure dApps to interact with any blockchain, using any operating system and device.
It is protocol agnostic which gives dApp developers complete freedom to choose which blockchain protocols they want to use for their dApps.
There is literally nothing like Elastos in the world today for blockchain, and it is incredibly necessary.
Mockup: ELA Pay and Elastos Browsers (‘Trinity’)

Why is Elastos Necessary?

As of today, DApps are equal to smart contracts. They both are executed in the blockchain Virtual Machine (VM) and require consensus, therefore, everybody can trust them. However, this design has some major flaws:

(1) Blockchains, which run a lot of different smart contracts, get congested easily.

(2) Blockchains are not designed to run apps, they are far too slow for this. You can think of a blockchain as a distributed computer which requires consensus for every operation. This makes it very slow. On top of this, everyone is using the same computer which only amplifies this problem.

(3) You also need a way to interact with the blockchain, which is currently mostly done with web apps. This is an enormous security threat because of Man in the Middle (MIM) and Denial of Service (DDoS) attacks, malware and traffic monitoring.

Elastos tackles all of these problems:

(1) The congestion problem is solved by using a main chain/sidechain structure. Every dApp can have their own sidechain with what ever consensus mechanism they seem fit. If they need the highest security available in the industry they can make use of Elastos‘ Proof of Work (PoW) which is merge mined with Bitcoin (starting December 2018). If more Transactions Per Second (TPS) is required dApps can go for Elastos‘ Delegated Proof of Stake (DPoS) and if they need finality of blocks they can make their own sidechain with a dBFT consensus or use Neo once the NeoVM has been ported to Elastos

(2) DApps on Elastos don’t run on the Blockchain itself, but in a VM on your device called Elastos Runtime. On Elastos, every DApp runs in its own VM. The only thing that gets executed on the blockchain are smart contracts which are part of the DApp. One example of this is to make micro transactions in the DApp. However, we can trust these DApps as much as we trust the Elastos blockchain because every DApp has a unique ID which is saved on the blockchain and before the DApp gets executed, this ID is checked against the blockchain by the Elastos Runtime. The Runtime also verifies that the DApp hasn’t been tampered with.

(3) The third problem is solved by using a truly decentralized Peer to Peer (P2P) network (Elastos Carrier) with Decentralized ID‘s (DID‘s) stored on the blockchain. No DApp running on Elastos has direct access to the network. All the network traffic is handled by the Elastos Carrier. All connections are blacklisted by default and only whitelisted connections will be allowed by the Runtime.

So if you’re running an Elastos chat DApp and someone sends you malware that tries to steal data from you and send it back to your attacker, it can’t establish a network connection and is therefore useless. And if you close the DApp, the VM gets destroyed as well as the malware. Elastos can also prevent a lot of DDoS attacks since you can easily set access to a service to only whitelisted DID‘s. Meanwhile, MIM attacks are removed since there are no central servers and it’s impossible to predict how the traffic will get routed.

All of this combined will provide a truly scalable, decentralized, trustable and secure ecosystem for DApps, no matter if they use Ethereum, Neo, EOS or Elastos sidechains for their smart contracts. If Ethereum with Casper turns out to be the best blockchain for smart contracts then that’s great, since Elastos has the solution for many of the other problems blockchains are facing today.

Credits: Nicola Zimmermann