What is IBC and How Does it Work?

Jan 15, 2022

[Xangle Originals]
Written by Bonk

 

pick

 

Since its launch in April 2021, the buzzword “IBC” has been swarming the crypto space for quite a while, but what is IBC and why should one pay attention? Let’s say a trader wants to spend their ETH on another chain. Usually it would take a couple of swaps on exchanges to enter another ecosystem. More than often this process can come with a costly gas fee and one might encounter unexpected hurdles like unfamiliar user experience and network configurations. By providing a protocol where blockchains can directly communicate with each other, IBC can solve this UX problem and allow economic integration while each chain can preserve its sovereignty in terms of governance and development.

IBC stands for Inter-Blockchain Communication Protocol. As per its name, it is a protocol used for blockchains to communicate with each other, allowing transfer of data. It is similar to how the internet works: differently built machines exchanging data in a standardized model. Sunny Aggarwal, ex-research scientist at Tendermint and Co-founder of Osmosis revealed that IBC took strong influence from the TCP/IP protocol during its development phase.

That being said, IBC is not an application-layer protocol. According to IBC’s official website, it handles data transportation, authentication, and reliability only. In other words, developers can build on IBC to transfer more than tokens. Smart contracts, NFTs, and oracle data feed transfers are possible use cases.

 

For two separate blockchains to communicate with each other there must be an agreement, or a handshake, between the two blockchains. This initial stage consists of a series of transactions containing information and proofs about the state of each chain. The handshake ensures the two chains are using the correct identifiers, authenticate each other, and initializes the packet transfer process. After the handshake is established, data packets containing arbitrary serialized data can be transferred between the two chains via transaction packets. Meta data information is also included in these packets to verify the origin of the packet.

Packets are relayed to its destination chain via relayers. As blockchains cannot talk to each other, these permissionless third-party entities continuously scan the state of ledgers that implement the IBC protocol and relays packets to their destination when needed. Then IBC can guarantee that the packet has been sent by the source chain once it arrives at its destination. However, as mentioned above, IBC is merely a transport method. In other words, it is “agnostic” as to the transported data. Data will be processed on the application layer of the destination chain to be serialized, interpreted, and executed.

Packets can be routed under a variety of options which include timeout requirements and ordering guarantees so that packets can come in certain order and timeframe. Moreover, many IBC connections can exist between two chains. Each connection can be distinguished as namespaced routes and allow different types of IBC packets interact with the underlying state machine.

 

However, when assets are transferred to another chain, the assets do not “leave” its source chain. The relayer will transfer the data indicating that a certain asset will exist on a certain chain, but the underlying asset will be “locked” on the source chain, while appearing on its destination chain. It is similar to how Wrapped Bitcoin (WBTC) works on the Ethereum network. Once the asset is ready to move back to its origin, the proxy assets will be burned and the locked assets will be released.

Any blockchain can implement IBC given they meet requirements including a module system, key-value store, consensus state introspection, timestamp access, port system, exception/rollback system, and data availability. Blockchains made with the Cosmos SDK can simply implement it using the IBC module.

To summarize, IBC provides an interface for blockchains to transfer data in packets. Relayers scan IBC-implemented chains to transfer data. Data can include token transfers, NFTs, smart contracts, and oracle data feeds. IBC validates the data as a transport layer protocol, meaning that the transported data is agnostic to the IBC protocol.

 

주의사항
본 글에 기재된 내용들은 작성자 본인의 의견을 정확하게 반영하고 있으며 외부의 부당한 압력이나 간섭 없이 작성되었음을 확인합니다. 작성된 내용은 작성자 본인의 견해이며, (주)크로스앵글의 공식 입장이나 의견을 대변하지 않습니다. 본 글은 정보 제공을 목적으로 배포되는 자료입니다. 본 글은 투자 자문이나 투자권유에 해당하지 않습니다. 별도로 명시되지 않은 경우, 투자 및 투자전략, 또는 기타 상품이나 서비스 사용에 대한 결정 및 책임은 사용자에게 있으며 투자 목적, 개인적 상황, 재정적 상황을 고려하여 투자 결정은 사용자 본인이 직접 해야 합니다. 보다 자세한 내용은 금융관련 전문가를 통해 확인하십시오. 과거 수익률이나 전망이 반드시 미래의 수익률을 보장하지 않습니다.
본 제작 자료 및 콘텐츠에 대한 저작권은 자사 또는 제휴 파트너에게 있으며, 저작권에 위배되는 편집이나 무단 복제 및 무단 전재, 재배포 시 사전 경고 없이 형사고발 조치됨을 알려드립니다.