Skip to content

Conversation

pav-kv
Copy link
Contributor

@pav-kv pav-kv commented Apr 1, 2022

This is a proof of concept change demonstrating that it is possible to
obtain arbitrary compact ranges from a Merkle tree log that restricts
itself only to endpoints represented in RFC 6962, in constant time
interaction complexity.

Specifically, it is possible to obtain comact range [begin, end) by
calling "get consistency proof" endpoints <= 2 times for carefully
crafted tree sizes. In a few cases where it is impossible to get certain
hashes, this approach falls back to calling the "get entries" endpoint 1
time to obtain between 1-3 entries and reconstruct the compact range.

Overall, the interaction with the log is limited by 2 calls, and each
call is limited in size.

@pav-kv pav-kv force-pushed the get_compact_range branch 2 times, most recently from 6f8b72c to 3d6ac0c Compare April 25, 2022 13:42
This is a proof of concept change demonstrating that it is possible to
obtain arbitrary compact ranges from a Merkle tree log that restricts
itself only to endpoints represented in RFC 6962, in constant time
interaction complexity.

Specifically, it is possible to obtain comact range [begin, end) by
calling "get consistency proof" endpoints <= 2 times for carefully
crafted tree sizes. In a few cases where it is impossible to get certain
hashes, this approach falls back to calling the "get entries" endpoint 1
time to obtain between 1-3 entries and reconstruct the compact range.

Overall, the interaction with the log is limited by 2 calls, and each
call is limited in size.
@pav-kv pav-kv force-pushed the get_compact_range branch from 3d6ac0c to a1036c0 Compare April 25, 2022 13:44
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 this pull request may close these issues.

1 participant