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

PosProof should be parametrized by K #2557

Open
dariolina opened this issue Feb 26, 2024 · 2 comments
Open

PosProof should be parametrized by K #2557

dariolina opened this issue Feb 26, 2024 · 2 comments
Labels
consensus Something that impacts consensus core Related to core protocol, may affect fundamentals

Comments

@dariolina
Copy link
Member

Currently value for SIZE includes a hardcoded to 20 in PosProof:

pub const SIZE: usize = 20 * 8;

But should depend on this K:

I also suspect there may be a better place for K as well

@dariolina dariolina added core Related to core protocol, may affect fundamentals consensus Something that impacts consensus labels Feb 26, 2024
@nazar-pc
Copy link
Member

Primitives are primitives, they should not depend on heavy PoSpace implementation.
Also parametrizing it by K while possible, has far reaching consequences and currently code base is not ready for K to ever change. While those constants are in different places, code will fail to compile if they mismatch, so in that context it should not be a huge problem that they are in different places, but we can definitely move it to core primitives if necessary, there was just no use for it.

I saw discussions about K change, is that something we expect we may need? I thought we settled on 20 quite some time ago.

@dariolina
Copy link
Member Author

The expectation for K was that it should be possible to change after launch if we deem 20 no longer adequate as the computational capabilities of hardware increase. I am aware that current implementation doesn't fully support (though a lot of it does, like table generation) that, so opened this issue to start steering it on the right track.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus Something that impacts consensus core Related to core protocol, may affect fundamentals
Projects
None yet
Development

No branches or pull requests

2 participants