Functional Modelling of Contractual Workflows in DAML • Andrae Muys • YOW! 2019

Learn how to formalize and verify contractual agreements using Daml, a Haskell dialect with linear semantics, in a decentralized and autonomous system designed for high-stakes environments.

Key takeaways
  • The concept of a contract is formalized, with parties agreeing on a shared understanding of state and rights.
  • A decentralized, autonomous system is required, with each party verifying state updates independently.
  • The language used is Daml, a Haskell dialect with a linear semantics, and intentional modeling of actions, rights, and obligations.
  • The system uses a shared evaluation function, combined with a state update function, to validate state updates.
  • Parties need to be able to independently verify state updates, with no centralized authority.
  • The system uses a peer-to-peer architecture, with no need for a centralized state or authority.
  • Parties must agree on a shared understanding of state, and verify state updates independently.
  • The system also models delegation, with consents stored in state.
  • The language provides a way to encode rights and obligations, with a focus on voluntary agreements.
  • The system uses a settled blockchain, with a distributed consensus algorithm.
  • The architecture is designed to support scalability, with the ability to handle billions of contracts.
  • The system is intended for use in high-stakes environments, such as financial markets, where trust and agreement are paramount.
  • The language and architecture are designed to provide a way to formalize and verify agreements, with a focus on deterministic evaluation and independent verification.