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

feat: periodically re-sync epoch cache with L1 #10435

Open
just-mitch opened this issue Dec 5, 2024 · 3 comments
Open

feat: periodically re-sync epoch cache with L1 #10435

just-mitch opened this issue Dec 5, 2024 · 3 comments
Labels
C-node Component: Aztec Node team-alpha

Comments

@just-mitch
Copy link
Collaborator

context

Our epoch cache cannot tolerate clock drift. Candidate solution is to periodically resync with L1 to understand what time it "really" is.

@Maddiaa0
Copy link
Member

Maddiaa0 commented Dec 6, 2024

related we can use network chaos to simulate time drifts: #10328

@Maddiaa0
Copy link
Member

Maddiaa0 commented Dec 6, 2024

I am equally worried about using l1 as the syncing solution, time on l1 is discrete, not continuous, so depending on what time in the l1 slot we query the timestamp, we can be +- 1 slot. Which is true time +- 12 seconds, a huge 24 second interval.

Perhaps we just have validators sync to traditional time-servers, or we just write our code to account for the +- 12 second edge cases. ( Which is half of why #10327 queries in this slot AND the next slot. One reason being that the proposer may have propagated early, and our sequencer code allows it to do that, but also that the receiving machine may just be 12 seconds behind, and think it is in the wrong slot.

@Maddiaa0 Maddiaa0 added team-alpha C-node Component: Aztec Node labels Dec 6, 2024
@just-mitch
Copy link
Collaborator Author

Maybe we could frame it as detecting the edge of a slot.

Like when the node is approaching what it believes is the epoch boundary based on its clock, it starts polling L1 "what epoch are we in?".

Then it can synchronize based on when it detects the epoch changed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-node Component: Aztec Node team-alpha
Projects
None yet
Development

No branches or pull requests

2 participants