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: non-interactive PoRep #1734

Merged
merged 3 commits into from
Dec 19, 2023
Merged

feat: non-interactive PoRep #1734

merged 3 commits into from
Dec 19, 2023

Conversation

vmx
Copy link
Contributor

@vmx vmx commented Oct 31, 2023

Adding non-interactive PoRep. It's similar to the interactive PoRep, but
it performance 12.6x the amount of proofs. In order to not overwhelm the
system with too many parallel proofs, they are split into batches of 10,
which then leads to a similar resource consumption per batch as for a
single interactive PoRep.

Adding non-interactive PoRep. It's similar to the interactive PoRep, but
it performance 12.6x the amount of proofs. In order to not overwhelm the
system with too many parallel proofs, they are split into batches of 10,
which then leads to a similar resource consumption per batch as for a
single interactive PoRep.
@vmx vmx marked this pull request as ready for review December 18, 2023 17:42
@vmx vmx changed the title WIP: non-interactive PoRep feat: non-interactive PoRep Dec 18, 2023
@vmx
Copy link
Contributor Author

vmx commented Dec 18, 2023

OK, I've rebased the commit and added a proper commit message, which I've also added to the description of this PR.

pub(crate) const fn get_porep_non_interactive_minimum_challenges(sector_size: u64) -> usize {
match sector_size {
SECTOR_SIZE_2_KIB | SECTOR_SIZE_4_KIB | SECTOR_SIZE_16_KIB | SECTOR_SIZE_32_KIB
| SECTOR_SIZE_8_MIB | SECTOR_SIZE_16_MIB | SECTOR_SIZE_512_MIB | SECTOR_SIZE_1_GIB => 4,
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was the test sector size challenge count specified in the spec? Can't recall

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No the test sector size is not specified in the spec, but I thought I pick one different from the interactive porep.

Copy link
Collaborator

@cryptonemo cryptonemo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally looks good to me -- if/when Jake approves, ship it!

Copy link
Contributor

@DrPeterVanNostrand DrPeterVanNostrand left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. Thanks for the ApiFeature addition. I just have the one comment about verify_seal, but I'll approve now anyway (and if you think changes should be made, will approve again).

@vmx vmx merged commit 1cc5baf into master Dec 19, 2023
32 checks passed
@vmx vmx deleted the ni-porep branch December 19, 2023 21:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

3 participants