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

[Tech Debt] - Update VID recovery threshold #2152

Open
1 task
rob-maron opened this issue Dec 1, 2023 · 2 comments
Open
1 task

[Tech Debt] - Update VID recovery threshold #2152

rob-maron opened this issue Dec 1, 2023 · 2 comments

Comments

@rob-maron
Copy link
Collaborator

rob-maron commented Dec 1, 2023

What is this task and why do we need to work on it?

Update the VID chunk size recovery threshold to not use the "previous power of two" algorithm after we have univariate KZG in evaluation form (EspressoSystems/jellyfish#339)

What work will need to be done to complete this task?

No response

Are there any other details to include?

No response

What are the acceptance criteria to close this issue?

  • chunk size recovery threshold calculation does not deal with powers of two

Branch work will be merged to (if not the default branch)

No response

@ggutoski
Copy link
Contributor

ggutoski commented Dec 1, 2023

See #2149 (comment)

We need to ensure that chunk_size recovery_threshold is sufficiently smaller than num_storage_nodes so that our security assumption (f-fraction malicious nodes) implies that there is a sufficiently large number of honest storage nodes to recover the payload. Typically this ratio should be like 2x or 4x.

@ggutoski ggutoski changed the title [Tech Debt] - Update VID chunk size [Tech Debt] - Update VID ~~chunk size~~ recovery threshold Apr 1, 2024
@ggutoski ggutoski changed the title [Tech Debt] - Update VID ~~chunk size~~ recovery threshold [Tech Debt] - Update VID recovery threshold Apr 1, 2024
@mrain
Copy link
Contributor

mrain commented Jul 31, 2024

Current VID parameter setting is UNSAFE!

let recovery_threshold = 1 << num_storage_nodes.ilog2();

When num_storage_nodes is near a power of two, for example 17. recovery_threshold is set to 16 so we only have 1 redundancy. In this case, recoverability cannot be guaranteed if we have 1/3 corrupted party.

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

No branches or pull requests

3 participants