Remote job
ZK & Formal Verification Engineer
Job details
About this role
Role overview Build a verification pipeline that turns precise descriptions of work into deterministic evaluations and independently checkable results. As an early member of the engineering team, you will work across formal semantics, compiler design, systems implementation, and research into proofs that can protect confidential evidence.
Responsibilities - Define composable, machine-evaluable contracts for describing when work is complete. - Formalize the meaning of contracts, claims, and evidence in Lean 4, and machine-check the resulting properties. - Design intermediate representations and preserve contract semantics as they move through compilation. - Implement a Rust compiler and evaluator with reproducible results, small auditable components, and explicit trust boundaries. - Research how selected evaluations can produce zero-knowledge proofs that establish the contract’s claims without revealing private evidence. - Account for evidence provenance and source trust, and communicate the limits of what a proof can establish.
Requirements - Experience with Lean 4 or another proof assistant. - Strong grounding in programming language semantics, type systems, formal methods, or intermediate representations. - Ability to build systems software in Rust. - Research and engineering judgment to carry ideas from formal models into working, auditable implementations.
Nice to have - Experience with SNARKs, STARKs, or zero-knowledge virtual machines. - A PhD in programming languages, formal methods, or cryptography; it is welcome but not required. - A track record of research or technical work, such as a proof, compiler, or paper.
Benefits and work setup - Founding engineering role with a research mandate; publication is possible where appropriate. - Full-time, remote work across Europe. - Initial six-month goals include machine-checked contract semantics, a Rust verification compiler, and proofs for selected contracts.