Igor Gulamov — Personal Record
Dubai · UTC+4
Zero-knowledge — 2018–2024

Zero-knowledge engineering: privacy, delegated proving, storage

last revised July 2026 · igorgulamov.com/zk/ · dated, linked sources throughout

TL;DR. Six years of zero-knowledge engineering across the full stack: a production-grade private-transaction protocol (ZeroPool, 2019, grants from Web3 Foundation, NEAR and Waves), a Rust zkSNARK framework (Fawkes-Crypto), a construction for cloud ZK proving over a blinded witness (2023 — the strongest single result of the research line), and a sharded-storage / data-availability research program (2024). 22 research topics on ethresear.ch, 5 on zkresear.ch. The Plasma-era prehistory lives on its own page: the history-split finding.

ZeroPool: private transactions

ZeroPool is a fully private multi-blockchain transaction protocol: sender, receiver and amount are all hidden, with a common anonymity set and low fees. I founded it at ETHBoston in September 2019, where it reached the main-stage finals and took the SKALE prize (team: Igor Gulamov, Artem Vorobev, Nick Kozlov — Devpost, demo video). Later demos: a private transaction on Ethereum mainnet, ZeroPool on Substrate.

I presented ZeroPool's account-based privacy design at zkSummit 6 (online, November 2020) — talk recording (transcript) on the Zero Knowledge channel. Earlier that year: a zk-private-transactions talk at ETHDenver and a lightning talk on the same topic at Stanford Blockchain Week (both February 2020), and the ZeroPool beta shown at EthCC 3 in Paris (March 2020) — "the final offline event before COVID-19," per ZeroPool's blog.

Technically, ZeroPool is a UTXO-based design: UTXO hashes live in calldata, the Merkle root in storage, and UTXOs plus transactions are encrypted to the receiver's public key — the design write-up is on ethresear.ch (September 2019), with the gas-scaling follow-up "State of ZeroPool" (February 2020) showing transaction costs dropping from 40k toward 15k gas with batching.

Grants and integrations:

Status, for the record: after the 2022 OFAC sanctions in the on-chain privacy space, a business around private transactions became untenable; ZeroPool remained free, open research and libraries — no token was ever issued, no venture round was raised, grant deliverables were shipped, code stays open under zeropoolnetwork. My later research engages the compliance question directly: the anti-mixer privacy protocol (September 2023) is a privacy design built around deanonymization and compliance concerns — privacy engineering that takes regulation seriously, not a mixer.

Fawkes-Crypto

To build ZeroPool's circuits I wrote Fawkes-Crypto (March 2020) — a lightweight Rust framework for building zkSNARK circuits over bellman (Groth16, BN254).

Delegated proving: shielded Sangria

The strongest single result of this research line: Running Sangria final proof in shielded mode on untrusted 3rd party prover (April 13, 2023).

The problem: ZK proving is expensive, so you want to outsource it to a cloud prover — but sending your witness to someone else's server destroys the very privacy the proof exists for. The construction: instead of running the final (expensive) proving step locally, the client — in one extra Sangria folding round of only linear complexity — folds its real Plonk execution trace with a specially generated high-entropy random trace, and hands the folded trace to the untrusted prover. The post proves that for any candidate initial trace there exists a consistent blinding trace producing exactly what the prover sees, so the delegated trace reveals nothing about the original witness: the thin client does O(n) work, the heavy final proof happens in the cloud, and there are zero data leaks. Worked computations (SageMath): snjax/sangria-delegated-zk. This idea family — folding-based delegated and private proving — has since become an active industry theme around proving markets and client-side privacy.

All five zkresear.ch topics:

DateTopicContribution
Apr 10, 2023Multilinear polynomial KZG10 commitment with linear pairing checkMultilinear KZG-style commitment with a linear pairing check
Apr 13, 2023Running Sangria final proof in shielded mode on untrusted 3rd party proverCloud ZK proving over a blinded witness — see above
Apr 24, 2023Fast Fourier inspired SangriaFFT-style folding tree for Sangria
May 12, 2023No-FFT O(N) univariate polynomial zero-check with O(log N) verifierZero-check protocol avoiding FFTs entirely
Sep 6, 2023Minimal streaming zkVM with quasilinear prover complexityStreaming zkVM: thin client, memory complexity of native execution

Storage and data availability

In 2024 the research line shifted to the data problem: how to store and prove large amounts of data with web2 costs and web3 security.

I gave the "Solving Vitalik's trilemma with zk-driven DA and Storage" talk at three 2024 events: ETHPrague 2024, ETH Belgrade 2024, and FIL Dev Summit 4, Brusselsfull transcript with slides.

Where it started, and where it went

The zero-knowledge track grew out of the Plasma era — the full story of the December 2018 history-split finding explains why on-chain data availability won and privacy had to be engineered on top of it, not around it. And the security habits built while writing and reviewing circuits became the audit record, which in turn became SavantChat.