Repository navigation
Move to the released crypto stack #320
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
Changes from all commits
7451b06
d771600
fa9a1a1
a1030fd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -9,3 +9,11 @@ This library contains the implementation of the Phoenix-circuits, to prove, in z | |
| 3. Nullification: the nullifier is calculated correctly. | ||
| 4. Minting: the value commitment for the newly minted notes are computed correctly. | ||
| 5. Balance integrity: the sum of the values of all spent notes is equal to the sum of the values of all minted notes + the gas fee + a deposit, where a deposit refers to funds being transfered to a contract. | ||
|
|
||
| ## Tests | ||
|
|
||
| The circuit tests compile the 1- and 2-input circuits with the production CRS, which they download to `~/.dusk/rusk/devnet-piecrust.crs` once. The 3- and 4-input circuits need the CRS extended to `2^17 + 9` powers, three more than the production CRS has. Until that file is hosted next to the production CRS, their tests skip with a notice unless `PHOENIX_EXTENDED_CRS` names a local copy, which is checked against its SHA-256: | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. CAUTION: With dusk-plonk 0.24, rusk cannot compile the 3- and 4-input transfer circuits with its production CRS, and only test docs record this. Context: Since dusk-plonk #975, the prover key needs capacity through degree The doc of Severity-rationale: The CRS requirement is new with this change and blocks the rusk upgrade. The source of the extended file needs a maintainer answer before the file goes to production. Fix: Open a tracking issue for the extended CRS, and link it from the README and from #311. The issue states that rusk needs the file in production to compile the 3- and 4-input
Member
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The extended CRS is now tracked in #329, with its source and production plan written down: it is the production CRS plus three powers (144 bytes), from the same ceremony output (trusted-setup contribution 15) converted at To avoid rebasing the approved stack below it, the README link to #329 and the three notes below are folded into the release PR #327. |
||
|
|
||
| ```sh | ||
| PHOENIX_EXTENDED_CRS=/path/to/devnet-piecrust-plus9.crs make test | ||
| ``` | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NOTE: One entry holds six dependency updates, the
note_pk_pconstraint shows twice, and the identity rejection of input note keys has no entry.Context: The repo rule is "One fact per entry". The released sections list one dependency per line, and
jubjub-schnorralready has its own line here.core/CHANGELOG.md:21-22packs four updates the same way. The Changed entry at lines 12-14 and the Fixed entry at line 23 both record the subgroup check onnote_pk_p.verify_signature_doubleof jubjub-schnorr 0.7.0 rejects an identitynote_pkornote_pk_p, and 0.7.0-rc.0 accepted both. A note whosenote_pkis the identity was spendable with the secret key zero, and now it is unspendable. The changelog records the identity rejection for the sender key only. The new link definitions[#313],[#314],[#311]break the descending order of the block.Fix: Write one entry per dependency in both changelogs. Remove
note_pk_pfrom the Changed entry and keep the Fixed entry. Add an entry that the circuit rejects an identity inputnote_pkornote_pk_p. Sort the new link definitions.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Addressed in #327: one entry per dependency in both changelogs,
note_pk_pdropped from the Changed entry (the Fixed entry stays), an entry added for the circuit rejecting an identity inputnote_pk/note_pk_p, and the new link definitions sorted.