tachyon

C/C++ 2025-08-05






概述

tachyon是由GPU提供支持的模块化ZK后端。

加入我们的开发人员社区

我们很高兴能成为我们社区的一部分!

如果您对tachyon的热情与我们相匹配,我们会向您发出热烈的邀请,让您加入我们的开发人员社区的电报。通过我们的电报组提出问题,分享见解或简单地与其他开发人员和原始团队了解tachyon的最新更新。我们希望在那里见到你!

感谢您对tachyon贡献的敏锐兴趣!

设计目标

  1. 通用:多功能的ZK库使开发人员以最小的努力实施任何证明方案,通常会提高开发人员的生产率。要创建通用后端,请尽可能与代数结构对齐代码结构至关重要。
  2. 易于使用:实现广泛采用对于任何产品的成功都是必不可少的。因此, tachyon项目的重点之一是包括为各种编程语言和运行时提供包装。
  3. 快速燃烧: tachyon的最重要要求是速度,而不仅仅是任何速度,而且是速度!这需要tachyon在CPU和GPU平台上提供出色的性能。
  4. GPU互操作性: tachyon的代码旨在与大多数情况下的CPU和GPU兼容。

功能列表

符号定义:

  • ✔️当前支持。
  • 部分实施或正在积极施工。
  • 目前不支持。

有限场

中央处理器GPU
宝贝✔️ ✔️
二元菲尔德✔️ ✔️
Goldilocks ✔️ ✔️
Mersenne-31 ✔️ ✔️
Koalabear ✔️ ✔️

椭圆曲线

中央处理器GPU
BN254 ✔️ ✔️
BLS12-381 ✔️ ✔️
SECP256K1 ✔️ ✔️
帕拉斯✔️ ✔️
维斯塔✔️ ✔️

承诺计划

中央处理器GPU
GWC ✔️ ✔️
Shplonk ✔️ ✔️
星期五✔️
佩德森✔️ ✔️

哈希

中央处理器GPU
波塞冬✔️
Poseidon2 ✔️

FFT

中央处理器GPU
radix2fft ✔️ ✔️
混合拉迪克斯夫✔️ ✔️

查找

中央处理器GPU
HALO2 ✔️

中央处理器GPU
Groth16 ✔️ ✔️
HALO2 ✔️

前端

中央处理器GPU
圆形(Groth16) ✔️ ✔️
HALO2 ✔️

路线图

  • 2024Q1-启用生产ZKEVM证明。
  • 2024Q2-用Kroma Mainnet中的tachyon代替Halo2。
  • 2024Q3A-在tachyon中实施并优化了Plonky3。
  • 2024Q3B-在Kroma Mainnet中,用SP1 ZKVM替换ZKEVM。

先决条件

巴泽尔

请在此处遵循说明。

Ubuntu

sudo apt install libgmp-dev libomp-dev

macos

brew install gmp libomp

入门

建造

bazel build //...

测试

bazel test //...

检查如何构建更多信息。

下载源码

通过命令行克隆项目:

git clone https://github.com/kroma-network/tachyon.git