Papers1 provider · 1 record
January 25, 2025· arXiv
preprint
Open access

A Proof-Producing Compiler for Blockchain Applications

Authors:Jeremy AvigadLior GoldbergDavid LevitYoav SeginerAlon Titelman

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.

Community

0 comments
Use Connect Wallet in the navigation

No discussion yet

Be the first to share a question or observation.