Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pnyda/zkjson
JSON parser written in Lurk
https://github.com/pnyda/zkjson
Last synced: 2 months ago
JSON representation
JSON parser written in Lurk
- Host: GitHub
- URL: https://github.com/pnyda/zkjson
- Owner: pnyda
- License: mpl-2.0
- Created: 2023-06-12T13:18:12.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-06-17T04:54:20.000Z (over 1 year ago)
- Last Synced: 2024-07-11T20:38:08.510Z (5 months ago)
- Size: 28.3 KB
- Stars: 29
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ccamel - pnyda/zkjson - JSON parser written in Lurk (Misc)
README
# zkJSON
JSON parser written in Lurk# Description
Let's say there's Alice and Bob. Both know a poseidon hash $H$, a path $P$, and a value $V$. Only Alice knows the preimage of $H$ called $J$. zkJSON lets Alice prove to Bob without disclosing $J$ that- $J$ is a valid JSON.
- $J$ contains $V$ under the path $P$.# Usage
Copy and paste [put-it-all-together.lurk](put-it-all-together.lurk) into [clutch](https://github.com/lurk-lab/lurk-rs/tree/master/clutch).# TODO
## Make it faster
Currently the proof verification can be done in seconds. But the proof generation takes hours. Possible optimizations might be:- Hide only values. Make keys of an object public. This approach makes the proving significantly faster at the expense of privacy, according to [Chainlink Blog](https://blog.chain.link/deco-parsing-the-response/).
- [simdjson](https://github.com/simdjson/simdjson) style parallelization. This approach needs Lurk to support parallel proving upstream.## Write tests
I need a better testing framework for Lurk.## Better interface
CLI command to generate a proof / verify a proof would be nice.## Secure cryptography
According to an audit, the commitment scheme used in Nova, a dependency of Lurk, is not completely hiding. I'm no cryptography expert but I guess we can't use this repository in production until [this issue](https://github.com/microsoft/Nova/issues/174) gets resolved.