The Covid crisis has clearly shown us the advantages of digitalisation. One of the central technologies of digital transformation is enterprise DLT technology. I have already written about it quite a bit and I am sure that, by now, you are all familiar with its main benefits: it provides a shared, single source of truth and continuous data integrity.
In this post, I would like to turn your attention to smart contracts as the most important driver of the next wave of enterprise blockchain innovation. Why? Because, strategically, it is going to be crucially important how companies arrange and integrate their internal and external business processes — that means, their business logic — into their existing or new business models.
With ‘ease of use’ in mind, modern design of layered architecture of enterprise DLT has decoupled smart contracts layer, i.e. business logic from the underlying ledger it runs on. This allows for a smart contract language, like DAML, to abstract away all of the complexities of enterprise DLT and enables developers to focus on building applications first, and choose the infrastructure that best fits those applications afterwards.
DAML facilitates rapid innovation
Talking about DAML, it’s an enterprise grade, Haskell-inspired functional language. It is open-source and domain-specific. And, distributed applications created in DAML are able to run across different technology silos. But, the biggest advantage, in my opinion, is that DAML facilitates rapid innovation. I do not have to tell you that speed is a key factor in digital transformation. Today, speed & data create a winning combo. Imagine what a huge competitive advantage a company would have if it could react fast on both opportunities and threats!
DAML is a language of Smart Contracts
DAML is a language specifically developed for Smart Contracts. (By the way, there is another one called CSL or ‘Contract Specification Language’ which has been developed by Deon Digital.)
Since coding complex contracts is very difficult and error-prone task in imperative style programming languages (i.e. object-oriented programming languages such as C# and C++), DAML has been developed specifically for workflow automation in DLT environment where contracts can be trusted only if they can be guaranteed to execute precisely as intended. DAML, as a functional language, minimises the risk of errors in shared contract code by composing the problem as a set of mathematical functions to be executed.
Although functional languages are simple to write with and understand, I have to admit that it took me a few days to get used to the basic syntax. After that it was pretty easy and quick since DAML enables you to express contracts, parties, rights, obligations, and authorisation directly, so you can concentrate on the business logic and do not have to think of low level details such as hashing, cryptography and consensus protocols. Moreover, the DAML engine itself can reason about the business logic and automatically check the code for problems involving rights, obligations, and lack of authority.
In regards to security, the DAML engine automatically tracks which parties are authorised to see the details of each contract. This info is then passed to the underlying distributed ledger ensuring that only the data a particular party is authorised to see is sent to their physical node on the network.
The DAML engine can currently run on the following ledgers: Hyperledger Fabric, Sawtooth and Besu, VMware’s Blockchain, DABL* and Corda, as well as Amazon’s QLDB (centralised blockchain-like database) and Aurora (SQL database). As you can see, the idea is to enable companies to integrate multiple applications by using DAML. Since both portability and interoperability of Smart Contracts will be equally important in the future, DAML has already started working on executing transactions atomically across multiple ledgers — a capability that will be critical in connecting permissioned and public networks.
I encourage you to download the DAML SDK. The documentation is well written and easy to develop and deploy.
Quick prototyping: not just faster, but also cheaper, and easier
And, I have ‘saved the best for last’ — DAML can be used in blockchain design thinking workshops for quick prototyping of proposed solutions. Everyone is now able to create, test and demo an MVP in a matter of hours. Thanks to the Navigator tool within the SDK, there is no need to build an expensive computational infrastructure to perform the validation. This is big news and the main reason why I decided to learn DAML: PoCs will be much cheaper, quicker and easier!
There is an example of really fast innovation you might have heard of recently by Quantum Materials Corp (QMC). My estimate is that their Covid-19 test kits were developed within a week. Since the reduced time to market was essential, the QMC team used DAML language and deployed the solution on Hyperledger Sawtooth Enterprise blockchain.
Moreover, for those who prefer a ‘no-code’ approach, DAML Smart Contracts can be created with Unibright’s visual interface. No coding skills required! That’s great news for business people!
So if you have a good business idea, there is nothing that stands in your way! It has become very quick and inexpensive to experiment and innovate.
For more information or resources, please feel free to contact me or check DAML’s comprehensive blog on Medium.
*) DABL is a hosting platform for developers to deploy their DAML scripts.