Loading…
CppNorth2022 has ended
CppNorth, The Canadian C++ Conference, July 17-20, 2022,
The Omni King Edward Hotel, Toronto, Ontario M5C 1 E9
Back To Schedule
Monday, July 18 • 11:00 - 12:00
Quadrable

Log in to save this to your schedule, view media, leave feedback and see who's attending!




Quadrable is an authenticated multi-version database. It is a C++ library that implements a sparse binary merkle tree with compact partial-tree proofs. There is also a git-like command line that uses the library. Quadrable's primary implementation is a header-only C++17 library that uses LMDB as its persistent backing store. The data-structure used is authenticated, which means that the entire contents of a table can be digested down to a 32-byte hash. Anyone who knows this hash can perform remote queries and be confident that the responses haven't been tampered with. The DB is updated in a copy-on-write manner, which allows very inexpensive snapshots and checkpoints. Quadrable has a specially-designed proof export format that avoids including redundant sibling hashes and ones that could be calculated during verification. Proofs allow reconstruction of a partial-tree, which allows a verifier to perform local queries on this partial-tree and/or update it as though the entire data-set was available. If new proofs are downloaded, the partial-tree can be expanded to include the new values. New proofs can also be generated from the partial tree itself. The C++ library supports batch operations, which means that multiple values can be retrieved or modified with a single traversal of the tree. All get operations are zero-copy and involve no locking. Also included is the quadb command-line tool. It implements a git-like management interface for the DB, exposing nearly all the library's features. A native GUI is in development.

Speakers
avatar for Doug Hoyte

Doug Hoyte

Programmer based out of Toronto.


Monday July 18, 2022 11:00 - 12:00 EDT
C - Kensington

Attendees (6)