Today enterprise blockchain company Digital Asset Holdings (DA) announced that a significant part of its technology, the DAML smart contracting language is now open source. It’s part of a plan to integrate DAML with other distributed ledgers as well as non-DLT solutions.
Digital Asset is perhaps best known as the distributed ledger technology partner for the Australian Securities Exchange (ASX) settlement system and other projects with Broadridge and the Hong Kong Exchanges and Clearing (HKEX). It raised more than $110 million from 15 big names. Many are from the finance world including Broadridge, Citi, DTCC, JP Morgan, Goldman Sachs and others. Technology companies such as IBM and Accenture also invested.
The company started with a focus on finance but more recently has expanded into other areas including health. For example, Change Healthcare and Hashed Health participated in the private beta of the DAML Software Development Kit (SDK) which is publicly available as of today.
Other major financial participants in the SDK developer beta included ABN AMRO, Accenture, ASX, BNP Paribas, Broadridge Financial Solutions, Calastone, DTCC, GFT, HKEX, Nomura Research, Singapore Exchange and UBS.
What is DAML?
DAML is a functional language (inspired by Haskell) and designed for distributed business workflows. It aims to focus developer time on programming business processes rather than needing to deal with the innards of blockchain and encryption.
Additionally, DAML is also more business-friendly. Digital Asset CTO Shaul Kfir explained: “We have business analysts at our clients who maybe are not technical enough to write DAML code, but they can definitely read DAML code, so the iterations in building new functionality are very quick.”
The net result of efficiencies for both developers and analysts is that development should be quicker and less error-prone. Given DLT is all about network effects, it’s a race. So being able to get the code out of the door faster is a huge advantage.
One question is: why open source now? It was always part of the plan, but Kfir explained that they wanted the language to be more mature, to have the ability to change and even break things before open sourcing. Plus as some projects near production, partners are keen to see the licensing (Apache 2) open up.
Based on previous marketplace feedback – not particularly about DAML – we believe open source is critical. Last year the RiskBlock Alliance chose to go with R3’s Corda as the core technology for its Canopy 2 platform. We knew it was a close run contest with Digital Asset. So with the aim of getting balanced views, we asked Patrick Millar, Head of Technology at RiskBlock about DAML. He had just one criticism: that DAML is (or was) proprietary.
Asked about it becoming open source he said: “I think that’s a really good step for them. Because that should take away some of those final hurdles. One of the things we liked about Corda when we compared Corda with DAML was that Corda was open source.”
In Millar’s opinion, DAML is sufficiently constrained to make it a safe language, but also flexible enough to do all that’s needed in a smart contract. “Not only did they succeed [in balancing safety and flexibility] but it’s also probably in terms of transaction throughput the highest performing modeling language out there. So it’s an impressive accomplishment,” said Millar.
Unsurprisingly partners were equally upbeat. “Accenture has been working closely with Digital Asset and now has over 240 developers using DAML,” said David Treat, managing director and global blockchain lead at Accenture. “Open sourcing and allowing DAML to run on multiple platforms provides a fantastic new option to get the strength of the DAML programming language with the features of a variety of underlying ledger platforms.”
“DAML has the potential to significantly modernize smart contract creation, and when combined with the SDK and execution environment, may significantly enhance the DLT ecosystem,” said Rob Palatnick, Managing Director and the Chief Technology Architect at DTCC.
And back to Digital Asset’s Kfir. “We’re starting to see more convergence of ledger designs and more realization of what a proper distributed ledger should look like across many projects,” he said. “So it feels like the timing is right to start looking at getting DAML on top of other ledgers as well.”
Kfir was keen to avoid the specifics of any plans, but he gave some clues. “You can imagine that we’re speaking to all of the other DLT providers,” said Kfir. “One of the interesting pieces of feedback that we got when people started using our SDK was that there’s a lot of interest in using it as a tool for distributed workflows even where the deployment doesn’t have to be distributed on day one.”
“We’re also talking to many of the large tech companies. There’s interest in getting DAML on top of databases that are not the typical thing that you would imagine from a DLT. And then there are a few other projects that are very similar in concept to DLT but are not usually identified with this industry.”
Kfir gave further hints about how DAML could make databases more user-friendly. “You can think of it as a very concise way to write database schemas [structures] and stored procedures [automated processes] including all the details of who’s allowed to read and who’s allowed to write in a very composable manner, that allows developers to build upon what others already did [with SQL databases].”
Last year when Amazon announced its blockchain alternative QLDB, we thought about how DAML and QLDB might go together.
Digital Asset has some close technology company ties, so it’s easy to speculate about plans. IBM is one of its investors, and its ledger of choice is Hyperledger Fabric. Plus IBM boasts that 97% of the world’s largest banks are clients and DAML is designed with finance in mind. Fabric is also modular and already includes support for alternative smart contracting languages such as Ethereum’s Solidity which was added last year. So it wouldn’t be a stretch to envision DAML added as a Fabric option.
Furthermore, last year there was a big announcement about Digital Asset and Google Cloud. Executive Chairman of the board AG Gangadhar spent five years at Google as recently as 2015. And in a blog post, a Google engineer started discussing experimenting with DAML in novel ways. So there’s potential to connect more dots.
How DAML is different
There is one obvious downside to DAML. Most developers aren’t that familiar with “functional” languages, so DAML takes a little getting used to. But once a developer gets passed that, the productivity kicks in.
We asked Kfir how DAML differs from other smart contracting languages? “There isn’t one thing that I’d say is THE big differentiator. It’s really our maniacal focus is around developer experience,” he responded.
It’s easy to dismiss that answer. But consider another major recent technical innovation: smartphones. The consumer usability and cool factor were unquestionably a considerable part of the iPhone’s success. But without developers creating a large number of apps in a short timeframe, the utility of smartphones would have been very limited.
Compared to predecessors, Apple made developing phone apps comparatively easy. If the app needs to take a picture, how the camera works is abstracted away, turning picture-taking into a straightforward programming task. Even when receiving payment for the app, there’s no need for a billing system or credit card merchant account because Apple does most it for you, albeit at a cost.
The same logic applies to blockchain. Developers should be concerned with automating the business process rather than the infrastructure.
Kfir continued: “What we’ve always been focused on is [that] a developer writing something for a distributed ledger should not have to be “a blockchain developer”. They shouldn’t have to think about cryptography, about signing things, hashing things. They shouldn’t have to think about distributed systems, so which message goes where.”
“If you look at most of the smart contracting languages, writing something in that language you have to think about both cryptography and distributed systems. So to be an application developer you need to be all of those three. And then it just becomes buggy and hard.”
“And we’ve kind of lost what we’re trying to do here, which is to enable innovation.”
This article was updated to add comments and quotes from RiskBlock