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 ?: Multi-hop routing #65

Closed
cwgoes opened this issue Apr 2, 2019 · 5 comments
Closed

ICS ?: Multi-hop routing #65

cwgoes opened this issue Apr 2, 2019 · 5 comments

Comments

@cwgoes
Copy link
Contributor

cwgoes commented Apr 2, 2019

Datagram type for multi-hop routing and associated semantics, which we need to figure out how to properly abstract from the application layer where possible.

@vshvsh
Copy link

vshvsh commented Apr 3, 2019

Multihop routing can be complicated given that there can be more then one route between source and destination with different security/speed/tx fees.

Questions to consider:

  • Atomicity: does fail in the middle means fail for the whole packet transfer? Atomic is easier and likely safer but it means that all the successful hops are wasted which can be expensive.
  • Route auto-adjustment: does the route get hardcoded in the initial packet or it can be influenced by the relayer?
  • Specifying fees: single gas price and fee token for all the transfer? Specifying fees and fee token on every hop? Specifying maximum total fee that gets bidded upon by hops?
  • Adjusting fees en route: during packet transfer packet can get stuck because allotted fee is insufficient and the next hop doesn't commit it to the block. Can we increase the fee en route?
  • Manual failing of a transfer: if the packet is stuck due to insufficient fee, we have to wait for the timeout to fail the transfer or can fail it manually?
  • Do we allow multihop routing for every possible packet (so it's like a transport wrapping for any datagram) or limit it to a specified set of features like token transfer?

@mossid
Copy link

mossid commented Apr 15, 2019

Another question to consider:

  • Ordering: Consider three chains S1, S2, H, and D. The packets are passing through H, from S1 and S2 to D. Are the packets coming from S1 and S2 ordered separately or are they mixed, on the connection of H-D? If mixed, is it vulnerable to DoS attack?

@vshvsh
Copy link

vshvsh commented Apr 16, 2019

I think any DoS concerns are mitigated by onchain fees on H? It doesn't seem any more vulnerable than a regular single-hop H-D connection. Am I missing something?

@cwgoes
Copy link
Contributor Author

cwgoes commented Jun 29, 2019

Ref https://github.com/cosmos/ics/issues/138, which has a more up-to-date discussion.

@cwgoes
Copy link
Contributor Author

cwgoes commented Aug 17, 2019

Closing in favor of https://github.com/cosmos/ics/issues/138.

@cwgoes cwgoes closed this as completed Aug 17, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants