Skip to content
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

Implement proof for map not containing a value for a key. #66

Open
esoterra opened this issue Jan 26, 2023 · 0 comments
Open

Implement proof for map not containing a value for a key. #66

esoterra opened this issue Jan 26, 2023 · 0 comments
Assignees

Comments

@esoterra
Copy link
Collaborator

The registry can lie to clients that there are no entries for a package because there is no way to prove that at a Map Checkpoint there was no value associated with a given key.

In the REST API, requesting to prove that a log was empty can be represented as

POST /proofs/inclusion

{
    "checkpoint": ...,
    "logs": [{ "log": "sha256:...", "record": null }]
}

A proof that a key was empty is a walk from the first non-empty ancestor of the leaf for that key up to the root.

@esoterra esoterra added this to the Dogfood Registry milestone Mar 22, 2023
@esoterra esoterra self-assigned this Apr 10, 2023
macovedj added a commit that referenced this issue Jun 28, 2023
This PR will change how the sparse merkle tree is optimized. Currently
it implements certain optimizations that are beneficial in some regard,
but there are trade-offs. [Other
literature](https://github.com/google/trillian/blob/master/docs/papers/RevocationTransparency.pdf)
references this other optimization, which after discussion, we find has
benefits that we would like. Specifically, it will come in handy with
respect to the implementation of [this
issue](#66). [These
notes](https://hackmd.io/6RI9ZyGqR1ykRITggTb-pg) may be helpful for
understanding the refactor.

---------

Signed-off-by: Daniel Macovei <[email protected]>
Co-authored-by: Kyle Brown <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant