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

ibc-go feature: Beefy light client #2818

Closed
3 tasks
livelybug opened this issue Nov 23, 2022 · 4 comments
Closed
3 tasks

ibc-go feature: Beefy light client #2818

livelybug opened this issue Nov 23, 2022 · 4 comments

Comments

@livelybug
Copy link

Summary

Beefy light client on ibc-go needed for Substrate <> Cosmos cross-chain transaction(ICS20).

Problem Definition

The substrate-ibc project to enable Substrate <> Cosmos cross-chain transaction(ICS20) is in progress.

On the Substrate side, we use substrate-ibc pallet integrated with ibc-rs, where the Tendermint light client resides in and verifies the messages from the Cosmos side.

The Substrate uses GRANDPA for block finalization and adopts Beefy as a secondary protocol alone with GRANDPA for efficient bridging. On the Cosmos side, a corresponding light client is needed to verify messages from Substrate finalized by GRANDPA & Beefy. No such light client has been released for now, and the substrate-ibc project is blocked. Composable Finance team is developing a beefy light client on ibc-go (@seunlanlege), which is in progress and can't be used for integrated testing.
The testing issue is submitted to CF team.

Proposal

We would like to develop a light client on ibc-go with updated ICS10 spec and the code of CF's light client as references. Noted that CF team is developing a Beefy light client by Rust, which may benefit the chains embedded with Cosmwasm. Cosmos chains without Cosmwasm still need Beefy light client in Golang to enable IBC connection with Substrate chains.


For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate contributors tagged/assigned
@crodriguezvega
Copy link
Contributor

crodriguezvega commented Nov 24, 2022

Hi @livelybug, thanks for opening the issue.

If I remember correctly the Composable Finance team hit some roadblocks on their implementation of a beefy light client for ibc-go and decided to implement it in Rust instead. Do you have a plan of how you will solve those issues that Composable Finance faced on the implementation of the Go light client? And have you coordinated with Composable Finance to maybe continue the work from where they left off?

@blasrodri
Copy link
Contributor

One of the issues/blockers we had was: ChainSafe/gossamer#2329

@boern
Copy link

boern commented Dec 5, 2022

@blasrodri Thank you for your feedback, we are communicating with @qdm12 about this issue and trying to resolve it, other than that, are there any other issues during the development of the beefy light client?

@crodriguezvega
Copy link
Contributor

@livelybug I will close this issue for now, since there's no concrete action for us to take at the moment. If you develop a beefy light client in Go it will be not mandatory for it to be in ibc-go in order for chains to use it. From ibc-go v7.0.0 onwards light clients will need to implement the AppModuleBasic interface, so they can be regular SDK modules living in their own repositories. See this PR for an example with 07-tendermint.

Good luck with this endeavor!

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

4 participants