Retour au classement

kroma-network/tachyon

C++

Modular ZK(Zero Knowledge) backend accelerated by GPU

cpp17cudazkblockchainc-plus-pluscryptographykromatachyonzero-knowledgecryptocurrency
Croissance des étoiles
Étoiles
7.7k
Forks
235
Croissance hebdomadaire
Issues
18
2k4k6k
sept. 2023août 2024août 2025juil. 2026
README






Overview

Tachyon is a Modular ZK Backend, powered by GPU.

Join Our Developer Community

We're thrilled to have you become a part of our community!

If your passion for Tachyon matches ours, we extend a warm invitation for you to join our developer community on Telegram. Ask questions, share insights, or simply stay informed on Tachyon's newest updates with other developers and the original team through our Telegram group. We hope to see you there!

Thank you for your keen interest in contributing to Tachyon! ✨

Design Goals

  1. General Purpose: A versatile ZK library empowers developers to implement any proving scheme with minimal effort, often enhancing developer productivity. To create a general-purpose backend, aligning the code structure as closely as possible with the algebraic structure is paramount.
  2. Easy to Use: Achieving widespread adoption is essential for the success of any product. Consequently, one of the key focal points of the Tachyon project is to include offering packages for various programming languages and runtimes.
  3. Blazing Fast: Tachyon's foremost requirement is speed, and not just any speed, but blazing speed! This entails Tachyon delivering exceptional performance on both CPU and GPU platforms.
  4. GPU Interoperability: Tachyon's code is designed to be compatible with both CPU and GPU in the majority of scenarios.

List of Features

Symbol Definitions:

  • :heavy_check_mark: Currently supported.
  • 🏗️ Partially implemented or is under active construction.
  • :x: Not currently supported.

Finite Fields

CPU GPU
BabyBear :heavy_check_mark: :heavy_check_mark:
BinaryFields :heavy_check_mark: :heavy_check_mark:
Goldilocks :heavy_check_mark: :heavy_check_mark:
Mersenne-31 :heavy_check_mark: :heavy_check_mark:
KoalaBear :heavy_check_mark: :heavy_check_mark:

Elliptic Curves

CPU GPU
BN254 :heavy_check_mark: :heavy_check_mark:
BLS12-381 :heavy_check_mark: :heavy_check_mark:
Secp256k1 :heavy_check_mark: :heavy_check_mark:
Pallas :heavy_check_mark: :heavy_check_mark:
Vesta :heavy_check_mark: :heavy_check_mark:

Commitment Schemes

CPU GPU
GWC :heavy_check_mark: :heavy_check_mark:
SHPlonk :heavy_check_mark: :heavy_check_mark:
FRI :heavy_check_mark: :x:
Pedersen :heavy_check_mark: :heavy_check_mark:

Hashes

CPU GPU
Poseidon :heavy_check_mark: :x:
Poseidon2 :heavy_check_mark: :x:

FFT

CPU GPU
Radix2FFT :heavy_check_mark: :heavy_check_mark:
MixedRadixFFT :heavy_check_mark: :heavy_check_mark:

Lookups

CPU GPU
Halo2 :heavy_check_mark: :x:

SNARKs

CPU GPU
Groth16 :heavy_check_mark: :heavy_check_mark:
Halo2 :heavy_check_mark: :x:

Frontends

CPU GPU
Circom(groth16) :heavy_check_mark: :heavy_check_mark:
Halo2 :heavy_check_mark: :x:

Roadmap

  • 2024Q1 - Enable producing the zkEVM proof.
  • 2024Q2 - Replace Halo2 with Tachyon in Kroma mainnet.
  • 2024Q3a - Implement and optimize Plonky3 in Tachyon.
  • 2024Q3b - Replace zkEVM with SP1 zkVM in Kroma mainnet.

Prerequisites

Bazel

Please follow the instructions here.

Ubuntu

sudo apt install libgmp-dev libomp-dev

Macos

brew install gmp libomp

Getting started

Build

bazel build //...

Test

bazel test //...

Check How To Build for more information.

Dépôts similaires
changkun/modern-cpp-tutorial

📚 Modern C++ Tutorial: C++11 to C++26 On the Fly | https://changkun.de/modern-cpp/

C++MIT Licensecpp11cpp14
changkun.de/modern-cpp/
25.7k3.1k
AnthonyCalandra/modern-cpp-features

A cheatsheet of modern C++ language and library features.

MIT Licensecppcpp11
21.8k2.3k
Qv2ray/Qv2ray

:star: Linux / Windows / macOS 跨平台 V2Ray 客户端 | 支持 VMess / VLESS / SSR / Trojan / Trojan-Go / NaiveProxy / HTTP / HTTPS / SOCKS5 | 使用 C++ / Qt 开发 | 可拓展插件式设计 :star:

C++GNU General Public License v3.0v2rayssr
qv2ray.net
16.9k3.2k
federico-busato/Modern-CPP-Programming

Modern C++ Programming Course (C++03/11/14/17/20/23/26)

HTMLCreative Commons Attribution Share Alike 4.0 Internationalcppcpp11
federico-busato.github.io/Modern-CPP-Programming/
15.9k1.1k
luanti-org/luanti

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation

C++Otherc-plus-plusvoxel
luanti.org
13.3k2.4k
rigtorp/awesome-modern-cpp

A collection of resources on modern C++

HTMLcppcpp11
awesomecpp.com
13.1k1.2k
skypjack/entt

Gaming meets modern C++ - a fast and reliable entity component system (ECS) and much more

C++MIT Licenseheader-onlymodern-cpp
github.com/skypjack/entt/wiki
12.9k1.1k
minetest/minetest

Luanti (formerly Minetest) is an open source voxel game-creation platform with easy modding and game creation

C++c-plus-plusvoxel
minetest.net
11k2.1k
SanderMertens/flecs

A fast entity component system (ECS) for C & C++

COtherecsc99
flecs.dev
8.5k608
Project-OSRM/osrm-backend

Open Source Routing Machine - C++ backend

C++BSD 2-Clause "Simplified" Licenseosrmcpp
discord.gg/CpWzBC9G7Z
7.9k4k
doctest/doctest

The fastest feature-rich C++11/14/17/20/23 single-header testing framework

C++MIT Licensec-plus-plusdoctest
bit.ly/doctest-docs
6.8k692
0voice/cpp_new_features

2021年最新整理, C++ 学习资料,含C++ 11 / 14 / 17 / 20 / 23 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等

C++cppcpp11
6.4k1.3k