Quadrable - Doug Hoyte - CppNorth 2022

CppNorth Twitter: CppNorth Website: --- Quadrable - Doug Hoyte - CppNorth 2022 Slides: CppNorth 2022 video sponsors: think-cell: Adobe: 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. --- Doug Hoyte Programmer based out of Toronto. --- YouTube Channel Managed By Digital Medium Ltd: --- #Quadrable #Cpp​ #CppNorth
Back to Top