Verifiable ledger databases protect data history against malicious tampering. Existing systems, such as blockchains and certificate transparency, are based on transparency logs -- a simple abstraction allowing users to verify that a log maintained by an untrusted server is append-only. They expose a simple key-value interface. Building a practical database from transparency logs, on the other hand, remains a challenge. In this paper, we explore the design space of verifiable ledger databases along three dimensions: abstraction, threat model, and performance. We survey existing systems and identify their two limitations, namely, the lack of transaction support and the inferior efficiency. We then present GlassDB, a distributed database that addresses these limitations under a practical threat model. GlassDB inherits the verifiability of transparency logs, but supports transactions and offers high performance. It extends a ledger-like key-value store with a data structure for efficient proofs, and adds a concurrency control mechanism for transactions. GlassDB batches independent operations from concurrent transactions when updating the core data structures. In addition, we design a new benchmark for evaluating verifiable ledger databases, by extending YCSB and TPC-C benchmarks. Using this benchmark, we compare GlassDB against four baselines: reimplemented versions of three verifiable databases, and a verifiable map backed by a transparency log. Experimental results demonstrate that GlassDB is an efficient, transactional, and verifiable ledger database.
翻译:可验证账本数据库能够保护数据历史免受恶意篡改。现有系统(如区块链和证书透明度)基于透明度日志——这是一种简单抽象,允许用户验证由不可信服务器维护的日志为仅追加模式。这些系统仅提供简单的键值接口。然而,基于透明度日志构建实用数据库仍然是一项挑战。本文从抽象模型、威胁模型和性能三个维度探索可验证账本数据库的设计空间。我们通过分析现有系统,识别出两个局限性:缺乏事务支持以及效率低下。随后,我们提出GlassDB——一种在实用威胁模型下解决上述局限性的分布式数据库。GlassDB继承了透明度日志的可验证性,同时支持事务并提供高性能。它通过引入高效证明数据结构扩展了类账本键值存储,并增加了事务并发控制机制。在更新核心数据结构时,GlassDB对并发事务中的独立操作进行批处理。此外,我们通过扩展YCSB和TPC-C基准测试,设计了专门评估可验证账本数据库的新基准。利用该基准,我们将GlassDB与四个基线系统(重新实现的三类可验证数据库及基于透明度日志的可验证映射)进行对比。实验结果表明,GlassDB是一种高效、支持事务且可验证的账本数据库。