Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICS 5: IBC packet semantics & handling #24

Closed
cwgoes opened this issue Mar 5, 2019 · 6 comments
Closed

ICS 5: IBC packet semantics & handling #24

cwgoes opened this issue Mar 5, 2019 · 6 comments
Assignees
Labels
tao Transport, authentication, & ordering layer.

Comments

@cwgoes
Copy link
Contributor

cwgoes commented Mar 5, 2019

Primarily ported from the original IBC spec.

Will cover:

  • IBC packet semantics
  • Required data structures
  • Packet wire encoding
@cwgoes cwgoes added tao Transport, authentication, & ordering layer. stage-strawman labels Mar 5, 2019
@cwgoes cwgoes self-assigned this Mar 5, 2019
@cwgoes cwgoes changed the title ICS ?: IBC packet specification ICS ?: IBC packet specification & handling Mar 5, 2019
@cwgoes cwgoes changed the title ICS ?: IBC packet specification & handling ICS ?: IBC packet semantics & handling Mar 5, 2019
@cwgoes cwgoes changed the title ICS ?: IBC packet semantics & handling ICS 5: IBC packet semantics & handling Mar 5, 2019
@cwgoes
Copy link
Contributor Author

cwgoes commented Mar 12, 2019

To-do in spec:

  • Reference primitives defined in ICS 3 / ICS 4
  • Formalize packet handling algorithm
  • Enumerate security properties (particularly replay prevention)
  • Define packet data structure
  • Define options for receipts, timeouts, alterations to handlers

@cwgoes
Copy link
Contributor Author

cwgoes commented Mar 18, 2019

Datagram formats that need to be defined in this spec (that I can think of so far):

  • PACKETFORWARD - forward packet
  • PACKETREVERSE - reverse packet (receipt)
  • PACKETTIMEOUT - timeout packet (if it needs to be a packet at all)

@cwgoes cwgoes added this to the Minimum Viable Insecure IBC milestone Mar 19, 2019
@mossid
Copy link

mossid commented Mar 20, 2019

My thought was directly inspecting the incoming sequence on the other chain to detect timeout, so in that case, PACKETTIMEOUT will not be needed.

@cwgoes
Copy link
Contributor Author

cwgoes commented Mar 20, 2019

I think that depends on which ordering requirements are selected by the channel - sometimes one might want timeouts without ordering - but when possible I agree.

@cwgoes
Copy link
Contributor Author

cwgoes commented May 9, 2019

Possibly this may not actually require a separate ICS, I think ICS 4 will determine most of this at the channel level.

@cwgoes
Copy link
Contributor Author

cwgoes commented May 10, 2019

Closing, this should just be merged into ICS 4 (#1).

@cwgoes cwgoes closed this as completed May 10, 2019
cwgoes added a commit that referenced this issue Mar 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tao Transport, authentication, & ordering layer.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants