A Proof-Producing Compiler for Blockchain Applications

Abstract CairoZero is a programming language for running decentralized applications (dApps) at scale. Programs written in the CairoZero language are compiled to machine code for the Cairo CPU architecture and cryptographic protocols are used to verify the results of execution efficiently on blockchain. We explain how we have extended the CairoZero compiler with tooling that enables users to prove, in the Lean 3 proof assistant, that compiled code satisfies high-level functional specifications. We demonstrate the success of our approach by verifying primitives for computation with the secp256k1 and secp256r1 curves over a large finite field as well as the validation of cryptographic signatures using the former. We also verify a mechanism for simulating a read-write dictionary data structure in a read-only setting. Finally, we reflect on our methodology and discuss some of the benefits of our approach.

Authors

Institutions

Publication Details

Journal
Journal of Automated Reasoning
Published
2025-04-11
DOI
https://doi.org/10.1007/s10817-025-09723-y
Primary Topic
Logic, programming, and type systems
Type
article
Field-Weighted Citation Impact
0.00

Funders

Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

A Proof-Producing Compiler for Blockchain Applications

Jeremy D. Avigad, David Levit, Lior Goldberg, Yoav Seginer et al.
Journal of Automated Reasoning
Logic, programming, and type systems
article

A Proof-Producing Compiler for Blockchain Applications

Jeremy D. Avigad, David Levit, Lior Goldberg, Yoav Seginer, Alon Titelman
article en

Abstract

Abstract CairoZero is a programming language for running decentralized applications (dApps) at scale. Programs written in the CairoZero language are compiled to machine code for the Cairo CPU architecture and cryptographic protocols are used to verify the results of execution efficiently on blockchain. We explain how we have extended the CairoZero compiler with tooling that enables users to prove, in the Lean 3 proof assistant, that compiled code satisfies high-level functional specifications. We demonstrate the success of our approach by verifying primitives for computation with the secp256k1 and secp256r1 curves over a large finite field as well as the validation of cryptographic signatures using the former. We also verify a mechanism for simulating a read-write dictionary data structure in a read-only setting. Finally, we reflect on our methodology and discuss some of the benefits of our approach.

Journal of Automated ReasoningVol. 69(2)
Oldham Council (GB), Carnegie Mellon University (US)
Carnegie Mellon University
Openalex Percentile: Top 97%
Logic, programming, and type systems
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.

A Proof-Producing Compiler for Blockchain Applications — Jeremy D. Avigad, David Levit, et al. · Journal of Automated Reasoning (2025) | TGRS Research Map | TGRS