Daml: A Smart Contract Language for Securely Automating Real-World Multi-Party Business Workflows

03/07/2023
by   Alexander Bernauer, et al.
0

Distributed ledger technologies, also known as blockchains for enterprises, promise to significantly reduce the high cost of automating multi-party business workflows. We argue that a programming language for writing such on-ledger logic should satisfy three desiderata: (1) Provide concepts to capture the legal rules that govern real-world business workflows. (2) Include simple means for specifying policies for access and authorization. (3) Support the composition of simple workflows into complex ones, even when the simple workflows have already been deployed. We present the open-source smart contract language Daml based on Haskell with strict evaluation. Daml achieves these desiderata by offering novel primitives for representing, accessing, and modifying data on the ledger, which are mimicking the primitives of today's legal systems. Robust access and authorization policies are specified as part of these primitives, and Daml's built-in authorization rules enable delegation, which is key for workflow composability. These properties make Daml well-suited for orchestrating business workflows across multiple, otherwise heterogeneous parties. Daml contracts run (1) on centralized ledgers backed by a database, (2) on distributed deployments with Byzantine fault tolerant consensus, and (3) on top of conventional blockchains, as a second layer via an atomic commit protocol.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/13/2021

Ergo – a programming language for Smart Legal Contracts

We present a smart legal contract platform to support a wide range of sm...
research
07/14/2022

Multi: a Formal Playground for Multi-Smart Contract Interaction

Blockchains are maintained by a network of participants that run algorit...
research
12/03/2018

Debugging Smart Contract's Business Logic Using Symbolic Model-Checking

Smart contracts are a special type of programs running inside a blockcha...
research
08/05/2021

Protocol-based Smart Contract Generation

The popularity of smart contracts is on the rise, yet breaches in reliab...
research
09/04/2018

An automatic tool for checking multi-party contracts

Contracts play an important role in business where relationships among d...
research
07/03/2023

A Cross-Chain Query Language for Application-Level Interoperability Between Open and Permissionless Blockchains

Open and permissionless blockchains are distributed systems with thousan...

Please sign up or login with your details

Forgot password? Click here to reset