Skip to content

feat: proof failure blame#140

Draft
AaronFeickert wants to merge 1 commit intotari-project:mainfrom
AaronFeickert:blame
Draft

feat: proof failure blame#140
AaronFeickert wants to merge 1 commit intotari-project:mainfrom
AaronFeickert:blame

Conversation

@AaronFeickert
Copy link
Copy Markdown
Contributor

This PR adds blame functionality to proof batch verification, offering either single or full failure identification. In each case, the verifier first attempts to verify a complete batch. Subsequent behavior depends on the caller's requirements.

After initial failure using RangeProof::verify_batch_with_first_blame, the verifier performs a binary search to identify the first failing proof in the batch, providing its index. This requires a number of batch verifications that is logarithmic in the batch size; each subsequent verification cuts the number of proofs in the batch by half.

After initial failure using RangeProof::verify_batch_with_full_blame, the verifier attempts to verify each proof in the batch, providing a list of indexes of all failing proofs. This requires a number of non-batch verifications that is linear in the batch size.

This supersedes tari-project/tari-crypto#224.

@AaronFeickert AaronFeickert marked this pull request as draft August 8, 2024 15:59
@AaronFeickert
Copy link
Copy Markdown
Contributor Author

This still needs tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants