SlideShare a Scribd company logo
Markus Völter
voelter@acm.org
www.voelter.de
@markusvoelter
Declarative
Smart
Contracts
Context
1
An actual
contract,
executed
automatically.
Any
Turing Complete
Program
running on
a Blockchain.
over time
SMART CONTRACT
An actual contract,
executed automatically.
Multiple Parties.
Decision | |
Agreement | |
Coordination.
(Legally) Binding &
Trusted.
Formal Language.
Checkable.
Understandable.
„Event Tracking“
Progress over time
Contract
Definition
Contract
Execution
Contract
Definition
Contract
Execution
Understand Behavior
Functional Correctness
Non-Repudiability
Verified Behavior
Non-Gameability
}BC
Blockchains
can provide certain
non-functional properties
to executable contracts.
Blockchains
are a suitable (partial)
implementation technology
iff these properties are needed.
Verification
Ensure that the program performs
correctly the things the program
text tells it to do.
Validation
Ensure that the program does
the correct things, wrt. to the
requirements.
Verification
Ensure that the program
performs correctly the things
the program text tells it to do.
Validation
Ensure that the program does
the correct things, wrt. to the
requirements.
Contract
Execution
Contract
Definition
Correct-by-Construction
The language/framework/
API/modeling tool doesn’t allow
a particular class of mistakes.
Analysis-and-Fix
You analyze the code/model after the
fact and try to find problems which
devs then fix.
Formal Language.
Checkable.
Understandable.
DSLDomain
Specific
Language
„
Well, people realize that
these contracts have to
run reliably, after all, the
programs deal with real
values now.
“
Some Blockchain Guy
Not the first community to realize ... J
Lots of History & Research
Computational Law
Obligation, Permission
Ordering, Causality, Time
Event, State
Lots of History & Research
Blockchains
Composing contracts: an adventure
in financial engineering
https://lexifi.com/files/resources/MLFiPaper.pdf
POETS Process-oriented event-driven
transaction systems
https://github.com/legalese/poets/blob/master/doc/
Henglein%20-%20POETS%20Process-oriented%20event-
driven%20transaction%20systems.pdf
https://github.com/legalese/poets/blob/master/
doc/hvitvedmaster.pdf
Domain-Specific Languages for
Enterprise Systems
https://bitbucket.org/jespera/poets/raw/c0ee7194ce57d2ad6ca8894c
8a44e88e546d5f4a/doc/poets-techreport/tr.pdf
Contracts in Programming and in
Enterprise Systems
Solution
2
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
MPS / Convecton
Distribution, Trust Correctness
Validation
Simulation
Collaboration
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
Generate to verification tools to build more
confidence beyond type checking.
Deklarative Smart Contracts
Declarative Description
MultiPartyBooleanDecision
A declarative, configurable specification of
how a number of parties makes a (Boolean)
decision.
Execution and Test
A MPBD instance maintains the state of a
decision process as it evolves over time.
Here, we play with an instance in the
interactive REPL.
Combination with State Machines
More complex contracts are modeled as
state machines; events are the API.
Internally, the use BPBDs.
Combintation with State Machines II
Here, a transition action creates a new
AccessControl instance ...
The state of that instance is then used in
guard condition for the top level SM.
Preventing Game Theoretical Attacks
Only „valid“ senders can enter this state.
Events can only arrive at limited rate.
States must be entered turn-by-turn.
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
MPS / Convecton
Distribution, Trust Correctness
Validation
Simulation
Collaboration
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
I D E A
Example: HyperCSL
Blockchains
Lisp (Clojure) based internal DSL for specifi-
cation of general commercial contracts.
Inspired by Simon Peyton Jones and Jean-Marc
Eber and the POETS group at CPHU and ITU in
Denmark.
Uses Ken Adams’
Categories of Contract
Language as fundametal semantic building
blocks. Interpreter and UI in prototype stage.
Example: HyperCSL
Blockchains
Example: HyperCSL
Blockchains
A UI to visualize the interactive
execution of CSL contracts.
Tooling
3
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
MPS / Convecton
Distribution, Trust Correctness
Validation
Simulation
Collaboration
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
KernelF is an extensible functional
language used at the core of DSLs.
DSL Development
New Language
GPL Extension
Formalization
Reuse GPL incl. Expressions and TS
Add/Embed DS-extensions
Compatible notational style
Reduce to GPL
Analyze Domain to find Abstractions
Define suitable, new notations.
Rely on existing behavioral paradigm
Reuse standard expression language
Interpret/Generate to one or more GPLs
Use existing notation from domain
Clean up and formalize
Generate/Interpret
Often import existing „models“
KernelF
Functional Features
Functional, no state at its core.
Purity + Effect Tracking
The usual types, literals and op‘s
Various Conditionals
Functions and Blocks
No null, only opt<T>
Error Handling
Immutable Collections and higher-order functions
Enums, tuples, records, all immutable
Constraints on types and functions
Boxes (like Clojure‘s ref)
Transactional Memory
State Machines
Interactors
Stateful Features
Extensible/Embeddable through modular
language implementation and other means.
(Meta-) Tooling
Language Workbench
Open Source, by Jetbrains
Very Powerful
Used for years by itemis and others
Vast Experience
MPS: Language Toolkit
MPS: Notational Freedom
MPS: Language Composition
Verifying
Infrastructure
4
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
MPS / Convecton
Distribution, Trust Correctness
Validation
Simulation
Collaboration
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
MPS / Convecton
Distribution, Trust Correctness
Validation
Simulation
Collaboration
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
<x
TRUST?
Verifying Blockchain Infrastructure
Blockchains
Formal Semantics of the EVM in K
https://www.ideals.illinois.edu/bitstream/handle/2142/97207/hilden
brandt-saxena-zhu-rodrigues-guth-daian-rosu-2017-tr_0818.pdf
IELE: Register-Based VM for the Blockchain
https://runtimeverification.com/blog/new-technologies-for-the-blockchain-
iele-virtual-machine-and-k-universal-language-framework/
ERC20-K: Formal Executable
Spec of ERC20
https://github.com/runtimeverification/erc20-semantics
Formal Verification for Solidity Contracts
https://forum.ethereum.org/discussion/3779/formal-verification-for-solidity-contracts
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
Distribution, Trust Correctness
Validation
Simulation
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
Did I program/specify the right behaviors?
Will the infrastructure execute the behaviors faithfully?
Ethereum
VM/Network
Iulia
Hyperledger
Java
Executable Multi-Party Contract Language
DSL
Logistics
DSL
Finance
DSL
…
KernelF
Distribution, Trust Correctness
Validation
Simulation
Expressiveness
SMTLIB
Z3
HTML
JavaScript
CSS
Interaction, Integration
An Architecture For Smart Contracts
Did I program/specify the right behaviors?
Will the infrastructure execute the behaviors faithfully?
Wrap Up
Further Reading
Blockchains
Mutable State in KernelF
https://medium.com/@markusvoelter/
dealing-with-mutable-state-in-kernelf-e0fdec8a489b
A Smart Contract Development Stack
https://languageengineering.io/
a-smart-contract-development-stack-54533a3a503a
A Smart Contract Development Stack, Pt. 2
https://languageengineering.io/a-smart-contract-development-
stack-part-ii-game-theoretical-aspects-ca7a9d2e548d
KernelF Reference
http://voelter.de/data/pub/kernelf-reference.pdf
DSLs in Safety-Critical Development
http://voelter.de/data/pub/MPS-in-Safety-1.0.pdf
We need better languages
Integration of verification tools
Simulation, Experimentation and Test
to describe contracts in a meaningful way
can be an important step to assure correctness
should be available in an interactive, local environment
Contracts must be functionally correct
in order for stakeholders to trust them.
Deployment to Blockchain is non-func,
it provides guarantees beyond functionality
Other deployments are useful,
that provide other trade-offs (secure , fast )

More Related Content

PDF
Top 10 programming languages for blockchain professionals
PPTX
.Net Framwork Architecture And components
PPTX
How to design, code, deploy and execute a smart contract
PPTX
The Foundation of Smart Contract Development on Ethereum
PPTX
Block chain application is explained in detail
PPTX
CCS339 Unit V BLOCKCHAIN APPLICATIONS .pptx
PPTX
0103IS201030_Manik Jain_5th sem.pptx
PPTX
Ethereum Devcon1 Report (summary writing)
Top 10 programming languages for blockchain professionals
.Net Framwork Architecture And components
How to design, code, deploy and execute a smart contract
The Foundation of Smart Contract Development on Ethereum
Block chain application is explained in detail
CCS339 Unit V BLOCKCHAIN APPLICATIONS .pptx
0103IS201030_Manik Jain_5th sem.pptx
Ethereum Devcon1 Report (summary writing)

Similar to Deklarative Smart Contracts (20)

PDF
solulab.com-Develop Aptos Smart Contract Using Move Language.pdf
PPTX
Smart Contracts That Learn
PPTX
Solidity programming Language for beginners
PDF
Prominent Blockchain Programming Languages to consider while building Blockch...
PDF
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
PDF
thrift-20070401
PPTX
Introduction to Solidity and Smart Contract Development (9).pptx
PDF
What is Solidity basic concepts_.pdf
PDF
Inside.Net
PPTX
Fluence.sh
DOCX
New microsoft office word document
DOCX
New microsoft office word document
DOCX
New microsoft office word document
PDF
GasMASk Annotation-based Code Generator as an Embedded Domain-Specific Langua...
PPTX
Developing Actors in Azure with .net
PDF
02 - Introduction to Hyperledger Fabric
PDF
Hyperledger Fabric & Composer
PPS
dot NET Framework
PDF
Interesting Facts About Ethereum Smart contract Development
PPT
Interoperability and Windows Communication Foundation (WCF) Overview
solulab.com-Develop Aptos Smart Contract Using Move Language.pdf
Smart Contracts That Learn
Solidity programming Language for beginners
Prominent Blockchain Programming Languages to consider while building Blockch...
Attacking and Exploiting Ethereum Smart Contracts: Auditing 101
thrift-20070401
Introduction to Solidity and Smart Contract Development (9).pptx
What is Solidity basic concepts_.pdf
Inside.Net
Fluence.sh
New microsoft office word document
New microsoft office word document
New microsoft office word document
GasMASk Annotation-based Code Generator as an Embedded Domain-Specific Langua...
Developing Actors in Azure with .net
02 - Introduction to Hyperledger Fabric
Hyperledger Fabric & Composer
dot NET Framework
Interesting Facts About Ethereum Smart contract Development
Interoperability and Windows Communication Foundation (WCF) Overview
Ad

More from Markus Voelter (20)

PPTX
Consulting
PDF
Build your own Language - Why and How?
PDF
Using language workbenches and domain-specific languages for safety-critical ...
PDF
What's Missing in Language Workbenches
PDF
How Domains Shape Languages
PDF
Why Modeling Suck Sucks
PDF
Fusing Modeling and Programming into Language-Oriented Programming
PDF
The future of DSLs - functions and formal methods
PDF
Lessons Learned from building mbeddr
PDF
The Design, Evolution and Use of KernelF
PDF
Envisioning the Future of Language Workbenches
PPTX
Architecting Domain-Specific Languages
PPTX
Generic Tools - Specific Languages (PhD Defense Slides)
PPTX
Language-Oriented Business Applications
PPTX
Generic Tools, Specific Laguages
PPTX
Domain Specific Language Design
PPTX
From Programming to Modeling And Back Again
PPTX
Faszination Segelfliegen
PPTX
Introduction To MDD
PPTX
Professional Podcasting Guide
Consulting
Build your own Language - Why and How?
Using language workbenches and domain-specific languages for safety-critical ...
What's Missing in Language Workbenches
How Domains Shape Languages
Why Modeling Suck Sucks
Fusing Modeling and Programming into Language-Oriented Programming
The future of DSLs - functions and formal methods
Lessons Learned from building mbeddr
The Design, Evolution and Use of KernelF
Envisioning the Future of Language Workbenches
Architecting Domain-Specific Languages
Generic Tools - Specific Languages (PhD Defense Slides)
Language-Oriented Business Applications
Generic Tools, Specific Laguages
Domain Specific Language Design
From Programming to Modeling And Back Again
Faszination Segelfliegen
Introduction To MDD
Professional Podcasting Guide
Ad

Recently uploaded (20)

PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
assetexplorer- product-overview - presentation
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
PDF
Digital Systems & Binary Numbers (comprehensive )
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
iTop VPN Crack Latest Version Full Key 2025
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Cost to Outsource Software Development in 2025
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Nekopoi APK 2025 free lastest update
PDF
Salesforce Agentforce AI Implementation.pdf
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Patient Appointment Booking in Odoo with online payment
PDF
Design an Analysis of Algorithms I-SECS-1021-03
Autodesk AutoCAD Crack Free Download 2025
assetexplorer- product-overview - presentation
wealthsignaloriginal-com-DS-text-... (1).pdf
Product Update: Alluxio AI 3.7 Now with Sub-Millisecond Latency
Digital Systems & Binary Numbers (comprehensive )
Navsoft: AI-Powered Business Solutions & Custom Software Development
Monitoring Stack: Grafana, Loki & Promtail
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
iTop VPN Crack Latest Version Full Key 2025
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Cost to Outsource Software Development in 2025
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Oracle Fusion HCM Cloud Demo for Beginners
Nekopoi APK 2025 free lastest update
Salesforce Agentforce AI Implementation.pdf
Why Generative AI is the Future of Content, Code & Creativity?
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Reimagine Home Health with the Power of Agentic AI​
Patient Appointment Booking in Odoo with online payment
Design an Analysis of Algorithms I-SECS-1021-03

Deklarative Smart Contracts

  • 4. An actual contract, executed automatically. Multiple Parties. Decision | | Agreement | | Coordination. (Legally) Binding & Trusted. Formal Language. Checkable. Understandable. „Event Tracking“ Progress over time
  • 7. Blockchains can provide certain non-functional properties to executable contracts. Blockchains are a suitable (partial) implementation technology iff these properties are needed.
  • 8. Verification Ensure that the program performs correctly the things the program text tells it to do. Validation Ensure that the program does the correct things, wrt. to the requirements.
  • 9. Verification Ensure that the program performs correctly the things the program text tells it to do. Validation Ensure that the program does the correct things, wrt. to the requirements. Contract Execution Contract Definition
  • 10. Correct-by-Construction The language/framework/ API/modeling tool doesn’t allow a particular class of mistakes. Analysis-and-Fix You analyze the code/model after the fact and try to find problems which devs then fix.
  • 12. „ Well, people realize that these contracts have to run reliably, after all, the programs deal with real values now. “ Some Blockchain Guy
  • 13. Not the first community to realize ... J
  • 14. Lots of History & Research Computational Law Obligation, Permission Ordering, Causality, Time Event, State
  • 15. Lots of History & Research Blockchains Composing contracts: an adventure in financial engineering https://lexifi.com/files/resources/MLFiPaper.pdf POETS Process-oriented event-driven transaction systems https://github.com/legalese/poets/blob/master/doc/ Henglein%20-%20POETS%20Process-oriented%20event- driven%20transaction%20systems.pdf https://github.com/legalese/poets/blob/master/ doc/hvitvedmaster.pdf Domain-Specific Languages for Enterprise Systems https://bitbucket.org/jespera/poets/raw/c0ee7194ce57d2ad6ca8894c 8a44e88e546d5f4a/doc/poets-techreport/tr.pdf Contracts in Programming and in Enterprise Systems
  • 17. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF MPS / Convecton Distribution, Trust Correctness Validation Simulation Collaboration Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts Generate to verification tools to build more confidence beyond type checking.
  • 19. Declarative Description MultiPartyBooleanDecision A declarative, configurable specification of how a number of parties makes a (Boolean) decision.
  • 20. Execution and Test A MPBD instance maintains the state of a decision process as it evolves over time. Here, we play with an instance in the interactive REPL.
  • 21. Combination with State Machines More complex contracts are modeled as state machines; events are the API. Internally, the use BPBDs.
  • 22. Combintation with State Machines II Here, a transition action creates a new AccessControl instance ... The state of that instance is then used in guard condition for the top level SM.
  • 23. Preventing Game Theoretical Attacks Only „valid“ senders can enter this state. Events can only arrive at limited rate. States must be entered turn-by-turn.
  • 24. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF MPS / Convecton Distribution, Trust Correctness Validation Simulation Collaboration Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts I D E A
  • 25. Example: HyperCSL Blockchains Lisp (Clojure) based internal DSL for specifi- cation of general commercial contracts. Inspired by Simon Peyton Jones and Jean-Marc Eber and the POETS group at CPHU and ITU in Denmark. Uses Ken Adams’ Categories of Contract Language as fundametal semantic building blocks. Interpreter and UI in prototype stage.
  • 27. Example: HyperCSL Blockchains A UI to visualize the interactive execution of CSL contracts.
  • 29. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF MPS / Convecton Distribution, Trust Correctness Validation Simulation Collaboration Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts KernelF is an extensible functional language used at the core of DSLs.
  • 30. DSL Development New Language GPL Extension Formalization Reuse GPL incl. Expressions and TS Add/Embed DS-extensions Compatible notational style Reduce to GPL Analyze Domain to find Abstractions Define suitable, new notations. Rely on existing behavioral paradigm Reuse standard expression language Interpret/Generate to one or more GPLs Use existing notation from domain Clean up and formalize Generate/Interpret Often import existing „models“ KernelF
  • 31. Functional Features Functional, no state at its core. Purity + Effect Tracking The usual types, literals and op‘s Various Conditionals Functions and Blocks No null, only opt<T> Error Handling Immutable Collections and higher-order functions Enums, tuples, records, all immutable Constraints on types and functions Boxes (like Clojure‘s ref) Transactional Memory State Machines Interactors Stateful Features Extensible/Embeddable through modular language implementation and other means.
  • 32. (Meta-) Tooling Language Workbench Open Source, by Jetbrains Very Powerful Used for years by itemis and others Vast Experience
  • 37. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF MPS / Convecton Distribution, Trust Correctness Validation Simulation Collaboration Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts
  • 38. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF MPS / Convecton Distribution, Trust Correctness Validation Simulation Collaboration Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts <x TRUST?
  • 39. Verifying Blockchain Infrastructure Blockchains Formal Semantics of the EVM in K https://www.ideals.illinois.edu/bitstream/handle/2142/97207/hilden brandt-saxena-zhu-rodrigues-guth-daian-rosu-2017-tr_0818.pdf IELE: Register-Based VM for the Blockchain https://runtimeverification.com/blog/new-technologies-for-the-blockchain- iele-virtual-machine-and-k-universal-language-framework/ ERC20-K: Formal Executable Spec of ERC20 https://github.com/runtimeverification/erc20-semantics Formal Verification for Solidity Contracts https://forum.ethereum.org/discussion/3779/formal-verification-for-solidity-contracts
  • 40. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF Distribution, Trust Correctness Validation Simulation Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts Did I program/specify the right behaviors? Will the infrastructure execute the behaviors faithfully?
  • 41. Ethereum VM/Network Iulia Hyperledger Java Executable Multi-Party Contract Language DSL Logistics DSL Finance DSL … KernelF Distribution, Trust Correctness Validation Simulation Expressiveness SMTLIB Z3 HTML JavaScript CSS Interaction, Integration An Architecture For Smart Contracts Did I program/specify the right behaviors? Will the infrastructure execute the behaviors faithfully?
  • 43. Further Reading Blockchains Mutable State in KernelF https://medium.com/@markusvoelter/ dealing-with-mutable-state-in-kernelf-e0fdec8a489b A Smart Contract Development Stack https://languageengineering.io/ a-smart-contract-development-stack-54533a3a503a A Smart Contract Development Stack, Pt. 2 https://languageengineering.io/a-smart-contract-development- stack-part-ii-game-theoretical-aspects-ca7a9d2e548d KernelF Reference http://voelter.de/data/pub/kernelf-reference.pdf DSLs in Safety-Critical Development http://voelter.de/data/pub/MPS-in-Safety-1.0.pdf
  • 44. We need better languages Integration of verification tools Simulation, Experimentation and Test to describe contracts in a meaningful way can be an important step to assure correctness should be available in an interactive, local environment Contracts must be functionally correct in order for stakeholders to trust them. Deployment to Blockchain is non-func, it provides guarantees beyond functionality Other deployments are useful, that provide other trade-offs (secure , fast )