Ethereum and Polkadot Comparison

Names

Token & Model

Ethereum 2.0’s token is known as ETH, and uses a sharded, fixed function STF model.

Polkadot’s native token is the DOT token, and the protocol relies on a sharded, pure-abstract STF model.

Consensus Protocol

Ethereum 2.0’s consensus protocol is serenity.

Polkadot’s consensus protocol is fast-forward.

Block Production Sub-protocol

Ethereum 2.0’s block production sub-protocol is RanDAO + LMD Casper.

Polkadot’s block production protocol is Babe.

Finality Gadget Sub-protocol

Ethereum 2.0’s finality gadget sub-protocol is Casper FFG.

Polkadot’s finality gadget sub-protocol is Grandpa.

Main Chain Name

Ethereum 2.0’s main chain name is Beacon Chain.

Polkadot’s Main chain name is Relay-chain.

Interior Chains Name

Ethereum 2.0’s Interior chain name is Shard.

Polkadot’s interior chain name is parachain.

Exterior Chains Name

Ethereum 2.0’s Exterior chain name is Side-chain.

Polkadot’s exterior chain name is Solochain.

Main-chain Consensus

Blockchain Fault Tolerance

Ethereum 2.0’s blockchain fault tolerance is claimed at 36 - 50% , but there has been no proof of this.

Polkadot’s native token is the DOT token, and the protocol relies on a sharded, pure-abstract STF model.

Block Production Transport Complexity

Ethereum 2.0’s is O(N).

Polkadot’s blockchain fault tolerance is 50%.

Finality Transport Complexity

Ethereum 2.0’s is O( N2 / L), where L is the latency of finality.

Polkdato’s is O( N2 / L), where L is the latency of finality.

Finality Fault Tolerance

Ethereum 2.0’s is claimed to be at 33% .[1]

Polkadot’s is 33%.

Finalization Expected Latency

Ethereum 2.0's is expected between 6 - 12 minutes . [2]

Polkadot’s is between 6 and 60 seconds.

Finalization Maximum Volume

Ethereum 2.0’s is millions of blocks.

Polkadot’s is millions of blocks.

Validator Count

Ethereum 2.0's validator count is projected at 16,000, but there is no evidence that this count is realistic.

Polkdot’s validator count is currently at 1,000, but its projected to increase to 10,000.

Notes

[1]               This number is asserted and may not be an unreasonable claim, however no proof of this has been published. Furthermore, a theoretical attack has been published to https://ethresear.ch/ by Dr. Alistair Stewart where liveness may be compromised by just 2% Byzantine nodes.

[2]               It is unclear how long 64 blocks will be in ETH 2.0, but a block is likely to be between 12   and 20 seconds so the maximum is probably at least 12 minutes and the expected would be half. https://github.com/ethereum/eth2.0-specs/blob/676e216/specs/phase0/beacon-chain.md#time-parameters

Eth 2.0’s validator count is projected at 16,000, but there is no evidence that this count is realistic.

 Polkdot’s validator count  is currently at 1,000, but its projected to increase to 10,000.

Main-chain State Transition Function (STF)

Model

Ethereum 2.0’s model is a fixed-function.

Polkadot’s model is an abstract meta-protocol.

Meta-protocol Platform

Ethereum 2.0’s is not a meta-procol, so this is non-applicable.

Polkadot’s meta-protocol is Webassembly.

Meta-protocol Reach

Ethereum 2.0’s is not a meta-procol, so this is non-applicable.

Polkadot’s meta protocol reach is STF, tx queue, off-chain worker.

Randomness Beacon

Ethereum 2.0’s randomness beacon is RanDAO, which is hash-chained based.

Polkadot’s randomness beacon is Babe, which is VRF based.

Light-client status

Ethereum 2.0 is planned for 2-3 years out, but no proofs have been offered.

Polkadot’s light-client status is implemented.

Complete Client Implementation

Ethereum 2.0’s complete client implementation is not released.

Polkadot has one, Parity Polkadot.

Additional Credible Impl. Teams [3]

Ethereum 2.0 has 4 additional implementation teams, although not all of them are especially credible.

Polkadot has 3: Javascript, C++, and Go.

Notes

[3]               Anyone can fire up a repository on Github and claim to be an “incomplete implementation”,  so this only includes projects in an advanced stage of development coming from well-established teams that we recognise as being capable of delivering in the near-term.

 

Shards

Number

Ethereum 2.0’s projected shard number is 64, although it was originally at 1000. This was revised to 64 since it was more realistic.

Polkadot’s projected shard number is 100, although the figure published by the project is based on 1000 validators at 10 validators/shard and looks to be quite conservative.

Shard STF Type

Ethereum 2.0’s shard STF type is a fixed-function.

Polkadot’s shared STF type is a meta-protocol.

Light Client Status

Ethereum 2.0’s light client status is planned for 2-3 years out, but no proofs have been offered.

Polkadot’s light client status is implemented.

Development

Development Model

Ethereum 2.0’s development model is contracts.

Polkadot’s development model is contracts and STF.

Native Smart Contract Types

Ethereum 2.0’s native smart contract type is Wasm. [4]

Polkadot’s native smart contract types is Wasm and EVM.

Smart-Contract Execution

Ethereum 2.0’s Smart-Contract Execution is interpreted. [5]

Polkadot’s smart-contract execution is AOT compiled, and an interpreter (Wasmi) also exists.

STF Platform

Ethereum 2.0 doesn’t have an STF platform.

Polkadot’s STF platform is through a meta-protocol. Any language that targets Wasm, e.g. Rust, C++, LLVM, can express a valid STF.

STF Development Framework

Etherum doesn’t have a development framework.

Polkadot uses Substrate[6].

STF DEV Framework Language

Ethereum 2.0 doesn’t have an STF development framework language.

Polkadot uses Rust.

STF Dev Modular Support

Etherum doesn’t have STF development modular support.

Polkadot has full-spectrum composability.

STF Dev Composition Hooks

Ethereum 2.0 doesn’t have STF development composition hooks.

Polkadot uses Dispatch, Genesis, Events, TxQ, Error, Origin, Inherent, RPC, Off-chain.

STF Dev Framework Modules

Etherum doesn’t have STF development framework modules.

Polkadot has over 25. [7]

Notes

[4]               Webassembly-based smart contract functionality is under design. https://github.com/ewasm/design.

[5]               It is not unrealistic to expect a compiler for smart contracts eventually, however the design/development is at an early stage and it’s not clear that practical deployment is likely.

[6]               Assuming the Polkadot STF development framework is Substrate. The architecture supports others but none exist yet.

[7]               Substrate provides over 20 modules. In addition, there are community libraries.  

                  E.g. ORML: https://github.com/laminar-protocol/open-runtime-module-library

Governance

Decision Making

Polkadot uses a multi-cameral system with lock voting.

Decision Enactment

Ethereum 2.0 uses an opt-in hard fork.

Polkadot uses an on-chain, binding and autonomous decision enactment.

On-Chain Permissionless Bodies

Ethereum 2.0 doesn’t have on-chain permissionless bodies.

Polkadot’s light client status is implemented.

On-Chain Treasury

Ethereum 2.0 has no on-chain treasury.

Polkadot has an on-chain treasury that is controlled by an elected body.

Bridging & Compatibility

BTC Token

Ethereum 2.0 has no compatibility with BTC token.

Polkadot will use a two-way peg. [8]

ETH Token (Ethereum 1.x)

Ethereum 2.0 uses a one-way peg. [9]

Polkadot will use a two-way peg. [10]

Ethereum 1.z Mainnet Smart Contracts

Ethereum 2.0: There are vague suggestions to make ETH-1 a shard in ETH 2.0 by doing a once-off migration of the state, however it is far from clear that this is practically executable in any reasonable time frame.

Polkadot will use full interoperability.

EVM Side-Chain Bridging

Ethereum 2.0 2.0's 2.0 has nothing planned.

Polkadot will use full interoperability (Parity PoA). [11]

EVM Shard Compatibility

Ethereum 2.0 will probably not have shard compatibility. [12]

Polkadot will have full shard compatibility in the Substrate EVM pallet.

Native Shard Solidity Compatibility

Ethereum 2.0 has a Sol-Wasm compiler. [13]

Polkadot has a Sol-Wasm compiler (see footnote 13).

Notes

[8]               This is not yet implemented, however a convincing design is published by the project’s research team https://interlay.gitlab.io/polkabtc-spec/btcrelay-spec/ and an implementation is under way.

[9]               Burnability of ETH 1.x tokens to mint ETH 2.x tokens is a core claim to the platform. Initial spec/implementations are:

    1.                   https://github.com/ethereum/eth2.0-specs/blob/676e216beb0fd95932793ac271802fd48b07e4c5/specs/phase0/deposit-contract.md
    2.                   https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-1.0-to-2.0-migration/

[10]               A comprehensive RFP has been published by the team, together with a full specification document.

    1.                   https://docs.google.com/document/d/1yMpiSAAvGeRebLlzl5fmcq_LloIViperTw4UUEuQYzM
    2.                   Spec: https://hackmd.io/UVzp6Z-bRAOo9Ny531yhmA

[11]               Not yet completed, but an implementation is under heavy development at https://github.com/paritytech/parity-bridge.

[12]               There is work underway to attempt to transcompile EVM code into eWasm such that original EVM contracts can be redeployed under eWasm and work as expected, however it is unclear that this is possible, given gas costs must be respected for compatibility and will be dictated by the eWasm chain.

[13]               A Solidity to Webassembly compiler has been under development for a long while now. Though not yet ready, we expect it is likely feasible.

Timeline / Roadmap

Phase 0 (Maine Chain only)

The optimistic timeline for Ethereum 2.0 is 07/2020. [14]

The timeline for Polkadot is February 2020.

Phase 1 (Shards with no STF)

The optimistic timeline for Ethereum 2.0 is 01/2021 (refer to footnote 14).

The timeline for Polkadot is 04/2020.

Phase 2 (Shards with an STF)

The realistic timeline for Ethereum 2.0 is 01/2023.

The timeline for Polkadot is 04/2020.

Phase 3 (Low-State Client)

The date is unknown for Ethereum 2.0.

Polkadot’s Phase 2 will happen 04/2020.

Phase 4 (Basic Communications)

Ethereum 2.0’s phase 4 timeline is unknown.

Parity’s phase 4 is 06/2020. [15]

Phase 4.1 (Multi-Shard Instancing)

Ethereum 2.0 has a fixed-function, so multi-shared instancing wouldn’t apply.

Polkadot’s timeline is 09/2020.

Phase 5 (Composability) [16]

Ethereum 20: “This May be difficult”

Polkadot’s date is 07/2021.

Notes

[14]               As evaluated by Messari Research in “Crypto Theses for 2020.”

[15]               More XCMP info:

    1.  Final design: https://github.com/w3f/research/blob/master/docs/polkadot/XCMP.md
    2.  Additional: https://medium.com/web3foundation/polkadots-messaging-scheme-b1ec560908b7

[16]               Included for completeness. No network has yet published a viable design for this, to date.