Translation Certification for Smart Contracts

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    Abstract

    Compiler correctness is an old problem, but with the emergence of smart contracts on blockchains that problem presents itself in a new light. Smart contracts are self-contained pieces of software that control (valuable) assets in an adversarial environment; once committed to the blockchain, these smart contracts cannot be modified. Smart contracts are typically developed in a high-level contract language and compiled to low-level virtual machine code before being committed to the blockchain. For a smart contract user to trust a given piece of low-level code on the blockchain, they must convince themselves that (a) they are in possession of the matching source code and (b) that the compiler has correctly translated the source code to the given low-level code. Classic approaches to compiler correctness tackle the second point. We argue that translation certification also squarely addresses the first. We describe the proof architecture of a novel translation certification framework, implemented in Coq, for a functional smart contract language. We demonstrate that we can model the compilation pipeline as a sequence of translation relations that facilitate a modular verification methodology and are robust in the face of an evolving compiler implementation.

    Original languageEnglish
    Title of host publicationFunctional and Logic Programming
    Subtitle of host publication16th International Symposium, FLOPS 2022, Kyoto, Japan, May 10–12, 2022, Proceedings
    EditorsMichael Hanus, Atsushi Igarashi
    PublisherSpringer
    Pages94-111
    Number of pages18
    ISBN (Electronic)978-3-030-99461-7
    ISBN (Print)978-3-030-99460-0
    DOIs
    Publication statusPublished - 2022
    Event16th International Symposium on Functional and Logic Programming (FLOPS 2022) -
    Duration: 10 May 202212 May 2022
    https://conf.researchr.org/home/flops-2022

    Publication series

    NameLecture Notes in Computer Science (LNCS)
    PublisherSpringer
    Volume13215
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    Conference

    Conference16th International Symposium on Functional and Logic Programming (FLOPS 2022)
    Abbreviated titleFLOPS
    Period10/05/2212/05/22
    Internet address

    Bibliographical note

    Publisher Copyright:
    © 2022, Springer Nature Switzerland AG.

    Keywords

    • compilers
    • verification
    • Smart contracts
    • blockchain

    Fingerprint

    Dive into the research topics of 'Translation Certification for Smart Contracts'. Together they form a unique fingerprint.

    Cite this