Prisma : A Tierless Language for Enforcing Contract-client Protocols in Decentralized Applications

Author:

Richter David1ORCID,Kretzler David1ORCID,Weisenburger Pascal2ORCID,Salvaneschi Guido2ORCID,Faust Sebastian1ORCID,Mezini Mira1ORCID

Affiliation:

1. Technical University of Darmstadt, Germany

2. University of St. Gallen, Switzerland

Abstract

Decentralized applications (dApps) consist of smart contracts that run on blockchains and clients that model collaborating parties. dApps are used to model financial and legal business functionality. Today, contracts and clients are written as separate programs—in different programming languages—communicating via send and receive operations. This makes distributed program flow awkward to express and reason about, increasing the potential for mismatches in the client-contract interface, which can be exploited by malicious clients, potentially leading to huge financial losses. In this article, we present Prisma , a language for tierless decentralized applications, where the contract and its clients are defined in one unit and pairs of send and receive actions that “belong together” are encapsulated into a single direct-style operation, which is executed differently by sending and receiving parties. This enables expressing distributed program flow via standard control flow and renders mismatching communication impossible. We prove formally that our compiler preserves program behavior in presence of an attacker controlling the client code. We systematically compare Prisma with mainstream and advanced programming models for dApps and provide empirical evidence for its expressiveness and performance.

Funder

German Federal Ministry of Education and Research BMBF iBlockchain

German Research Foundation DFG

Hessian Ministry of Higher Education, Research, Science and the Arts

National Research Center for Applied Cybersecurity ATHENE

Hessian LOEWE initiative LOEWE

Swiss National Science Foundation SNSF

University of St. Gallen unisig

Publisher

Association for Computing Machinery (ACM)

Subject

Software

Reference94 articles.

1. Gavin Wood. 2022. Ethereum Yellow Paper. Retrieved from https://ethereum.github.io/yellowpaper/paper.pdf

2. Simon Marlow. 2010. Haskell 2010: Language Report. Expressions. Do Expressions. Retrieved 14-11-2020 from https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-470003.14

3. Evan Saulpaugh. 2018. Headlong (GitHub Repository). Retrieved from https://github.com/esaulpaugh/headlong

4. Ethereum Foundation. 2015. Solidity Documentation. Retrieved 14-11-2020 from https://docs.soliditylang.org/en/v0.8.1/

5. Edwin Brady. 2007. The Idris Tutorial. Interfaces. Monads and do-notation. !-notation. Retrieved 14-11-2020 from http://docs.idris-lang.org/en/latest/tutorial/interfaces.html#notation

同舟云学术

1.学者识别学者识别

2.学术分析学术分析

3.人才评估人才评估

"同舟云学术"是以全球学者为主线,采集、加工和组织学术论文而形成的新型学术文献查询和分析系统,可以对全球学者进行文献检索和人才价值评估。用户可以通过关注某些学科领域的顶尖人物而持续追踪该领域的学科进展和研究前沿。经过近期的数据扩容,当前同舟云学术共收录了国内外主流学术期刊6万余种,收集的期刊论文及会议论文总量共计约1.5亿篇,并以每天添加12000余篇中外论文的速度递增。我们也可以为用户提供个性化、定制化的学者数据。欢迎来电咨询!咨询电话:010-8811{复制后删除}0370

www.globalauthorid.com

TOP

Copyright © 2019-2024 北京同舟云网络信息技术有限公司
京公网安备11010802033243号  京ICP备18003416号-3