Skip to content
@lurk-lab

Lurk Lab

Welcome to Lurk Lab

Lurk Lang

Lurk is an in-development, Turing-complete programming language for recursive zk-SNARKs.

Disclaimer

DISCLAIMER: Lurk is an early research-stage language. Neither the cryptography nor the software has been audited, and there is currently no trusted setup for Groth16 circuits. Do not use Lurk in production environments or anywhere else that security is necessary.

lurk and lurk-rs

lurk-rs is the Rust implementation of Lurk, which generates binaries via rustc. The Rust implementation supports expression evaluation, proof of correct evaluation, and proof verification. lurk-rs also provides preliminary support for WASM.

lurk is a Common Lisp reference implementation of Lurk. This implementation only supports expression evaluation. The language specification lives in this repo, and the implementation provided there aims for simplicity and demonstration of the intended semantics without the proving tools of lurk-rs.

Features of Lurk

  • Lurk program execution can be proved in zero knowledge.
  • Lurk proofs support multiple backend SNARK proving systems.
  • Lurk enables incremental computation and proofs in unbounded loops.
  • Lurk provides conditional control flow.
  • Lurk programs are data and vice versa.
  • Lurk data is content-addressable for compatibility with IPLD/IPFS.

Yatima

Yatima is a dependently typed, content addressed compiler from the Lean Theorem Prover to Lurk. This enables formally verified zk-proofs of execution, whether it's abstract cryptography via FFaCiL.lean or interpreted WebAssembly code via Wasm.lean.

Website

Visit us on the web at https://lurk-lab.com or https://lurk-lang.org.

Zulip

Come hang out on our Zulip.

Twitter

Follow @LurkLab on Twitter.

License

MIT or Apache 2.0

Pinned

  1. lurk-rs lurk-rs Public

    Lurk is a Turing-complete programming language for recursive zk-SNARKs. It is a statically scoped dialect of Lisp, influenced by Scheme and Common Lisp.

    Rust 397 50

  2. arecibo arecibo Public

    An advanced fork of Nova

    Rust 55 24

  3. solidity-verifier solidity-verifier Public

    Solidity implementation of Nova proving system verifier

    Solidity 54 10

  4. bellpepper bellpepper Public

    SNARK Circuit library

    Rust 64 17

  5. yatima yatima Public

    A zero-knowledge Lean4 compiler and kernel

    Lean 93 7

  6. neptune neptune Public

    Rust Poseidon implementation.

    Rust 250 93

Repositories

Showing 10 of 115 repositories