-
Notifications
You must be signed in to change notification settings - Fork 15
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
Remove contract dependencies #36
Comments
I think it is doable but some work is needed as well as some extra
Let's tackle both one at a time. Block headerFor the block header we could leverage once again the Account informationLet's consider this picture of Ethereum MPTs: We need to prove that a certain account state was valid at a specific block height. To do that, the prover needs to send the raw account state data along with a MPT proof of inclusion, that needs to be checked on-chain. For this we could take a look at this library https://github.com/polytope-labs/solidity-merkle-trees which seems promising and maintained. Once we verify that account data is valid and associated to a certain |
Looks solid, thanks! |
Some updates on this: It looks like Relic isn't easy to run on our devnet, if even at all, because it relies on their online prover (which only runs on mainnet and is run by them. You can see the API used here in their client SDK). This issue is now higher priority if we want to have working fault proofs. As next steps, here I outline the data that we need proven (for now, this isn't a definitive list):
Other relevant info / questions to keep in mind:
|
Part of #206 |
We currently rely on the following dependencies:
It would be nice if the
Challenger
didn't have any third party dependency in Bolt, as it means it's more ergonomic to deploy on devnets and testnets. This issue is to keep track of dependencies and eventually decide on the best strategy to remove them.The text was updated successfully, but these errors were encountered: