cosmos / ibc

Interchain Standards (ICS) for the Cosmos network & interchain ecosystem.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ICS03/04: Questions about handshake

michwqy opened this issue · comments

As ICS03

Once opened, connections cannot be closed and identifiers cannot be reallocated (this prevents packet replay or authorisation confusion).

But the identifier and connection data structure are allocated in function connOpenInit and connOpenTry. What will happen if the two connection don't complete the handshake successfully for some reason. Do the identifier and data structure will be reallocated or deleted? Or the two connections must eventually complete the handshake?

And the same question for channel handshake in ICS04.

If connOpenInit succeeds but the chain never executes connOpenAck then the connection identifier that was generated in connOpenInit will not be reused for any other connection. Same thing for connOpenTry if the chain never executes connOpenConfirm. And similar thing happens for channels.

Thanks.