mirror of
https://github.com/luxfi/chains.git
synced 2026-09-24 00:26:00 +00:00
A verifying key holds one K point per public input plus a constant term, so it states how many inputs the circuit it was made for takes. The witness arrives with the transaction, so a peer picks its length, and only the upper end was checked. Too few is quieter and no better: the linear combination runs over the witness, so a short one leaves the trailing K points out and judges the proof against a smaller statement than the circuit was compiled for. The count is now exactly what the key states. That is read off the key, not assumed about the circuit â how many inputs a circuit takes is the key's to say, while what the trailing ones MEAN still needs whoever owns the circuit. They remain bound in count and unbound in value. ðŠĪ The test named for reaching the pairing kept passing after this change while no longer reaching it: it built a key stating three inputs, supplied two, and asserted only that the error said "verification failed" â which the new refusal also says. Its key now states the two it supplies, and it asserts the pairing's own verdict, so it fails if anything in front of the arithmetic answers first. Co-authored-by: Hanzo Dev <[email protected]>