argumentcomputer / arecibo

An advanced fork of Nova (contact:@huitseeker)
https://lurk-lang.org/
MIT License
80 stars 35 forks source link

Implement common trait for both hiding and non-hiding KZG #21

Open emmorais opened 1 year ago

emmorais commented 1 year ago

We need to define and implement a common interface that any implementation of KZG (hiding or non-hiding) must implement in order be used as a building block for ZeroMorph.

Remark: the main protocol described in Page 34 of ZeroMorph paper only requires KZG to have setup, commit and open functions. In particular, it doesn't require the subprotocol (proveEval, verifyEval) from KZG. This is because the subprotocol is reconstructed at ZeroMorph layer, including batching of degree checks.

huitseeker commented 1 year ago

the main protocol described in Page 34 of ZeroMorph paper only requires KZG to have setup, commit and open functions. In particular, it doesn't require the subprotocol (proveEval, verifyEval) from KZG. This is because the subprotocol is reconstructed at ZeroMorph layer, including batching of degree checks.

Yes, but it would still be nice to have it to check the coherence of commit & open with a verification protocol.