What is immudb? Why did you build it?
Full interview: https://console.dev/interviews/immudb-jeronimo-irazabal/
immudb is a cryptographically verifiable multilayer database. This is often assumed to mean immutable, but whilst immudb is indeed immutable, it’s also important to highlight that everything that is written into immudb can be verified by a client application later on.
You can use immudb for logging events which can then be retrieved by the event identifier and verified, however, immudb can be used as a standard key-value store and as a relational SQL database, with the added benefit that everything is verifiable.
This allows client apps to check whether the data has been tampered with, even if someone has access to the file system or underlying storage. This can be detected.
The database is also intended to be run by a single owner, which is one of the differences when comparing immudb to blockchain. With blockchain, ownership is decentralized, whereas immudb can run on a single server. Clients do not need to trust the server because of the underlying verification capabilities.
When I started to work on immudb, there was nothing else that allowed for single ownership with verification. The only alternative was to use a blockchain platform, but that comes with much more complexity, such as smart contracts, limited throughput, wallets etc.
Another factor was the focus on use cases. When you look at the general database landscape, none were being built from scratch with immutability in mind. Today, we see more and more special-purpose databases, however, none that I could find offered high scalability, ease of use, and cryptographic verification, as well as the ability to travel through the change data in time.
This retention of history makes immudb very suitable for regulated organizations, where they don’t want or can’t use a blockchain. I thought people want to have a database, they don’t want a blockchain. They want to store rich data, not just hashes for transactions. They want to trust the whole database content. That is why I started working on immudb.
Over time, immudb users showed us lots of new use cases. For example, protecting important documents. We even know of one organization storing the last known location of a submarine in immudb running on board. That’s very interesting because there is no internet connection on a submarine, thus blockchain is not an option. But they still want to make sure everything is stored tamper-proof, so that they can retrieve the location data when the submarine is back in the harbor, and ensure that everything is still tamper-free.