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

Enhance light client verification functions for standalone use #1266

Open
srdtrk opened this issue Jun 21, 2024 · 2 comments
Open

Enhance light client verification functions for standalone use #1266

srdtrk opened this issue Jun 21, 2024 · 2 comments
Labels
O: decoupling Objective: aims to separate concerns and cause to independent, reusable components O: usability Objective: aims to enhance user experience (UX) and streamline product usability

Comments

@srdtrk
Copy link
Member

srdtrk commented Jun 21, 2024

Description

Currently, the verification functions in ibc-rs such as verify_header and verify_misbehaviour require a validation context interface to be provided. However, many of the interface functions within the context are not actually used in these verification functions.

For example, in the verify_header function, it would create a better user experience to allow the user to provide host_timestamp and trusted_consensus_state directly rather than the entire context.

Use case

I am trying to use ibc-rs's 07-tendermint with Succinct's sp1 to create a POC ZK IBC light client for use in Solidity. In this context, it makes sense to avoid maintaining a full light client context and state. This issue is not a blocker but could significantly improve the UX.

Note

I acknowledge that I might not have the full context of the current implementation and usage patterns. If this functionality is already possible or if there are reasons for the current design that I might have missed, I would appreciate any guidance or feedback on this suggestion.

@rnbguy
Copy link
Collaborator

rnbguy commented Jun 21, 2024

I hear you. We will consider upstreaming your suggestions.

But I am curious how you are using them. It sounds like we can benefit in the long run by maintaining a consistent light client trait for ICS02 between sp1 usecase and ibc-rs. (We did something similar for wasm light clients.)

Can you please share your work - here or over slack?

@srdtrk
Copy link
Member Author

srdtrk commented Jun 24, 2024

https://github.com/srdtrk/sp1-ics07-tendermint Here is my work. It can already verify the ZK proofs for ibc-rs's 07-tendermint in Solidity.

@rnbguy rnbguy added O: usability Objective: aims to enhance user experience (UX) and streamline product usability O: decoupling Objective: aims to separate concerns and cause to independent, reusable components labels Jun 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
O: decoupling Objective: aims to separate concerns and cause to independent, reusable components O: usability Objective: aims to enhance user experience (UX) and streamline product usability
Projects
Status: 📥 To Do
Development

No branches or pull requests

2 participants