Compiling a Higher-Order Smart Contract Language to LLVM

08/12/2020
by   Vaivaswatha Nagaraj, et al.
0

Scilla is a higher-order polymorphic typed intermediate level language for implementing smart contracts. In this talk, we describe a Scilla compiler targeting LLVM, with a focus on mapping Scilla types, values, and its functional language constructs to LLVM-IR. The compiled LLVM-IR, when executed with LLVM's JIT framework, achieves a speedup of about 10x over the reference interpreter on a typical Scilla contract. This reduced latency is crucial in the setting of blockchains, where smart contracts are executed as parts of transactions, to achieve peak transactions processed per second. Experiments on the Ackermann function achieved a speedup of more than 45x. This talk abstract is aimed at both programming language researchers looking to implement an LLVM based compiler for their functional language, as well as at LLVM practitioners.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/18/2019

Developing secure Bitcoin contracts with BitML

We present a toolchain for developing and verifying smart contracts that...
research
04/09/2020

OV: Validity-based Optimistic Smart Contracts

Smart contract (SC) platforms form blocks of transactions into a chain a...
research
01/13/2022

Translation Certification for Smart Contracts

Compiler correctness is an old problem, but with the emergence of smart ...
research
03/02/2023

Developing a Compiler for EROP – A Language for the Specification of Smart Contracts, An Experience Report

A smart contract is a translation of a standard paper-based contract tha...
research
02/22/2021

SigVM: Toward Fully Autonomous Smart Contracts

This paper presents SigVM, a novel blockchain virtual machine that suppo...
research
08/06/2021

Extracting functional programs from Coq, in Coq

We implement extraction of Coq programs to functional languages based on...
research
05/16/2022

Prisma: A Tierless Language for Enforcing Contract-Client Protocols in Decentralized Applications (Extended Version)

Decentralized applications (dApps) consist of smart contracts that run o...

Please sign up or login with your details

Forgot password? Click here to reset