-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: hash-based JSON circuit #41
Conversation
This is based on #40 , so that should 100% be merged first. This needs SERIOUS review and further testing. |
The basic idea is this: We want to show that a given sequence of keys for retrieving from a JSON : {
"data": {
"items": [
{
"data": "Artist",
"profile": {
"name": "Taylor Swift"
}
}
]
}
} determines a unique value inside of the JSON, and furthermore the value is as expected. For example, we may want to ultimately supply to this circuit:
Ultimately what I have achieved at this point is getting unique hash values at points in the JSON that take into account all the data at that point that we need. So, for example, we know we need to get:
|
Though this will be too expensive, the idea works!
left a note to myself
Though this will be too expensive, the idea works!
left a note to myself
* Update CHANGELOG.md * Update package.json * feat: optimized `HTTPVerification` (#82) * wip: better HTTP - Trying to reduce file size and constraints substantially - Also need to make this so it doesn't matter if there is padding around headers / etc. * WIP: improving HTTP digesting * WIP: http rewrite * WIP: almost working no-header test * WIP: working start/body * working tests! * cleanup * Update masker.circom * Update CHANGELOG.md * feat: hash-based JSON circuit (#41) * feat: hash based JSON verification * WIP: save * resetting for clearer approach * good save state * feat: working hash version Though this will be too expensive, the idea works! * WIP: need to clear after comma * WIP: good progress * WIP: getting keys also now * feat: (mostly?) working tree hasher * seems to be correct for spotify * perf: first optimization * wip: brain hurty left a note to myself * fix: tree hasher seems correct now * TODO: note to self * feat: hash based JSON verification * WIP: save * resetting for clearer approach * good save state * feat: working hash version Though this will be too expensive, the idea works! * WIP: need to clear after comma * WIP: good progress * WIP: getting keys also now * feat: (mostly?) working tree hasher * seems to be correct for spotify * perf: first optimization * wip: brain hurty left a note to myself * fix: tree hasher seems correct now * TODO: note to self * cleanup from rebase * cleanup * WIP: seems to monomial correctly * rename * add in value to eval at * WIP: start looking for matches * made some fixes * it may be working! * now i can write tests! * more tests * more JSON hasher tests * cleanup * remove excess stuff * adjust builds * fix: build * feat: manifest digest verification (#83) * feat: `PolynomialDigest` * WIP: working to get through NIVC * feat: HTTP circuit digesting * feat: ChaCha circuit digesting * feat: JSON circuit digesting * fix: `JSONExtraction` * IT WORKS * feat: TS init digest * feat: separate sequence/value * cleanup * fix: builds * fix: warnings * Update CHANGELOG.md * fix: PR feedback * Fix/http verification (#85) * fix: `zeroed_data` for `data_digest` in `http_verification` * add test for 1024 * cleanup readme --------- Co-authored-by: Sambhav Dusad <[email protected]>
THis one hurt my head