Spec for Canto. Contribute to canto-ethereum/spec development by creating an account on GitHub.
CANTO: A Scalable Blockchain System Interconnect Model
Hi everyone, We as a team between ConsenSys (@atoulme, @willmeister) Whiteblock (@zscole, @araskachoi) and a few other…


The idea for Canto came up over beers between Antoine Toulme (Consensys) and Zak Cole (Whiteblock) in November 2018. Their discussion focused on a few roadblocks: ETH 2.0 is going to take some time and there’s no guarantee that ETH 1.0 (1.x) improvements would all be implemented. How could they help push Ethereum forward with the current environment? From this frustration Canto was born. The name comes from poetry, referring to “one of the major divisions of a long poem.”


Conceptually, Canto is simple: the proposal hinges on a new Ethereum subprotocol. Every up-to-date ETH client includes four subprotocols, denoted by a short prefix: eth, les (light clients) shh (whisper), and bzz (swarm). The subprotocols facilitate important activities onchain in addition to the basic functions of the network.

Antoine explaining Ethereum subprotocols: watch full talk here

This is why we can’t have nice things.

Livepeer Transcoder Explorer


Every subnet begins and is maintained through the same core of contracts, hosted on the Main ETH chain — however, the spec section on Contract Creation is a better source for technical readers.

Routing, Factory & Gateway Contracts


Though Canto may initially appear similar to Plasma, there are some important distinctions between them.

  • Both require some degree of coordination to kick off the network
  • Shared challenges in the design of mass exit mechanisms (load balancer back to mainnet).
  • Smart Contracts on Plasma are a challenge — read “Why is EVM-on-Plasma hard?” from Kelvin Fichter.


Outside of Ethereum proper, Canto might also resemble Polkadot, a Parity project; again, there are important differences.

  • Both enable smart contracts.
  • Polkadot has a more rigid architecture that only allows for PoS — while the Ethereum basechain only permits PoW currently. Canto offloads onchain activity to to flexible subnets that can be PoW, PoS, PoA
  • Canto’s subnets are “logically isolated from one another, responsible for their own security and function” while Polkadot’s parachains require interoperation in order to pool security collectively.
  • Every parachain on Polkadot operates under on-chain governance. Canto leaves any governance (or lack of it) up to each subnet to decide.


While Canto is conceptually straightforward, there are still challenges that might slow implementation and the growth of a mature ecosystem.

Follow me

Aaron Beattie

CMO at Whiteblock
I joined Whiteblock in June of 2019 because of their mission to make distributed systems more reliable. The team is world-class. I'm looking forward to sharing with you our developments as they happen.
Follow me

Latest posts by Aaron Beattie (see all)

Get Free Early Access To The Beta

Get Free Early Access To The Beta

You have Successfully Subscribed!