Remove 03-connection layer #7134
Labels
change: api breaking
Issues or PRs that break Go API (need to be release in a new major version)
change: protocol breaking
Issues that cannot be addressed because they break the current protocol version
epic
icebox
Issues that we will not address for the time being
Milestone
Summary
With #6985 we see a direction of IBC which is simpler and more efficient, thus easier to implement in other languages and environments. The 03-connection layer should be removed. Here's why.
Problem Definition
The 03-connection layer has primarily served as a wrapper around the 02-client layer with additional information which is set during a connection handshake. This connection handshake ensured that clients were indeed properly configured and connected to one another. It could not verify if one side of the connection was malicious though.
With the removal of client and consensus state validation cosmos/ibc#1128, we can see that there isn't much left occurring in the connection handshake
More or less we:
None of these are really necessary.
If we look at the connection structure we have:
The primary pieces which are useful and must be migrated:
Proposal
I think a first step is to require connections initiated on our side to use eureka #7004. This would remove
MsgConnOpenInit
andMsgConnOpenAck
. In addition, once we performMsgConnOpenConfirm
, we could remove the connection end we were setting in state. We would need to modify the channel handshake to account for a missing connectionWe unfortunately cannot do the same for
MsgChanOpenInit
andMsgChanOpenAck
without making changes to interchain accounts controller module.Once all the below are checked, we can remove all references to the 03-connection layer:
For Admin Use
The text was updated successfully, but these errors were encountered: