Daml Engineering

Quantum Daml: Amazon QLDB goes GA

Written by Dan O'Prey | Sep 10, 2019

Today, Amazon announced the General Availability of QLDB, or Quantum Ledger Database. We are excited to share that we are working with Amazon to add QLDB to the list of platforms supporting Daml smart contracts as a seamless and easy option to build and operate tamper-proof and auditable applications.

This will be the sixth, yes sixth!, major Daml deployment option following Hyperledger Fabric and Sawtooth, R3’s Corda, Amazon Aurora and VMware Blockchain.

What is Amazon QLDB?

QLDB is a new type of cloud database service provided by Amazon Web Services. It’s a fully managed, serverless database with an immutable and cryptographically verifiable transaction log so that all data updates can be easily audited by third parties when desired.

While not decentralized and replicated across parties like many blockchain implementations,  QLDB’s immutable transactional log, known as a journal, maintains an independently verifiable history of all changes over time, which gives it blockchain-like properties.

Since QLDB is delivered as a serverless cloud service, it automatically scales, you only pay for what you use, and it abstracts away the underlying complexity of managing servers.

What is Daml?

Daml is an open source, platform-agnostic smart contract language that similarly abstracts away the complexities of the underlying deployment target, be it a blockchain, distributed ledger, or traditional database. This allows developers to focus solely on the business logic of the application they are trying to build. Below is a simple example of an IOU written in Daml (see our SDK documentation for the complete example):

As you can see, there’s no boilerplate or systems code dealing with cryptographic signatures, data schemas, notifications, private data distribution, or really anything other than an executable version of what an IOU is.

This level of abstraction doesn’t just allow developers to write distributed applications much more quickly, but also decouples them from the runtime platform to which these applications are ultimately deployed. By breaking the link between logic and systems code, Daml enables distributed application portability.

Distributed applications are also notoriously difficult to write, and small mistakes can have huge implications across multiple entities. When a contract involves many parties and data types it can be extremely difficult to define fine-grained data permissions in a general-purpose language. Daml allows you to define explicitly in code who is able to see which parts of your model, and who is allowed to perform which updates to it, providing real time feedback at development time.

Why choose Daml and Amazon QLDB?

QLDB tracks all data changes. Daml enforces who can change it and how. Together, Daml and QLDB let you write and run your business logic with ease and confidence.

But aren’t blockchains supposed to be decentralized?

Honestly, it depends on your use case. There are a lot of blockchain applications out there that could really just be a SaaS product. There are plenty that can’t. So you need to pick the right deployment option for your needs. Is there a centralized operator everyone trusts? Is there a natural authority but the need to ensure they haven’t tampered with the data? Are there no natural authorities or the need to decentralize the storage and validation of different transactions across different entities?

If you need full blown decentralization, a blockchain platform like VMware Blockchain, Hyperledger Fabric, Hyperledger Sawtooth or a more point-to-point DLT like Corda are the most suitable. But if you don’t, they may be overkill, adding complexity when a simpler architecture may do. Amazon QLDB and Daml are a new class of database and multi-party business process solution that provides many, but not all, of the benefits of true blockchains. Not sure which one you need at this stage? You’re in luck! Daml will support them all, so you can write your application once and migrate later. We even provide a serverless Daml hosting environment for development and testing before a deployment target is chosen.

Next steps

Head on over to the Daml docs to install the SDK and start building platform-agnostic distributed applications today. Everyone with an AWS account now has access to QLDB. Learn more and spin up an immutable database here. To be notified of when the combined Daml on QLDB offering will be available, sign up to our mailing list below.