1. 引言
Lurk 是一种用于Recursive zk-SNARK(递归零知识简洁非交互式知识论证)的图灵完备编程语言,它将为 SNARK 证明、区块链共识、Filecoin 虚拟机 (FVM)、去中心化应用程序、与 IPFS 和 IPLD 等激发新的可能。
Lurk为Lisp的一种静态方言。
Lurk当前支持多种proving system:
- 1)Groth16
- 2)SnarkPack+:How to aggregate SNARKs efficiently
- 3)Nova:Recursive SNARKs without trusted setup:为微软团队2021年论文。
- 3.1)Nova具有当前研究中的最小verifier circuit,看实现fast verification of zero-knowledge proofs。
- 3.2)Nova为当前最简单的recursive proof system,同时提供了fastest prover。
- 3.3)Nova无需可信设置。
- 3.4)相关资料有:
- Nova视频讲解
- Nova论文
- Nova开源代码
Lurk中使用SNARK-friendly Poseidon hash函数来构建compound data,使得该data自然为content-addressable。具体见Neptune:针对Filecoin实现的Poseidon哈希函数。
Lurk支持如下关键特性:
- 1)可验证计算
- 2)简洁证明
- 3)零知识性
- 4)完备性
- 5)Higher-order functions (e.g. functions as public inputs to computations, with proof)
- 6)Content-addressable data for natural integration with IPFS and IPLD
[1] Filecoin 2022年4月博客 Introducing Lurk: A programming language for recursive zk-SNARKs [2] twitter Lurk支持Nova recursion