Research Software Engineer — Applied Cryptography
- Salary
- £60K–£80K
- Hiring from
- United Kingdom
- Work type
- Hybrid
- Posted
603,752 remote jobs, straight from company career pages
100% free · New jobs every hour
Show job descriptionHide job description
A guardrail that works and a guardrail nobody can lie about are two different things. You would build the second.
Formal verification can establish that a system satisfies a safety specification across all possible scenarios. Conventionally, however, the system must be disclosed to whoever verifies it. We have developed Zero-Knowledge Model Checking (ZKMC), which removes that requirement. A system-holder can prove that a secret system satisfies a public temporal specification without revealing the system itself. The result is a portable certificate that anyone can verify in milliseconds, cryptographically bound to the system actually deployed.
Consider a content-moderation pipeline: its operator could prove compliance with public safety rules without disclosing the proprietary filtering logic. The proof would be independently checkable and tied to the deployment serving real traffic.
Next, we are extending this approach to zero-knowledge runtime monitoring and model checking under two-sided secrecy, where even the auditor's criteria must remain confidential. Developed in close collaboration with the University of Birmingham and international research partners, this work brings together frontier research in cryptography and formal methods with practical systems engineering.
Our goal is a production-grade, open-source demonstrator by mid-2027.
You will own the engineering that takes ZKMC from research prototype to usable infrastructure. You will translate advances in cryptography and formal verification into correct, efficient, production-grade software. You will have the opportunity to shape how new protocols are designed, implemented, and evaluated, working at the boundary between academic research and real-world deployment.
This is not a role where you simply implement specifications handed down by researchers. You will make architectural decisions, challenge assumptions, identify what is computationally feasible, and tell a cryptographer when what they have specified will not run.
We work in the open. Code is published, performance is measured, and benchmarks are released whether or not they flatter us.
We welcome candidates at different levels of seniority. What matters most is what you have built, how you approach difficult engineering problems, and the judgement you bring to them.
- Turn ZKMC into infrastructure. Develop a usable API, a specification front end, and commitment verification tied to a running system. Build a library that others can use and extend.
- Make proving practical. Amortise per-event proving costs through folding, shrink certificates through succinctness, and make informed trade-offs between performance, complexity, and security.
- Implement new protocols. Translate research specifications for zero-knowledge runtime monitoring and multi-party model checking into correct, efficient implementations suitable for industrial use.
- Build the demonstrator end to end. Integrate the proving pipeline, agent harness, runtime monitor, verifier client, and audit path into a working system.
- Measure and optimise relentlessly. Profile the prover, identify the real bottlenecks, and improve performance with reproducible benchmarks.
- Challenge the implementation. Red-team your own work, test assumptions, investigate failure modes, and ensure the system delivers the guarantees it claims.
- Build in the open. Write maintainable code, document design decisions, and contribute to software that external developers and researchers can rely on.
- Hands-on experience with zero-knowledge proof systems, such as arkworks, Halo2, Plonky3, or comparable frameworks.
- Strong Rust programming skills, with an emphasis on correctness, maintainability, and performance.
- An understanding of Lean, or the willingness and ability to learn it.
- A track record of translating research papers, formal specifications, or theoretical protocols into working, tested implementations.
- Rigour in benchmarking and performance analysis: you know how to measure a system, distinguish real improvements from noise, and explain the trade-offs.
- Familiarity with folding schemes, recursive proofs, succinct proof systems, or multi-party computation frameworks.
- Background in formal methods, particularly temporal logic, automata, model checking, or runtime verification.
- Experience maintaining open-source projects or building software that other developers depend on.
You do not need to meet every desirable qualification. We are particularly interested in people who can move confidently between mathematical ideas and practical systems engineering.
- Contract: Fixed-term until November 2027, with a flexible start date
- Working pattern: Full-time; flexible working arrangements considered
- Location: Birmingham, hybrid, or remote
- Salary: £60,000–£80,000 per annum
Zeroth Research is committed to fostering an inclusive and diverse working environment. We are an equal opportunities employer and welcome applications from all suitably qualified candidates regardless of age, disability, gender identity or expression, marital or civil partnership status, pregnancy or maternity, race, religion or belief, sex, or sexual orientation.
We value diversity of thought, background, and experience, and are committed to making reasonable adjustments throughout the recruitment process and employment to support accessibility and inclusion.