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

[TASK] Wait until an event is finalized/N blocks deep before proposing/relaying it. #193

Closed
drewstone opened this issue May 30, 2022 · 0 comments · Fixed by #284
Closed
Assignees
Labels
difficulty: medium 🚩 feature ➕ Tasks that are functional additions or enhancements p2 🟡 Issue should be resolved soon

Comments

@drewstone
Copy link
Contributor

Overview

To prevent against the worst-case issue of dealing with forks in a chain, we should ensure that the relayers wait some # of blocks for each different chain before relaying or proposing new updates, especially for anchor updates.

For example, if we relay an anchor update to Ethereum and then Ethereum forks, our updates will be lost. Even worse, if we relay an Ethereum anchor update to its neighbors and Ethereum forks, its neighbors will have a corrupted state of Ethereum. This would be considered a bug in our bridge.

Spec

In order to prevent against such attacks/issues, we should have a notion of finality for all the chains we are relaying for. If they have finality then we wait explicitly for that (i.e. that an event is in a finalized block) and if it doesn't then we have some length of time we wait before relaying it, such as 10-100 blocks.

We should be able to identify if events have occurred in finalized blocks firstly and we should add this functionality. For L2s connected to Ethereum with no notion of finality, we should identify and implement something that prevents this issue to the best of our ability.

@drewstone drewstone changed the title [TASK] Wait until an event is N blocks deep before proposing/relaying it. [TASK] Wait until an event is finalized/N blocks deep before proposing/relaying it. May 30, 2022
@dutterbutter dutterbutter added p2 🟡 Issue should be resolved soon feature ➕ Tasks that are functional additions or enhancements difficulty: medium 🚩 labels Jun 3, 2022
@dutterbutter dutterbutter moved this to Not Started 🕧 in Webb Universe Jun 3, 2022
@dutterbutter dutterbutter moved this from Not Started 🕧 to Planning 🗺️ in Webb Universe Jul 28, 2022
Repository owner moved this from Planning 🗺️ to Completed ✅ in Webb Universe Oct 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
difficulty: medium 🚩 feature ➕ Tasks that are functional additions or enhancements p2 🟡 Issue should be resolved soon
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants