ZK/SEC Research notes from zkSecurity
All posts
educative · zk

Unveiling the Magic Behind Starknet: A Deep Dive into New Specifications

In our partnership with Starknet, we have performed a number of security audits on some of the network's cryptographic components.

One challenge we encountered was the lack of comprehensive specifications – a common hurdle in the ZKP space. To navigate this, we had to reverse-engineer the protocol, piecing together its logic from various sources and observations.

In this quest to understand the true protocol being implemented, we wrote and published draft specifications for a number of the protocols that we looked at. You can find them here.

starknet rfcs

The specifications are still work-in-progress, and with the support of the community, we aim to refine and enhance them in the near future.

We wrote 4 specifications in total:

Starknet Channels for Fiat-Shamir Instantiation and Starknet Merkle Tree Polynomial Commitments . Both specifications can be seen as self-contained components, building blocks used by the other Starknet schemes.

Starknet FRI Verifier. This document specifies the verification of FRI proofs in the Starknet ecosystem. It builds on top of both of the previous specifications.

Starknet STARK Verifier. This document specifies the verification of STARK proofs in the Starknet ecosystem. It builds on top of all previous specifications, instantiating the FRI specification.

webpage

Feel free to open PRs or issues on the RFCs repository in order to help us improve these specifications.

Keep reading
More to explore

Powers-of-Funbenius

A one-character repeated-squaring bug in Inferno's Limbo implementation turns the intended random polynomial check into a linearized Frobenius check over a binary extension field. This post walks through why the usual Schwartz-Zippel argument disappears, how periodicity of the Frobenius map makes collisions immediate after 64 multiplication gates, and how even smaller circuits can cheat with noticeably higher probability.

Mathias Hall-Andersen · May 05, 2026

Public report of Aleo's consensus (Bullshark)

We recently audited Aleo's blockchain consensus and found it to be impressively well-documented and high-quality. Our collaboration with Aleo's cooperative team helped us uncover several key issues, and the insights from this audit were well-received. In the blog, we dive into Aleo's Bullshark consensus protocol, explaining its step-by-step process and unique pipelining techniques. We also explore how leaders ensure commitments in even rounds and discuss essential aspects like quorum intersection and garbage collection. Whether you're a blockchain enthusiast or just curious about cutting-edge consensus protocols, this post has got some fascinating details to offer!

ZK/SEC · January 02, 2024

Learn Sumcheck, MLE, and HyperPlonk: An Interactive Tutorial with SageMath

A new interactive tutorial on Sumcheck, Multilinear Extensions, and HyperPlonk with complete SageMath implementations and exercises. Go beyond the theory and understand how these protocols actually work by implementing them yourself.

Marco Gaglianese · November 22, 2025