Search papers, labs, and topics across Lattice.
This paper introduces Sintr, a framework designed to enhance the integrity of Byzantine fault-tolerant (BFT) systems by preventing malicious transactions from Byzantine clients. By employing redundant execution to validate transaction outcomes and a flexible policy framework for data integrity, Sintr effectively mitigates vulnerabilities that have hindered the adoption of BFT systems. The implementation of Sintr on existing BFT databases demonstrates only modest performance overheads, making it a practical solution for ensuring database security in environments with untrustworthy participants.
Sintr safeguards BFT systems against Byzantine clients, ensuring database integrity with minimal performance trade-offs.
Byzantine fault-tolerant (BFT) systems are, in principle, an appealing foundation for transactional applications involving mutually distrustful participants. Yet their adoption has been hampered by two persistent stumbling blocks-performance and developer convenience-which are often in tension with one another. Recent systems show promising progress on both fronts by shifting to a client-centric architecture; clients execute transactions locally and concurrently, while the system resolves any data conflicts to maintain database serializability. We argue that, in its current form, this approach introduces a critical vulnerability: it leaves the integrity of the database exposed to Byzantine clients, which may issue malicious or incorrect transactions. We address this threat with Sintr, a framework that prevents Byzantine clients from compromising database integrity by executing rogue transactions. Sintr combines redundant execution to validate transaction outcomes with a flexible, heterogeneous policy framework for expressing an application's data-integrity requirements. We apply Sintr to harden several existing BFT database systems and find that it imposes only modest overheads-3%-16% in throughput and 3%-21% in latency.