/starkyx

Primary LanguageRustApache License 2.0Apache-2.0

StarkyX

Curta type I-CnAM 40092-IMG 6721-white

Introduction

StarkyX is a library for writing AIR constraints with composable and typed constraints. Currently, the main purpose of the library is to prove STARK-based accelerators for Plonky2 circuits.

Stark proofs and verification are implemented via Starky. This repository contains a modified fork of Starky to enable the support a 1-round AIR with random challenges and using the StarkyX AIR constraints. All the cryptographic primitives are imported from the Plonky2 proving system.

Building

StarkyX requires the use of the nightly Rust toolchain. To use it by default, run the following command:

rustup override set nightly

In the root directory of the project.

We recommend running the tests using the --release flag, as they are quite slow otherwise.

cargo test --release

Usage

Building an AIR computation using StarkyX

Creating a STARK proof for an AIR computation

Integrating into a Plonky2 circuit

StarkyX starks can be integrated into a Plonky2 circuit

Audit

StarkyX has been audited by KALOS. The audit report can be found here. This repo was formerly named Curta, in the audit report it is referenced as Curta.