-
Notifications
You must be signed in to change notification settings - Fork 46
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
Discussion: Onboarding of new validateers #273
Comments
I believe it should be your (1) only, not (2). Scanning the chain takes very long and it isn't necessary in our threat model |
Yes, I agree. Came to the same conclusion yesterday after some thinking. |
connected to #345 |
@mullefel can you please review this task and think about edge cases to tackle? |
Here we briefly discussed two different syncs depending on state recency: |
Please let me know if I got something wrong, or missed an important part. Much appreciated 🙏 Feature RequirementsBased on the proposed solution (1), I identified some feature requirements:
Edge CasesScenario multiple new validateers spawned at once
Scenario validateer is offline for a short period
Scenario onboarding latency
|
Continuing my work of commenting on everything: I think the feature requirements sound about correct, but @clangenb is the expert here :) As an example in scenario Scenario validateer is offline for a short period: In case V3 gets it state from V2 (which is outdated, but not very) and notices that it's missing some blocks, it can just request these missing blocks from V1. This should not require any additional implementation, because every validateer needs to be able to rerequest sidechain blocks in case it missed some due to whatever reason. What we need to keep in mind is that sidechain blocks will be deleted after some (configurable) time. So in case the state syncing latency gets too high, it might really end up in a scenario where a validateer syncs for some time and after it has finally finished syncing, it only then notices that its state is too oudated and it can not refetch the missing blocks. |
Please split all these learnings and decisions into tasks and schedule them. All in one epic |
With the addition of the direct invocation api, a worker's state can't be constructed with onchain data only. Hence, when a new worker onboards, it needs to fetch data from other workers. Two obvious solutions exists.
chain_relay_db
and the STF's state. This would be the simple onboarding, which leverages the trusted nature of TEEs.Eventually, we should implement both ways:
The text was updated successfully, but these errors were encountered: