Skip to content

Instantly share code, notes, and snippets.

@zmanian
Last active April 24, 2019 14:59
Show Gist options
  • Save zmanian/f150cb3156c5507295cc92eadfaa6573 to your computer and use it in GitHub Desktop.
Save zmanian/f150cb3156c5507295cc92eadfaa6573 to your computer and use it in GitHub Desktop.

ChainWeb and IBC

ChainWeb is a multi chain braid that supports an IBC like interchain messaging protocol. This is minimally specified and implemented in the testnet. These is an intent to extend this messaging protocol beyond the braid to support other chains. This use case is basically identical to Cosmos.

Handshake

The current chain web protocol does not need an introduction/handshake because all chains in the braid are introduced to each other at genesis. Adding new chains to the braid requires a restart/hardfork.

Broadcast

The protocol supports asynchronous broadcast messages with origin and destination chains and origin and destination pact contracts. There is a protocol level system for authenticating messages that pact contracts can invoke.

Accumulator Proofs

There are inputs and outputs that are provable with an accumulator proofs and are functional similar to IBC input and out queues.

Modules

Pact contracts are isomorphic to modules in the Cosmos SDK. Chainweb pacts address a specific module

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment