Prisma: A tierless language for enforcing contract-client protocols in decentralized appsVCOOP 2022ECOOP 2022
Thu 30 Jun 2022 16:00 - 16:30 at Zoom - VCOOP 7 Chair(s): Philipp Haller
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 paper, 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.
Wed 8 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | Language DesignResearch Papers / Expert Discussion at Aurora Borealis 1 Chair(s): Simon Fowler University of Glasgow | ||
15:30 30mPanel | Programming languages and semanticsExpert Discussion Expert Discussion P: Alexander J. Summers University of British Columbia, P: Gorel Hedin Lund University, A: Guido Salvaneschi University of St. Gallen | ||
16:00 20mTalk | Prisma: A tierless language for enforcing contract-client protocols in decentralized appsVCOOP 2022ECOOP 2022 Research Papers David Richter Technical University of Darmstadt, David Kretzler Technical University of Darmstadt, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen, Sebastian Faust Technical University of Darmstadt, Mira Mezini TU Darmstadt Pre-print Media Attached | ||
16:20 20mTalk | JavaScript Sealed ClassesECOOP 2022 Research Papers Manuel Serrano Inria | ||
16:40 20mTalk | Functional programming for distributed systems with XCVCOOP 2022ECOOP 2022 Research Papers Giorgio Audrito Università di Torino, Roberto Casadei University of Bologna, Italy, Ferruccio Damiani University of Turin, Guido Salvaneschi University of St. Gallen, Mirko Viroli Alma Mater Studiorum - Università di Bologna Pre-print |
Thu 30 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:00 - 16:30 | |||
15:00 30mTalk | What If We Don’t Pop the Stack? The Return of Second-Class ValuesVCOOP 2022 Research Papers Anxhelo Xhebraj Purdue University, Oliver Bračevac Purdue University, Guannan Wei Purdue University, Tiark Rompf Purdue University Link to publication DOI | ||
15:30 30mTalk | NWGraph: A Library of Generic Graph Algorithms and Data Structures in C++20VCOOP 2022 Research Papers Andrew Lumsdaine TileDB, Inc., University of Washington, Pacific Northwest National Laboratory, Luke Dalessandro Indiana University, Jesun Sahariar Firoz Pacific Northwest National Lab, Xu Liu University of Washington, Phil Ratzloff SAS, Scott McMillan Carnegie Mellon University, Marcin Zalewski, Kevin Deweese Cadence | ||
16:00 30mTalk | Prisma: A tierless language for enforcing contract-client protocols in decentralized appsVCOOP 2022ECOOP 2022 Research Papers David Richter Technical University of Darmstadt, David Kretzler Technical University of Darmstadt, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen, Sebastian Faust Technical University of Darmstadt, Mira Mezini TU Darmstadt Pre-print Media Attached |