Polkadot and Cosmos Comparison

Names

Token & Model

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

Cosmos’s token is an ATOM, and its model is the bridge-hub.

Consensus Protocol

Polkadot’s consensus protocol is fast-forward.

Cosmos’s consensus protocol is Tendermint.

Block Production Sub-protocol

Polkadot’s block production protocol is Babe.

Cosmos is monolithic so it does not have a block production sub-protocol.

Finality Gadget Sub-protocol

Polkadot’s finality gadget sub-protocol is Grandpa.

Cosmos is monolithic so it does not have a finality gadget sub-protocol.

Main Chain Name

Polkadot’s Main chain name is Relay-chain.

Cosmos’s main chain name is Cosmos Hub. [1]

Interior Chains Name

Polkadot’s interior chain name is parachain.

Cosmos is not sharded, so there is no interior chain.

Exterior Chains Name

Polkadot’s exterior chain name is Solochain.

Cosmos’s exterior chain is called Zone.

Notes

[1]               Technically, there’s little to prevent other “main chains” on the network if they can get enough buy-in.

 

Main-chain Consensus

Blockchain Fault Tolerance

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

Cosmos’s block production fault tolerance is 33%.

Block Production Transport Complexity

Polkadot’s blockchain fault tolerance is 50%.

Cosmos’s block production transport complexity is O( N2 )

Finality Transport Complexity

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

Cosmos’s finality transport complexity is O( N2 ).

Finality Fault Tolerance

Polkadot’s is 33%.

Cosmos’s finality fault tolerance is 33%.

Finalization Expected Latency

Polkadot’s is between 6 and 60 seconds.

Cosmos’s finalization expected latency is instant.

Finalization Maximum Volume

Polkadot’s is millions of blocks.

Cosmos’s finalization maximum volume is one block.

Validator Count

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

Cosmos’s validator count is 100.

Main-chain State Transition Function (STF)

Model

Polkadot’s model is an abstract meta-protocol.

Cosmos’s model is a fixed-function.

Meta-protocol Platform

Polkadot’s meta-protocol is Webassembly.

Cosmos does not have a meta-protocol, so this is non-applicable.

Meta-protocol Reach

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

Cosmos does not have a meta-procol, so this is non-applicable.

Randomness Beacon

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

Cosmos does not have a randomness beacon.

Light-client status

Polkadot’s light-client status is implemented.

Cosmos’s light-client status is implemented.

Complete Client Implementation

Polkadot has one, Parity Polkadot.

Cosmos’s complete client implementation is Cosmos SDK.

Additional Credible Impl. Teams [2]

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

Cosmos’s other implementation team is Rust.

Notes

[2]               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

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.

Cosmos is not sharded.

Shard STF Type

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

Cosmos is not sharded.

Light Client Status

Polkadot’s light client status is implemented.

Cosmos’ light client status is implemented.

Development

Development Model

Polkadot’s development model is contracts and STF.

Cosmos development model is contracts and STF.

Native Smart Contract Types

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

Cosmos’s native smart contract type is Wasm and EVM. [3]

Smart-Contract Execution

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

Cosmos’s Smart-Contract Execution is interpreted. [4]

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.

Cosmos’s STF platform is Go-lang. [5]

STF Development Framework

Polkadot uses Substrate[6].

Cosmos’s STF Development Framework is Cosmos SDK.

STF DEV Framework Language

Polkadot uses Rust.

Cosmos’s STF platform is Go-lang. [7]

STF Dev Modular Support

Polkadot has full-spectrum composability.

Cosmos uses language-only STF dev. modular support. [8]

STF Dev Composition Hooks

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

Cosmos is not composable.

STF Dev Framework Modules

Polkadot has over 25. [9]

Cosmos has approximately 10. [10]

Notes

[3]               The EVM contract chain is not    yet implemented, however a credible team has been hired to build it. A Wasm chain is also under development. https://github.com/confio/cosmwasm

[4]               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.

[5]               Some teams have begun an attempt to reimplement the stack in Rust. Efforts are at an early stage.

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

[7]               Some teams have begun an attempt to reimplement the stack in Rust. Efforts are at an early stage.

[8]               No additional means of modular STF development is provided by the framework.

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

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

[10]               Cosmos SDK Modules: https://github.com/cosmos/cosmos-sdk/tree/master/x

Governance

Decision Making

Polkadot uses a multi-cameral system with lock voting.

Cosmos uses coin-vote signaling.

Decision Enactment

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

Cosmos uses an opt-in hard-fork.

On-Chain Permissionless Bodies

Polkadot’s light client status is implemented.

Cosmos doesn’t have on-chain permissionless bodies.

On-Chain Treasury

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

Cosmos has no on-chain treasury. [11]

Notes

[11]               Though there may be long-term plans to move the treasury on-chain https://twitter.com/jaekwon/status/1215386686378500097?s=12

Bridging & Compatibility

BTC Token

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

Cosmos will have a two-way peg. [13]

ETH Token (Ethereum 1.x)

Polkadot will use a two-way peg.

Cosmos will have a two-way peg (refer to footnote 12).

Ethereum 1.z Mainnet Smart Contracts

Polkadot will use full interoperability.

Cosmos: There were plans to "hard spoon" the Ethereum mainnet into a new Tendermint-based network. The plans are apparently suspended owing to the difficulty of implementation.

EVM Side-Chain Bridging

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

Cosmos is expected to have a two-way peg. [15]

EVM Shard Compatibility

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

Cosmos is not sharded.

Native Shard Solidity Compatibility

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

Cosmos is not sharded.

Notes

[12]               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.

[13]               Both ETH and BTC token bridging were claimed as key features in the whitepaper, so we give them the benefit of the doubt that this will be delivered.

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

[15]               It is expected to be able to engender token-level compatibility between chains through Ethermint & IBC.

Timeline / Roadmap

Phase 0 (Maine Chain only)

The timeline for Polkadot is February 2020.

Cosmos phase 0 was 08/2019.

Phase 1 (Shards with no STF)

The timeline for Polkadot is 04/2020.

Cosmos is not sharded.

Phase 2 (Shards with an STF)

The timeline for Polkadot is 04/2020.

Cosmos is not sharded.

Phase 3 (Low-State Client)

Polkadot’s Phase 2 will happen 04/2020.

Cosmos is not sharded.

Phase 4 (Basic Communications)

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

Cosmos phase 4 will be done 06/2020.

Phase 4.1 (Multi-Shard Instancing)

Polkadot’s timeline is 09/2020.

Cosmos is not sharded.

Phase 5 (Composability) [17]

Polkadot’s date is 07/2021.

Cosmos is not sharded.

Notes

[16]               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

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