-
Notifications
You must be signed in to change notification settings - Fork 18
feat: support blobs da commitment scheme #367
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
Conversation
antoniolocascio
left a comment
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.
I think we need some testing for it. Both integration and fuzzing for blob encoding/advice computation.
...tion/system/da_commitment_generator/blob_commitment_generator/commitment_and_proof_advice.rs
Outdated
Show resolved
Hide resolved
...tion/system/da_commitment_generator/blob_commitment_generator/commitment_and_proof_advice.rs
Outdated
Show resolved
Hide resolved
...tion/system/da_commitment_generator/blob_commitment_generator/commitment_and_proof_advice.rs
Outdated
Show resolved
Hide resolved
...tion/system/da_commitment_generator/blob_commitment_generator/commitment_and_proof_advice.rs
Outdated
Show resolved
Hide resolved
...em/src/system_implementation/system/da_commitment_generator/blob_commitment_generator/mod.rs
Outdated
Show resolved
Hide resolved
...ementation/system/da_commitment_generator/blob_commitment_generator/polynomial_evaluation.rs
Show resolved
Hide resolved
...ementation/system/da_commitment_generator/blob_commitment_generator/polynomial_evaluation.rs
Show resolved
Hide resolved
|
@antoniolocascio, agree about testing, can you point me to some fuzz tests as an example? Regarding integration tests I added a e2e test in the multiblock-batch, also I was thinking about unit tests to cover many blobs. Do think it's enough? Any other ideas? |
|
Yes, unit tests for encoding would be nice. For fuzzing: not sure how many implementations we'll end up having. In the current style, I would fuzz consistency of the |
...em/src/system_implementation/system/da_commitment_generator/blob_commitment_generator/mod.rs
Outdated
Show resolved
Hide resolved
...ementation/system/da_commitment_generator/blob_commitment_generator/polynomial_evaluation.rs
Outdated
Show resolved
Hide resolved
## What ❔ Simplification <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- The `Why` has to be clear to non-Matter Labs entities running their own ZK Chain --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Is this a breaking change? - [ ] Yes - [ ] No ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted.
…zksync-os into ad-support-blobs-p2
|
Point evaluation native usage increased by 1.5m, will check |
...ementation/system/da_commitment_generator/blob_commitment_generator/polynomial_evaluation.rs
Show resolved
Hide resolved
## What ❔ Tests ## Why ❔ To test ## Is this a breaking change? - [ ] Yes - [X] No ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [X] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [X] Tests for the changes have been added / updated. - [X] Documentation comments have been added / updated. - [X] Code has been formatted.
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.
Lgtm. Would be nice to check the compatibility of our encoding with Alloy.
Also we can additionally improve fuzzing/test coverage later.
398ff46 to
0e6304c
Compare
antoniolocascio
left a comment
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.
LGTM, please add a description to the PR
## What ❔ Test ## Why ❔ Check encoding ## Is this a breaking change? - [ ] Yes - [ ] No ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted.
Benchmark report
|
I am merging PR to not block the release; performance degradation can be investigated later |
## What ❔ #367 introduced a performance regression, this PR fixes that by inlining the call to `verify_kzg_proof` <!-- What are the changes this PR brings about? --> <!-- Example: This PR adds a PR template to the repo. --> <!-- (For bigger PRs adding more context is appreciated) --> ## Why ❔ <!-- Why are these changes done? What goal do they contribute to? What are the principles behind them? --> <!-- The `Why` has to be clear to non-Matter Labs entities running their own ZK Chain --> <!-- Example: PR templates ensure PR reviewers, observers, and future iterators are in context about the evolution of repos. --> ## Is this a breaking change? - [ ] Yes - [X] No ## Checklist <!-- Check your PR fulfills the following items. --> <!-- For draft PRs check the boxes as you complete them. --> - [ ] PR title corresponds to the body of PR (we generate changelog entries from PRs). - [ ] Tests for the changes have been added / updated. - [ ] Documentation comments have been added / updated. - [ ] Code has been formatted.
What ❔
This PR implements support for EIP-4844 blob-based data availability (DA) commitment scheme in ZKsync OS.
Key Changes:
DACommitmentScheme::BlobsZKsyncOSfor blob-based data availabilityKey Features for BlobsZKsyncOS DA commitment scheme
Breaking changes:
Is this a breaking change?
Checklist