首页
/ pequin 的项目扩展与二次开发

pequin 的项目扩展与二次开发

2025-06-03 22:12:10作者:卓艾滢Kingsley

项目的基础介绍

Pequin 是一个面向可验证计算的开源工具链,它支持使用 C 语言的一个较大子集来执行程序。Pequin 的目的是让一个证明者能够使验证者相信其按照程序执行了给定的计算,而无需验证者手动检查每一步的证明。这个工具链是 Pepper 项目的研究成果之一,由 NYU 和 UT Austin 的研究人员开发。

项目的核心功能

Pequin 的核心功能是将 C 语言程序转换成一组算术约束,如果这些约束是可满足的,那么输出的结果与原始程序产生的结果一致。证明者通过一个概率性证明协议(zk-SNARK,即零知识简洁非交互式证明)来说服验证者这些约束是可满足的。如果约束不可满足,验证者几乎不可能被欺骗。

项目使用了哪些框架或库?

Pequin 使用了 SCIPR Lab 的 libsnark 库,这是一个针对 zk-SNARK 的优化实现,基于 Pinocchio 项目,后者是对 GGPR 的改进和实现。此外,Pequin 还依赖于 Clang/LLVM 编译器基础设施,以及其他第三方库来实现其功能。

项目的代码目录及介绍

项目的代码目录包括以下几个主要部分:

  • compiler:包含编译器相关代码,包括 C 语言到 C 语言的编译器(Buffet)。
  • docker:包含用于构建 Docker 镜像的脚本,以便在容器中运行 Pequin。
  • pepper:包含 Pepper 项目的主要代码,Pequin 是基于此构建的。
  • thirdparty:包含第三方依赖的代码。
  • install_* 脚本:提供在不同 Linux 发行版上安装依赖的脚本。

对项目进行扩展或者二次开发的方向

  1. 集成其他后端:Pequin 目前的后端是 zk-SNARK,但可以尝试集成其他类型的证明系统,如 STARKs 或其他非交互式证明系统,以提供更多的选择和灵活性。

  2. 改善文档和可用性:虽然 Pequin 项目的文档已经相当完善,但总有改进的空间。可以增加更多的用户指南、教程和最佳实践。

  3. 优化性能:对现有代码进行性能分析和优化,提高计算效率,降低资源消耗。

  4. 增加语言支持:除了 C 语言之外,可以考虑支持其他编程语言,使 Pequin 的应用范围更广。

  5. 开发交互界面:开发一个图形用户界面(GUI),使得非技术用户也能够使用 Pequin 进行可验证计算。

  6. 构建应用案例:开发一些具体的用例,如智能合约验证、云计算任务验证等,以展示 Pequin 的实际应用价值。

登录后查看全文
热门项目推荐

项目优选

收起
docsdocs
暂无描述
Markdown
832
5.52 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
497
522
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
808
1.17 K
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
802
1.6 K
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
982
2.32 K
kernelkernel
deepin linux kernel
C
33
16
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.05 K
786
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
486
315
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.21 K
1.27 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
668
316