Understand the differences between Algorand, Ethereum and Polkadot in terms of consensus mechanism, smart contracts, development experience, and application ecology.
Author: It’s delicious
Both are public chains. What do these three projects do? What problem do you want to solve?
The three projects all want to realize a decentralized permissionless public chain platform to carry decentralized applications. Even so, their visions and the methods to achieve them are fundamentally different.
Ethereum, as the big brother of the public chain, originally wanted to be a World’s Computer. Ethereum is the first public chain that proposes to integrate a more Turing-complete virtual machine (EVM) into the blockchain system. The EVM is responsible for managing the state storage space of the protocol layer and completing calculations on the chain. With the passage of time, more and more people realized that more application space of blockchain is in the financial field, so the positioning of Ethereum has also evolved into an underlying financial platform. Ethereum is currently plagued by on-chain processing capabilities, and is focusing on the development of ETH2.0 related technologies, including Layer 2, sharding, and zero-knowledge proofs.
Polkadot is a project born at the same time as Cosmos, and the keywords of the two projects are cross-chain. Polkadot hopes that application developers can use the Substrate framework to develop a parallel chain with only a single application for their applications, namely Para Chain, and connect all the parallel chains to each other through a main chain, namely Relay Chain, In order to achieve interoperability between chain operations (Interoperability).
Algorand’s vision is to be a financial platform to carry various financial assets and financial products. This is similar to the positioning of Ethereum at this stage, but the difference is that Algorand has firmly established this direction from the beginning, making Algorand’s entire underlying protocol and product line optimized for this application direction. Algorand not only has sufficient performance to meet the speed requirements of financial transactions, but also provides various features required for the realization of financial products at the protocol layer, such as atomic transactions and ASA (Algorand Standard Asset).
So, what are their consensus agreements?
Ethereum uses a Proof-of-Work consensus algorithm similar to Bitcoin. Compared with Bitcoin’s Nakamoto Consensus, Ethereum uses a different hash algorithm to prevent the use of ASIC for mining; at the same time, it also uses the longest chain selection algorithm based on the GHOST protocol to allow the existence of uncle blocks. These optimizations have enabled Ethereum to improve performance relative to Bitcoin, but it still cannot meet the needs of financial products.
Polkadot’s protocol layer is divided into two layers: the upper layer is composed of multiple parallel chains; the lower layer is a relay chain. The upper-level parachains will be provided with security guarantees by the lower-level relay chains. Each parachain needs to obtain a slot on the relay chain to obtain security guarantees from the relay chain and realize cross-chain services between the two. The consensus algorithm used by the relay chain contains two components:GRANDPA and BABE , which are used to generate blocks and generate consensus on blocks, respectively. At the same time, the relay chain uses the Proof-of-Stake protocol as the node admission mechanism, which contains four node roles to maintain and supervise the generation and behavior of the node committee.
Algorand uses a consensus algorithm based on Verfied Random Function (VRF). The Algorand consensus algorithm determines whether all nodes can participate in each round of consensus by running a VRF algorithm similar to lottery drawing locally. The selected node will be able to propose a block, verify the block with the rest of the nodes, and reach a consensus on it. Algorand uses a pure proof-of-stake mechanism (PPoS, Pure Proof-of-Stake) as the node admission mechanism, that is, the probability of each node participating in the consensus is positively related to the equity (ie, the number of ALGO tokens) it owns. The Algorand consensus algorithm is the first consensus algorithm that uses cryptographic tools to achieve performance improvement. It is simple and elegant. Many well-known public chains, including Difinity, use VRF as a tool to implement consensus algorithms.
What development languages do they use? What are the characteristics of smart contracts?
Ethereum’s EVM has an instruction set containing 142 instructions. Based on this instruction set, Ethereum uses the EVM compiler of the Solidity language to develop smart contracts. EVM is the first virtual machine on the chain that is close to Turing completeness, which allows smart contracts implemented through EVM to have a high degree of flexibility. At present, EVM also supports a language similar to Python, namely Vyper, which is developed on Ethereum.
Polkadot does not have the concept of smart contracts. Its application development is based on the Substrate framework, that is, every application is a chain. Developers need to configure the protocol layer of the Substrate chain during development, and add the required storage space and business function modules, and finally run their own customized Substrate node software. The Rust language is used in Substrate development, and there is also a virtual machine environment based on WASM.
The development of Algorand consists of two parts: using Algorand’s native features and developing Algorand smart contracts. The two original features provided by Algorand are atomic transactions and Algorand Standard Assets (ASA). These two functions are the two most commonly used functions in financial products: standard assets are used to issue tokens to replace financial assets; atomic transactions are used to exchange tokens without intermediaries. Algorand smart contracts are divided into stateless contracts and stateful smart contracts. The difference between the two is that the use of the state storage space on the chain is required: if only a simple logical judgment function is required, then the stateless contract can complete this process quickly and at low cost; and if some data needs to be stored on the chain, then It needs to be implemented using stateful smart contracts.
So what is their programming model and development experience?
Ethereum’s smart contract development is similar to ordinary software application development, and developers can store data and make logical judgments more naturally. This gives Ethereum developers a higher degree of flexibility and can implement very complex applications, but the problem that comes with it is security. Until today, vulnerabilities in Ethereum applications and exploited by hackers still occur from time to time.
Polkadot’s development experience is unique, because it uses Rust for chain development and realizes various application logic at the bottom. The developer develops the functional module of the application and combines it with the consensus, network and storage module of the agreement to turn it into a new chain to realize the application. This requires developers to have a deep understanding of the Rust language and the underlying architecture of the blockchain.
Algorand’s development is from frugality to luxury. If the application only needs to issue and trade a token, then Algorand’s native ASA and atomic transaction functions can already meet the needs of users; if the application wants to go further, hope to achieve For some automated custody and services, stateless smart contracts can meet the requirements; if you want to implement more complex logic, such as voting and asset mortgages, you can use stateful smart contracts. The simpler the application, the more simple logic it can implement, which not only makes the application easier to develop, but also ensures the security of the application. Algorand uses an instruction set, TEAL-Transaction Execution Approval Language, to complete the logic and state operations in the smart contract. At the same time, it provides a Python-based implementation of PyTeal so that developers can use Python for application development. At the same time, Algorand also provides SDKs in four languages: Java, Javascript, Python and Go for developers to use, helping developers to complete their application development more easily.
Finally, what is their application ecology?
Ethereum currently has the largest application ecosystem. Not only will various centralized applications choose Ethereum as the preferred underlying platform for token issuance, but also various decentralized applications will first choose Ethereum to build their smart contracts.
The Polkadot ecosystem is also gradually developing. After the mainnet is launched, many teams use Substrate to develop their project mainnet, and look forward to connecting to Polkadot’s relay chain main chain in the future to achieve cross-chain between various projects. .
Algorand’s ecology is currently mainly composed of various assets, not only stable currency assets including USDT and USDC, but also security tokens and functional tokens including Props and Republic. In addition, Algorand is also actively building a financial application ecosystem, and has reached cooperation with various well-known organizations to provide them with decentralized solutions.