Search for projects by name
Stone is a proving system for programs written with Cairo language. Originally built by Starkware for proving Starknet state transition.
Stone is a proving system for programs written with Cairo language. Originally built by Starkware for proving Starknet state transition.
Stone is a STARK proof system that is designed to prove the execution of programs written in Cairo language and compiled into Cairo assembly (cASM) byte code. This ISA is highly optimized for the performance of zkVM proving. Stone verifies STARK proofs directly onchain without any final SNARK wraps and thus requires no trusted setup. Stone targets 80 bits of security (e.g. see constructor params on this contract).
Stone is a Cairo-based zkVM with AIR arithmetization over felt252 field and FRI-based commitment. The protocol makes use of recursive proof aggregation among many projects utilizing the CairoVM (i.e. Starknet forks and StarkEx systems) using SHARP. Some documentation on the aggregation scheme can be found here and the Cairo verifier implemented in Cairo can be found here.
The base layer of Stone proving is a Cairo program called SNOS that proves the correct STF from one state to another given the list of transactions. SNOS execution includes checking transaction inputs (e.g. state), executing transactions and processing state diffs. The source code of the Starknet OS can be found here.
Proofs of SNOS executions of several consecutive blocks are recursively aggregated. The correctness of this aggregation is checked by applicative bootloader program, which also verifies the correct relation of corresponding SNOS inputs and outputs. Applicative bootloader proofs are aggregated across several blockchains and proven by SHARP. The SHARP STARK proof is verified onchain without any SNARK wraps.
Transparent proving systems require no trusted setups and have no additional setup-related trust assumptions.
List of different onchain verifiers for this proving system. Unique ID distinguishes differents deployments of the same verifier from different verifiers (e.g. different versions).