Table of Contents
Fetching ...

Trustworthy Distributed Certification of Program Execution

Alex Wolf, Marco Edoardo Palma, Pasquale Salza, Harald C. Gall

TL;DR

This work tackles the problem of trustworthy verification of program execution by introducing Mona, a prototype language, and the OCCP protocol for distributed certification. The approach combines a halt-and-resume interpreter with a memory-state snapshotting mechanism to certify program segments without naive full re-execution, leveraging a Polygon Layer-2 blockchain for immutable orchestration. Empirical results show substantial reductions in re-execution (up to about 20× fewer expressions) and strong resilience to malicious behavior (up to 40% adversarial workers), with significant time and gas savings when employing an informed step size. The work demonstrates the practical viability of distributed, on-chain verification while outlining next steps for multi-language generalization, incentive design, and identity mechanisms.

Abstract

Verifying the execution of a program is complicated and often limited by the inability to validate the code's correctness. It is a crucial aspect of scientific research, where it is needed to ensure the reproducibility and validity of experimental results. Similarly, in customer software testing, it is difficult for customers to verify that their specific program version was tested or executed at all. Existing state-of-the-art solutions, such as hardware-based approaches, constraint solvers, and verifiable computation systems, do not provide definitive proof of execution, which hinders reliable testing and analysis of program results. In this paper, we propose an innovative approach that combines a prototype programming language called Mona with a certification protocol OCCP to enable the distributed and decentralized re-execution of program segments. Our protocol allows for certification of program segments in a distributed, immutable, and trustworthy system without the need for naive re-execution, resulting in significant improvements in terms of time and computational resources used. We also explore the use of blockchain technology to manage the protocol workflow following other approaches in this space. Our approach offers a promising solution to the challenges of program execution verification and opens up opportunities for further research and development in this area. Our findings demonstrate the efficiency of our approach in reducing the number of program executions compared to existing state-of-the-art methods, thus improving the efficiency of certifying program executions.

Trustworthy Distributed Certification of Program Execution

TL;DR

This work tackles the problem of trustworthy verification of program execution by introducing Mona, a prototype language, and the OCCP protocol for distributed certification. The approach combines a halt-and-resume interpreter with a memory-state snapshotting mechanism to certify program segments without naive full re-execution, leveraging a Polygon Layer-2 blockchain for immutable orchestration. Empirical results show substantial reductions in re-execution (up to about 20× fewer expressions) and strong resilience to malicious behavior (up to 40% adversarial workers), with significant time and gas savings when employing an informed step size. The work demonstrates the practical viability of distributed, on-chain verification while outlining next steps for multi-language generalization, incentive design, and identity mechanisms.

Abstract

Verifying the execution of a program is complicated and often limited by the inability to validate the code's correctness. It is a crucial aspect of scientific research, where it is needed to ensure the reproducibility and validity of experimental results. Similarly, in customer software testing, it is difficult for customers to verify that their specific program version was tested or executed at all. Existing state-of-the-art solutions, such as hardware-based approaches, constraint solvers, and verifiable computation systems, do not provide definitive proof of execution, which hinders reliable testing and analysis of program results. In this paper, we propose an innovative approach that combines a prototype programming language called Mona with a certification protocol OCCP to enable the distributed and decentralized re-execution of program segments. Our protocol allows for certification of program segments in a distributed, immutable, and trustworthy system without the need for naive re-execution, resulting in significant improvements in terms of time and computational resources used. We also explore the use of blockchain technology to manage the protocol workflow following other approaches in this space. Our approach offers a promising solution to the challenges of program execution verification and opens up opportunities for further research and development in this area. Our findings demonstrate the efficiency of our approach in reducing the number of program executions compared to existing state-of-the-art methods, thus improving the efficiency of certifying program executions.
Paper Structure (48 sections, 1 theorem, 3 figures, 5 tables)

This paper contains 48 sections, 1 theorem, 3 figures, 5 tables.

Key Result

Lemma 1

A correct execution results in a dag represented as a straight line, where $|\text{Traces}| = |\text{Edges}|$.

Figures (3)

  • Figure 1: The ast of the code in \ref{['lst:mona_example']}.
  • Figure 2: An overview of the interaction between the user operations and protocol on the blockchain.
  • Figure 3: The detailed flowchart of occp.

Theorems & Definitions (1)

  • Lemma 1