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

Add validation description for LightClientBootstrap + Update #306

Merged
merged 1 commit into from
Jun 3, 2024

Conversation

kdeme
Copy link
Collaborator

@kdeme kdeme commented May 23, 2024

This explicitly adds the validation mentioned in step1 for #296 and #305

@acolytec3
Copy link
Contributor

This looks fine to me. A while back, I implemented an alternative solution in Ultralight for identifying a "probably" trusted bootstrap (basically just requesting recent LC updates and trying to gain a majority view on a trusted block root from comparing the responses provided of multiple peers) though that's not reliable except in a probabilistic way. Any opinions about including something like that as a fallback way of joining the network (e.g. in the case where a trusted block root can't be acquired directly?

@pipermerriam
Copy link
Member

Any opinions about including something like that as a fallback way of joining the network

IMHO I think you should require a trusted block root to enter the network and using a probabilistic approach that can't be guaranteed is probably irresponsible client design at this stage of client development. If anything, it introduces an incentive to attack our network since it's very directly able to be attacked by spinning up a large number of malicious nodes.

@kdeme
Copy link
Collaborator Author

kdeme commented Jun 3, 2024

Any opinions about including something like that as a fallback way

I think this should be a client implementers choice, as I would probably advise against it for reasons that @pipermerriam points out.
If it does turn out to be too big of an issue that many bootstraps are not available, we should move to the version where we provide all bootstrap (back-fill) with proofs against the roots of the historical_summaries.

@kdeme kdeme merged commit 682ea6d into master Jun 3, 2024
3 checks passed
@kdeme kdeme deleted the beacon-validation-update branch June 3, 2024 11:09
@pipermerriam
Copy link
Member

To be clear, I'm advising against the probabilistic approach mainly because I think it will be a time sink at this stage of protocol development, and the trusted root approach should be simple to implement. I fully agree that clients can and should choose to to implement whatever approach they prefer here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants