- There is chain A and chain B.
- There is also client state A and client state B.
- When client state B is installed on chain A, it enables chain A to correctly prove that stuff has happened on chain B, and vice versa.
- Relayer Jack sends a message to chain A containing client state B and a message to chain B containing client state A. On each chain, these client states are stored under different arbitrary identifiers, which serve as the "network interfaces".
- For example, chain A stores client state B under "foo" and chain B stores client state A under "bar". When client B at interface foo on chain A proves that a packet was sent from chain B, it is said that the packet arrived at interface foo.
- Relayer Jack (or anyone else) can continue to maintain the connection by updating the height of each client state etc.
- The humans can decide if the connection is valid, that is, if packets arriving at interface foo on chain A really represent packets sent from chain B, and if packets arriving at interface bar on chain B really represent packets sent from chain A.
- Based on this, application developers on A can choose to utilize interface foo and application developers on B can choose to utilize interface bar
Last active
August 11, 2021 22:07
-
-
Save jtremback/7c1397c380d6dad93a0449661e11fbb4 to your computer and use it in GitHub Desktop.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment