Git Product home page Git Product logo

Comments (1)

asn-d6 avatar asn-d6 commented on June 24, 2024 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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.