unionlabs/union

add `ConsensusType` to voyager

Closed this issue · 0 comments

this would give us:

  • chain id: unique identifier for a chain. a chain is associated with exactly one consensus type and one or more ibc interfaces.
  • consensus type: verifiable consensus mechanism for a chain (tendermint, cometbls, eth beacon, etc). this is verifiable by many client types.
  • client type: implementation of a light client that is capable of verifying a consensus (cometbls, cometbls-groth16).
  • ibc interface: environment that a client runs in (ibc-go native, ibc-go 08-wasm, ibc-solidity, etc).

currently client type is overloaded as both consensus & consensus verification, which is incorrect - there can be multiple ways to verify a consensus.