2 Scalar DB Storages / Databases Applications OS Scalar DL Ledger Auditor Client SDK Contract Function Scalable and Practical Byzantine Fault Detection Middleware for Transactional Database Systems
Tamper-evident Scalable Correct Database-agnostic Cloud-agnostic Byzantine faults can be detected as long as N > f Performance and availability can be linearly scaled No intermediate states are visible, and data is always up-to-date No dependency on particular database products No dependency on particular public clouds N: # of administrative domains in a database system, f: # of faulty domains Cassandra, Amazon DynamoDB, Azure Cosmos DB, and JDBC-supported major RDBMSs (MySQL, PostgreSQL, Oracle Database) are supported. AWS, Azure, EKS, and AKS are supported. ACID-compliant and strong consistent database system (i.e., strict serializable) DVi = DV / N・RF (RF: Replication Factor << N)
1 Pattern 1: Ledger only. ScalarDL provides data integrity in a database system. But, it does not guarantee to detect Byzantine faults. Pattern 2: Ledger+Auditor. ScalarDL guarantees to detect Byzantine faults. (as long as either Ledger or Auditor is correct.) Primary ScalarDL Ledger Primary Databases Administrative domain 1 Database System Scalar DL Client SDK Application programs Primary Secondary ScalarDL Ledger Primary Databases Administrative domain 1 Database System ScalarDL Auditor Secondary Databases Administrative domain 2
a different AD Execute Asset Proof Request Proof Asset Proof T Compare to detect Byzantine faults Auditor manages the proofs of execution to recompute assets without trusting the integrity of data given from Ledger (1 patented, 1 filed, accepted by PVLDB) User (Client) ScalarDL Ledger ScalarDL Auditor See our PVLDB paper for more details
and Scalar DL 7 Public Blockchains (Ethereum …) ScalarDL • History diverges in normal cases – It diverges even if no malicious activities ⇒ Impossible to guarantee finality • History diverges only in abnormal cases – If it diverges, it is caused by malicious activities ⇒ Possible to guarantee finality IEEE ICDCS Workshop’16
(Private Blockchains*) and Scalar DL 8 BFT/BFD SMR, Private Blockchains ScalarDL Data is totally ordered ⇒ Hard to parallelize/scale Data is partially ordered ⇒ Easy to parallelize/scale Sequential processing is required Parallelizable * Private blockchains are thought to be variants of techniques called Byzantine-fault tolerance state machine replication (BFT SMR) See our PVLDB paper for more details
Function (patented) • Function is a business logic for creating deletable and easy to search records • Remedy the downsides of ledger structure and tamper-evidence property 10 Mutable database Function Contract Transaction Tamper-evident ledger Atomic execution Business logic Evidence that business logic is executed
Not deletable Not searchable flexibly Not tamper-evident Inconsistent Tamper-evident Deletable Searchable flexibly Consistent Applications Applications BFT/BFD (e.g., Blockchain) DB Applications DB BFT/BFD (e.g., Blockchain) Applications log log Mutable records Tamper-evident records ScalarDL Ledger Scalar DL Auditor Replicated in a decentralized way
use ScalarDL 14 • Data integrity is required – Data can not be altered or deleted maliciously • Scalability is required – Many requests from many end-users or devices • There is a main organization – And there are a few auditors • Byzantine fault detection is acceptable Digital evidence / Database forensics Our focuses:
internal mechanism, fundumental differences between ScalarDL and other technologies/producuts. – https://dl.acm.org/doi/abs/10.14778/3523210.3523212 – PVDLB is a top-tier international conference in database and data engineering. • GitHub (Usage) – https://github.com/scalar-labs/scalardl • Engineering Blog – https://medium.com/scalar-engineering 15