Splice bit-op virtuals in ideal check#194
Conversation
c752ff5 to
5924e37
Compare
|
Hi! Thanks Latif for this work. For the purposes of reviewing it, could you maybe share a short explanation of what are your overall plans towards getting the virtual column functionality fully implemented? Like what steps are you planning to take and how do you expect the final PR to look like? |
Thanks Albert. The overall goal here is to unblock #91: writing the SHA-256 and ECDSA UAIRs from the paper. #185 is the protocol/UAIR infrastructure needed before those UAIRs can be implemented cleanly, especially for SHA-style bit operations without committing every derived column as an independent witness. I’m trying to keep the work as a small stacked sequence:
Planned next steps:
The final shape I’m aiming for is: UAIRs declare virtual columns in the signature; the prover derives them from existing columns; and the verifier binds them back to the committed/public source openings. That should give #91 the virtual-column support it needs without inflating the SHA/ECDSA UAIR PRs with protocol plumbing. |
Summary
UairSignatureso runtime materialization sites can apply bit ops with the right widthDynamicPolynomialFbit-op helpers and use them from ideal-check[shifted_binary, bit_op_binary, shifted_arbitrary, shifted_int]Part of #185. This intentionally stops before CPR/mp-eval/protocol proof-wire plumbing.
Notes
Validation
.githooks/pre-pushcargo test -p zinc-piop ideal_check::tests::test_successful_verificationcargo test -p zinc-test-uair test_constraint_degreescargo test -p zinc-uair bit_op_specscargo test -p zinc-piop projections::tests