Releases: kroma-network/tachyon
Releases · kroma-network/tachyon
v0.3.1
Groth16 proof becomes very fast
Highlights
Optimizations
Poseidon
hash becomes 2x faster.- Zkey parsing becomes 10x faster.
What's Changed
- feat: enable eigen matrix inversion by @chokobole in #472
- perf: optimize poseidon sbox by @chokobole in #474
- feat: enable pedersen gpu by @chokobole in #473
- build: update bazel version v6.3.0 by @GideokKim in #477
- chore: add .dockerignore by @chokobole in #475
- feat: implement snark verifier poseidon by @chokobole in #476
- refac: prepare shuffle argument by @chokobole in #479
- feat(math): implement packed field extension by @chokobole in #478
- chore: use short version of GitHub url by @chokobole in #481
- docs: update README for better visibility by @TomTaehoonKim in #482
- fix: enable halo2 proof generation by @chokobole in #480
- build: remove halo2 option by @chokobole in #483
- test: optimize benchmark test by @chokobole in #484
- refac(zk): use
Evaluator
by @chokobole in #485 - docs: fix circuit testing doc by @ashjeong in #487
- build(math): include a different header if gcc version ≤ 10 by @chokobole in #489
- feat(zk): add shuffle argument by @chokobole in #488
- docs(benchmark): update benchmark images by @chokobole in #494
- perf(circom): optimize zkey wtns reading by @chokobole in #490
- docs(circom): add missing change from #490 by @chokobole in #495
Full Changelog: v0.3.0...v0.3.1
v0.3.0
ICICLE Integration to Tachyon
Highlights
Optimizations
MSM
andFFT
is optimized with icicle. See MSM Gpu benchmark and FFT Gpu benchmark.- Circom proof generation becomes 4x faster using icicle.
- Parsing
zkey
andwtns
files becomes 3x faster.
New Features
Poseidon2
BinaryField
FieldMerkleTreeMMCS
ChaCha20Rng
What's Changed
- feat: implement poseidon2 by @chokobole in #413
- build: support building with clang on ubuntu by @chokobole in #414
- refac: generalize example circuit tests by @ashjeong in #415
- test: implement fibonacci circuits by @TomTaehoonKim in #279
- feat(circom): enable circom proof generation without compilation by @chokobole in #419
- refac(math): refactor prime fields by @chokobole in #422
- perf: prepare to skip zkey parsing by @chokobole in #425
- docs: add zip to Ubuntu prerequisites by @Insun35 in #427
- refac: fix zero case for inverse and div by @ashjeong in #424
- feat(math): implement binary field initially by @chokobole in #416
- test: add
no_zk
andverify
flag for circom benchmarking by @TomTaehoonKim in #423 - refac(math): move binary fields by @chokobole in #429
- feat: add initial template two adic fri pcs by @chokobole in #428
- refac: improve #424 by @chokobole in #431
- feat(math): add simd int by @chokobole in #432
- feat(math): impl remove zeros for sparse univariate poly by @batzor in #430
- feat: support openmp on mac by @batzor in #434
- feat: implement LogUp scheme by @Insun35 in #420
- feat: implement hash wrappers by @chokobole in #433
- perf(zk): optimize log derivative halo2 lookup by @chokobole in #437
- feat(math): enable poseidon to hash packed prime fields by @chokobole in #435
- refac: apply c type traits to point types by @chokobole in #438
- feat!(math): improve prime field (de)serialization by @chokobole in #440
- feat: add
FieldMerkleTree
by @chokobole in #436 - docs: update readme by @chokobole in #439
- refac(c/zk): apply c type traits by @chokobole in #445
- feat(crypto): add
FieldMerkleTreeMMCS
by @chokobole in #442 - feat(math): implement field extension for stark fields by @chokobole in #443
- docs: update circom README.md by @chokobole in #449
- feat(circom): introduce
-n
flag for specifying number of proof generation by @whoisgautxm in #452 - refac(zk): modularize expressions by @batzor in #446
- feat: impl
Radix2DitParallel
by @ashjeong in #441 - feat: add extension field merkle tree mmcs by @chokobole in #444
- feat(zk): implement plonky3 challenges by @chokobole in #448
- perf!: use icicle msm by @chokobole in #426
- perf: optimize fft by @GideokKim in #456
- feat: add rust binding for
DuplexChallenger
by @chokobole in #451 - feat(c/zk): generalize halo2 prover and verifier c API by @chokobole in #458
- feat: impl two adic multiplicative coset by @ashjeong in #457
- docs(halo2): update Halo2 migration guide by @chokobole in #461
- build: prepare circom proof generation with cuda by @chokobole in #462
- feat(zk): implement air constraint system by @batzor in #453
- perf: use msm gpu when generating groth16 proof by @chokobole in #463
- feat: support scroll halo2 1.1 by @chokobole in #464
- fix(halo2)!: remove constraint system serialization from
vk.write()
by @chokobole in #467 - perf(halo2): apply batch commitment in
create_proof()
by @chokobole in #465 - perf: apply icicle ntt by @chokobole in #466
- feat: support
ChaCha20RNG
by @chokobole in #468 - perf: optimize circom proof generation by @chokobole in #469
- perf(circom): optimize zkey parsing by @chokobole in #471
- bulid: release tachyon v0.3.0 by @chokobole in #470
New Contributors
- @batzor made their first contribution in #430
- @whoisgautxm made their first contribution in #452
- @GideokKim made their first contribution in #456
Full Changelog: v0.2.0...v0.3.0
v0.2.0
Tachyon in Kroma Mainnet
See medium for more details.
Highlights
- Becomes 1.5x Faster than Halo2 by 1) reducing the data copy and 2) optimizing FFT. see benchmark.
What's Changed
- docs: run markdown linter by @chokobole in #367
- perf(math): avoid copying in prime field operations by @chokobole in #368
- fix: fix broken build with cuda by @chokobole in #363
- build: fix bazel build configurations for halo2 to be on linux by @TomTaehoonKim in #369
- perf(math): avoid copying twice on bigint operations by @chokobole in #366
- test: enable benchmarking with rapidsnark by @chokobole in #357
- perf(crypto): avoid copying twice when returning a polynomial by @chokobole in #371
- perf: avoid in place operator where ineffective by @chokobole in #372
- test(zk): enable
SelectorReplacerTest.Selector
test on optimization mode by @chokobole in #374 - refac: organize Dockerfiles into docker directory by @TomTaehoonKim in #373
- ci: add opt option to ci test by @Insun35 in #375
- fix: change compile option
maxvx512f
tomavx2
for goldilocks by @chokobole in #376 - ci: use setup-python v5 by @Insun35 in #381
- fix: fix gcc-13 compile errors by @ashjeong in #377
- docs: add telegram contact to README.md by @chokobole in #378
- build(math): generate m31 field as non fft friendly field by @chokobole in #385
- docs: update how to build by @chokobole in #380
- refac(zk): refactor circuit polynomial builder by @chokobole in #384
- test: run (I)FFT benchmark under uniform conditions by @chokobole in #382
- perf: avoid copying on semigroup operations by @chokobole in #379
- refac: allow string conversions to accept malformed input by @chokobole in #388
- feat(math): add range check to string conversion methods by @chokobole in #389
- perf: avoid copying on group operations by @chokobole in #383
- perf(math): streamline operations by @ashjeong in #390
- fix(math): add missing changes from #388 by @chokobole in #392
- refac: rename group internal operations by @chokobole in #391
- chore(zk): clean up zk by @Insun35 in #393
- docs: update tachyon vs halo2 benchmarking results by @ashjeong in #395
- build(math): update build settings for goldilocks by @chokobole in #397
- feat(math): add circle point initially by @chokobole in #387
- docs(zk): add item to the list of the Halo2 optimizations by @chokobole in #398
- refac(math): rename filenames by @chokobole in #399
- chore: fix typos by @simlecode in #403
- feat: add packed mersenne31 by @chokobole in #396
- perf(math): add fast reduction for a special case by @chokobole in #404
- build: add build option to disable assembly optimized field by @chokobole in #406
- perf(math): parallelize
SwapElements()
by @chokobole in #408 - docs: update tachyon vs halo2 benchmarking results by @dongchangYoo in #410
- feat(circom): enable loading witness from json by @chokobole in #407
- build: add intel openmp support by @chokobole in #409
- refac!: abstract lookup scheme by @Insun35 in #400
- feat(math): add baby and koala bear fields by @chokobole in #405
- feat(math): prepare poseidon2 by @chokobole in #411
- build: update tachyon version for releasing v0.2.0 by @dongchangYoo in #417
New Contributors
- @simlecode made their first contribution in #403
Full Changelog: v0.1.0...v0.2.0
Release v0.1.0
Tachyon: A Much Faster and Lighter Halo2
See below for more details: