https://github.com/elibensasson/libSTARK
libSTARK库实现可伸缩且透明的知识论点(STARK)系统。这些系统可以与没有,执行,或者零知识(ZK),并且可以被设计为互动或非交互的协议。zk-STARK论文中详细描述了该库实现的理论构造。简而言之,(zk)-STARK系统的主要特性是:
普遍性:该系统可以应用于zkSTARK论文中定义的代数中间表示(AIR)或置换代数中间表示(PAIR)指定的任何计算。前者(AIR)与“内存有效”计算有关,后者(PAIR)与需要随机存取存储器(RAM)的计算有关。
透明性:验证者发送的所有消息,包括对证明预言的查询,都是公共随机硬币(即协议为“ Arthur-Merlin”)。
可伸缩性:作为证明其完整性的计算所需的循环数(T)的渐近函数,以下两个条件均成立:
证明者可伸缩性:证明者运行时间在T中近似线性缩放,即像T poly logT。
验证程序可伸缩性:验证程序运行时间在T中以对数形式缩放,即类似于poly logT。
“后量子安全性”:构成系统安全性的密码原语是存在一系列抗冲突哈希函数(用于交互式系统)或对随机函数的通用访问(用于“随机预言”模型)非交互式设置);特别是,尚不知道量子计算机在撰写本文时会破坏系统安全性。
https://github.com/elibensasson/libSTARK
libSTARK库实现可伸缩且透明的知识论点(STARK)系统。这些系统可以与没有,执行,或者零知识(ZK),并且可以被设计为互动或非交互的协议。zk-STARK论文中详细描述了该库实现的理论构造。简而言之,(zk)-STARK系统的主要特性是:
普遍性:该系统可以应用于zkSTARK论文中定义的代数中间表示(AIR)或置换代数中间表示(PAIR)指定的任何计算。前者(AIR)与“内存有效”计算有关,后者(PAIR)与需要随机存取存储器(RAM)的计算有关。
透明性:验证者发送的所有消息,包括对证明预言的查询,都是公共随机硬币(即协议为“ Arthur-Merlin”)。
可伸缩性:作为证明其完整性的计算所需的循环数(T)的渐近函数,以下两个条件均成立:
证明者可伸缩性:证明者运行时间在T中近似线性缩放,即像T poly logT。
验证程序可伸缩性:验证程序运行时间在T中以对数形式缩放,即类似于poly logT。
“后量子安全性”:构成系统安全性的密码原语是存在一系列抗冲突哈希函数(用于交互式系统)或对随机函数的通用访问(用于“随机预言”模型)非交互式设置);特别是,尚不知道量子计算机在撰写本文时会破坏系统安全性。