penumbra icon indicating copy to clipboard operation
penumbra copied to clipboard

Tracking issue: IBC Implementation

Open avahowell opened this issue 2 years ago • 1 comments

This is a tracking issue for the high-level items required to reach our MVP3: integration of the IBC protocol for bridging assets in and out of Penumbra.

Prerequisites for mplementing the IBC protocol on Penumbra

  • [x] ICS-23 proof specification for our state tree (JMT). Our counterparties need this, we can use existing IAVL proof spec to verify our counterparty's proofs. - https://github.com/cosmos/ics23/pull/136
  • [x] https://github.com/penumbra-zone/jmt/issues/18
  • [x] Light client implementation for Penumbra, also light clients that can verify Cosmos SDK chains. We should get this automatically: our counterparties can run Tendermint light clients of Penumbra, and we can use tendermint light clients (such as tendermint-rs) to track our counterparties state.
  • [x] #464: A way to include IBC packets in Penumbra transactions, so that relayers can add messages to the chain.
  • [x] #465: A way for relayers to actually create those transactions.

Implementing the core IBC protocol in Penumbra's state machine

  • [x] #466
  • [x] #506
    • [x] #635
    • [x] #636
  • [x] #637
  • [x] #638
  • [x] #639

After implementing the core IBC protocol (connections, channels, and packets), we can then

  • [x] https://github.com/penumbra-zone/penumbra/issues/2859
  • [x] #467
    • [x] #981
    • [x] #2284
    • [ ] https://github.com/penumbra-zone/penumbra/issues/2985
  • [x] Implement client-side support for ICS20 withdrawals - https://github.com/penumbra-zone/penumbra/pull/2301
  • [x] #3193
  • [x] https://github.com/penumbra-zone/penumbra/issues/2173

Testing integrations, developer experience improvements

  • [x] https://github.com/penumbra-zone/penumbra/issues/3222
  • [x] https://github.com/penumbra-zone/penumbra/issues/3193
  • [x] https://github.com/penumbra-zone/penumbra/issues/3116
  • [x] https://github.com/penumbra-zone/penumbra/issues/3209
  • [x] https://github.com/penumbra-zone/penumbra/issues/3045
  • [ ] https://github.com/strangelove-ventures/interchaintest/issues/644
  • [ ] https://github.com/strangelove-ventures/interchaintest/issues/313
  • [ ] https://github.com/penumbra-zone/penumbra/issues/1813
  • [ ] #2914
  • [ ] https://github.com/penumbra-zone/penumbra/issues/3125

Stretch goals, non-blocking for mainnet, but tracking because completing these would make us friendly FOSS maintainers:

Many IBC primitives (such as the protos for connections, channels, packets, etc) are already implemented in ibc-rs.

avahowell avatar Mar 01 '22 03:03 avahowell

This tracking issue has been around for nearly 2y now, and although it's been updated frequently, we need a fresh look at the state of play for IBC. Let's close it. @avahowell and I will work to respecify with work in light of recent experiences.

conorsch avatar Feb 08 '24 21:02 conorsch

Closing as requested.

hdevalence avatar Mar 22 '24 05:03 hdevalence