Comments (1)
So as I understand, one benefit of KZG is that you can use them to "prove values at specific points" rather than always verify the entire polynomial. I'm trying to understand how I can use this practically, and wonder if its possible with this library, or out of scope?
For example: I have a blob of bytes and its commitment + proof as generated by this library. I want to reveal to the verifier only a small slice of the blob, say from bytes [5...25], and allow them to use the commitments/proofs I've given them to verify that slice belongs to the blob (however, I don't want to reveal the entire blob yet).
Is something like that possible?
That should be possible with KZG by having the prover create the appropriate KZG proofs (that prove the values of the bytes [5..25]). You can use the compute_kzg_proof()
and the verify_kzg_proof()
functions for that.
Ideally you would be using KZG multiproofs (which we don't currently support) so that with a single proof you can cover the entire range of bytes you want, whereas with basic KZG you will need to create multiple proofs.
Finally, this library is meant to cover the tailored needs of Ethereum use cases for 4844 and it's not a generic KZG library, so you might have better luck with a more generic KZG implementation.
from c-kzg-4844.
Related Issues (20)
- Broken CI in rust-windows because of rust-1.7.0 HOT 1
- Stack overflow in Rust benchmarks on Windows HOT 1
- Nodejs does not support browsers HOT 5
- Problems with cross-platform docker images HOT 6
- Release Rust bindings on crates.io HOT 3
- Support new function ckzg_load_trusted_setup_from_bytes HOT 3
- Should we make FIELD_ELEMENTS_PER_BLOB runtime-configurable? HOT 8
- Rust binding can't cross compile on Apple Silicon HOT 3
- Rust bindings lack flexibility with current structure of build script HOT 3
- Rust build.rs: Pass -D__BLST_NO_ASM__ on non-x86-64/non-aarch64 ISAs HOT 7
- Python bindings' load_trusted_setup() segfaults if file does not exist HOT 1
- Blob value in argument to context.VerifyBlobKZGProof HOT 1
- [rust] Add compute_* verify_* functions for KzgSettings HOT 3
- no pypi source packages HOT 2
- Publish `v1.0.1` Rust bindings to `crates.io` HOT 4
- Electra Tasklist HOT 1
- How can this be easier
- Documentation of KZGSettings (Branch `das`)
- Simplify and improve the FFT functions
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from c-kzg-4844.