Replies: 3 comments 3 replies
-
|
There are several options:
In principle you can also provide hash of the verification key as public input to the inner circuit and then the key itself as private input. Although we don't have currently natively implemented hashing between different fields (in case you're using field emulation). We have some helper utilities https://pkg.go.dev/github.com/consensys/gnark@v0.14.0/std/recursion, I'd suggest looking at https://github.com/Consensys/gnark/blob/v0.14.0/std/recursion/plonk/verifier_test.go#L484-L518 to see how it can be used. |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
|
You may also checkout our implementation here: https://github.com/lightec-xyz/common/blob/master/utils/fingerprint.go If you have layers of unspecified numbers of recursion, you might find chainark useful: https://github.com/lightec-xyz/chainark. We used chainark to prove a chained relationship (such as a chain of blocks). |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I am writing a multi-layer recursive circuit, and I need to ensure that VK is not replaced during the recursive process. How do I calculate the hash of the VK (public input) in circuit?
@ivokub
Beta Was this translation helpful? Give feedback.
All reactions