ledger database
What is a ledger database?
A ledger is a type of record keeping where financial transactions are recorded. The concept has been around for centuries. A ledger database is somewhat more modern and commonly refers to a type of database that uses cryptographic techniques, including blockchain, to secure data and enable an immutable ledger.
With an immutable ledger, transactions are cryptographically recorded in the database. They are permanently recorded, tamper resistant and can't be altered. Immutability plays a critical role in guaranteeing the integrity and transparency of the data contained within the ledger.
Blockchain itself is often characterized as being a distributed ledger technology (DLT) because there's typically no central authority or single node, but rather a series of decentralized, distributed nodes by which data is stored and accessed. With a ledger database, distributed blockchain potentially can be used, but that's not the only option.
A common approach for ledger database technology is to use private blockchain methods such as the open source Hyperledger fabric, in which there's a permissioned blockchain authority for centralized management. A private, permissioned blockchain as the foundation of a ledger database can be controlled by an organization for its own specific use cases.
How a ledger database works
In a typical relational database, data is stored in rows and columns, with consistency enabled via an ACID (atomicity, consistency, isolation and durability) approach to transactions. A ledger database can also benefit from ACID transactions, but the way in which data is stored takes a somewhat different approach.
With a private, permissioned blockchain-based ledger, each transaction is validated by the central authority. With a public blockchain-based ledger, the transaction is validated via a consensus algorithm.
For both private and public blockchain-based ledger databases, each validated transaction is secured via a digital signature in the form of a cryptographic hash. Every validated and encrypted transaction is then grouped into a block. Each block can provide a reference to a previous block, with multiple blocks connected in a chain (which is how the term blockchain originated). The encryption used in each block is immutable and makes the data tamper resistant.
Data in a ledger database is stored and recorded sequentially, providing a view into the order in which transactions occurred. Rather than replacing an entry to make an update, which is a common approach with a traditional database, a ledger database provides an append-only approach. Updates are attached to existing blocks as new blocks. The entire ledger can be queried by a user to access a complete history of changes to data over time.
Types of ledger databases
For an accurate, immutable record of transactions, businesses can use several types of ledger databases, including the following:
- Public blockchain. Ledger databases rely on public blockchain implementations with a decentralized authority, sometimes known as DLT. Functionally, all cryptocurrencies are run on ledger databases where transactions are recorded.
- Private ledger and permissioned ledger. Ledger databases will typically have a centralized authority, enabling faster transactions and more control than fully public approaches. Examples of private ledger-based technologies include the Amazon QLDB that runs on AWS, Microsoft's Azure confidential ledger, and Hyperledger Fabric, the open source ledger database technology developed by the Hyperledger Foundation as the basis for multiple commercial implementations, including services from IBM.
- Multimodel databases with blockchain table support. Traditional database technologies can sometimes be expanded to support more than one type of data model, commonly referred to as a multimodel database. A database that can be operated as a relational database can also potentially support blockchain, enabling a type of ledger database. Multimodel databases with blockchain support include Oracle Database and Microsoft SQL Server.
Key use cases for a ledger database
Ledger database use cases can range from finance to supply chains to compliance regulations:
- Audit compliance. The immutable nature of blockchain-based ledger database record entries makes them ideal for instances where data is routinely audited for compliance purposes.
- Cryptocurrency. All cryptocurrencies rely on a foundational layer where a distributed ledger technology is used to provide a record of all transactions.
- Financial systems. Ledgers have long been used to record financial transactions. The additional cryptographic assurance provided by ledger databases makes them particularly useful.
- Supply chain management. Ledger database technology can be used for supply chain management to securely track transactions.
General ledger vs. ledger database
General ledgers describe the more traditional type of ledger. Transaction information can be recorded on paper, a spreadsheet or a simple database with tables and rows.
A ledger database in the modern context is also used to record transactions. It relies on cryptography, typically in the form of a blockchain technology, to encrypt all transactions. The ledger database is also an immutable ledger so transaction data can't be deleted or changed, but only appended with a new entry.