Skip to content
Cosmopediaby Unity Nodes
DiscussionsInterchain FoundationTrying to understand the IBC via its paperForum ↗

Trying to understand the IBC via its paper

Interchain Foundation2 posts1,227 views3 likesLast activity Feb 2022
VI
Vishwas1OP
Feb 2022

Hey guys, I am part of team Hypersign ( introduced us a month back to the community ), we are trying to come up with a ICS for DID resolution over IBC. But before that I am trying to understand IBC as deep as possible. After reading the paper of IBC , I tried to visualize the IBC as shown in the image below. image 1309×518 138 KB However, I still have some confusions and unable to find out answers of it. • First question is, is this diagram makes sense or have I misunderstood something? • “Channel exists between modules” => Can channel exists between two disjoint modules? Does Alice’s Module1 have to be same (with respect to code) as Bob’s Module1 or they can be different? • As I understand from the paper that IBC does not care what this data/packet is about, it just helps to transfer it with cryptographic proofs, does it means - any arbitrary data transfer is possible via IBC? • When the packet `P` is transferred over IBC from chain Alice `cA` to chain Bob `cB`, then a new data is created and stored on `cB`? If that is the case then does the `cB` need to have same data structure to store this data `P`, right? • Follow up question of 4. Can it be possible…

Excerpt (1195 of 1402 characters). Read the whole post on the forum ↗

TH
Thomas_Interchain
Feb 2022 3

Hi Vishwas! Thanks for your questions and interest in IBC! Let me run by them: • Your diagram looks pretty okay to me, I believe you’ve grasped the main concepts. I will add an alternative representation below (from a presentation by Chris Goes, the paper’s main author). I would suggest two additions to your diagram: • First, I would add the relayer to it. Your diagram could make it seem as if the two chains are communicating directly with one another, while in reality this is provided by the relayers and is an invaluable part of the IBC infrastructure • Second, I would like to point your attention to a distinction between the module on the ledger that implements IBC functionality with the IBC handler one the one hand and the module sending or receiving the packet, i.e. the application module. Mostly these will be separate modules and the application module will be identified by the port identifier. • The modules on either ledger can be different implementations. The IBC protocol aims to be minimalistic in its requirements for participating ledgers. So there is some freedom in how to implement the IBC modules as long as they provide the required functionality as…

Excerpt (1198 of 3278 characters). Read the whole post on the forum ↗

← Back to Discussions