Mandala: A Smart Contract Programming Language
Markus Knecht

TL;DR
Mandala is a new smart contract programming language designed to enhance safety and prevent vulnerabilities by integrating validation and isolation features, aiming to improve blockchain contract security.
Contribution
It introduces a novel programming language focused on safety, auditability, and vulnerability prevention, with validation during deployment and runtime isolation.
Findings
Language enforces compile-time guarantees during runtime
Validation occurs during deployment to prevent vulnerabilities
Isolates smart contracts to enhance security
Abstract
Smart contracts on a blockchain behave precisely as specified by their code. A vulnerability in this code can lead to unexpected behaviour, which is hard to fix because a blockchain does not allow to change smart contract code after its deployment. Such vulnerabilities have led to several incidents. In the aftermath of such an event, a hard-fork between Ethereum and Ethereum classic was the result. This thesis proposes to develop a new smart contract programming language with the primary focus on safety, auditability, and the intention to prevent as many of the known categories of vulnerabilities by design as possible. The programming language's code is validated during deployment and afterwards isolated from other smart contracts running on the same blockchain to enforce compile-time guarantees during runtime. The designed programming language does evaluate new concepts and paradigms…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsBlockchain Technology Applications and Security · Internet Traffic Analysis and Secure E-voting · Cryptography and Data Security
