概述
tachyon是由GPU提供支持的模块化ZK后端。
加入我们的开发人员社区
我们很高兴能成为我们社区的一部分!
如果您对tachyon的热情与我们相匹配,我们会向您发出热烈的邀请,让您加入我们的开发人员社区的电报。通过我们的电报组提出问题,分享见解或简单地与其他开发人员和原始团队了解tachyon的最新更新。我们希望在那里见到你!
感谢您对tachyon贡献的敏锐兴趣!
设计目标
- 通用:多功能的ZK库使开发人员以最小的努力实施任何证明方案,通常会提高开发人员的生产率。要创建通用后端,请尽可能与代数结构对齐代码结构至关重要。
- 易于使用:实现广泛采用对于任何产品的成功都是必不可少的。因此, tachyon项目的重点之一是包括为各种编程语言和运行时提供包装。
- 快速燃烧: tachyon的最重要要求是速度,而不仅仅是任何速度,而且是速度!这需要tachyon在CPU和GPU平台上提供出色的性能。
- 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-devmacos
brew install gmp libomp入门
建造
bazel build //...测试
bazel test //...检查如何构建更多信息。
下载源码
通过命令行克隆项目:
git clone https://github.com/kroma-network/tachyon.git