domsteil.com

On IBC

Dom Steil
Dom Steil

IBC is like TCP/IP for Blockchain Networks. Interoperability is a key component for developing the next generation of blockchain and cryptographic networks by having traversable and configurable chains that have metadata that is immutable but data that is mutable. Metadata can control governance structures, consensus algos, modifications for different type of blockchain transaction mechanisms and other types of modules. The inter-blockchain communication protocol is a catalyst for the polycentric interchain. Different application specific blockchain networks are going in to be used in different use cases. They currently cannot talk to each other, transfer packets, between blockchains such as token transfers, signatures, votes and other types of transactions. Currently all of the assets on different chains are siloed. Use the unique features of each chain communicate. IBC is a messaging protocol for the interchain. Authenticated, Ordered and Route topology between networks. IBC enables chain innovation and continuous innovation across multiple state machines. Stateset specializes in sales and finance automation with a focus being interoperable with other state machines and smart contracts in the IBC ecosystem: IBC/APP: Application-layer packet semantics. Relayer during the hackathon. Application layer protocols sit on top of IBC. Cross-Chain account abstraction: delegate control to another chain. What state machine interacts. Interchain code relocation: transport contracts in packets. IBC/TAO: Transport, authencation ordering. Transport data from Stateset to another blockchain network: Authenticating that the data came from Stateset and is going to a different blockchain network or state machine. Authenticating that data came from another Blockchain network is interacting with the Stateset Blockchain Network. The Ordering abstraction allows to reason about the ordering of the transactions. IBC Protocol Stack consist of clients, connections, channels, packets, modules: • Client: verifying consensus transcripts • Connections: associating two chains. Created with a handshake. Paired set of identifiers. • Channels: data pipe between two modules. Channels handle Ordering Semantics and routing Semantics. Smart Contracts. Agoric’s JavaScript contracts on Swingset. Transfer of data between modules on different chains. • Packets: Where the action happens. The core messages, can contain different types of data. Token transfers, votes, etc. analogous to the core o one transfer from one to another o start a transfer on one chain o send an outgoing queue on the other o message on the other chain to receive that data o and client to verify data o send an acknowledgement that it completed o time out packets as well o after certain amount of blocks that packet can timeout • Module A wants to send some packet Module B on another. A relayer does the physical transfer. Routes it to Chain B. It goes to the module via Cosmos IBC.