ZoKrates

A toolbox for zkSNARKs on Ethereum

LGPL-3.0 License

Stars
1.7K
Committers
57

Bot releases are hidden (Show)

ZoKrates - 0.7.9

Published by Schaeff almost 3 years ago

The main additions in this ZoKrates release are

  • support MPC trusted setups for Groth16
  • performance optimisations of the compiler in terms of time and memory

Check out the changelog for the full list of changes.

ZoKrates - 0.7.0

Published by Schaeff over 3 years ago

This is a breaking release of the ZoKrates toolbox.

The main feature introduced in this release is constant generics (which were also recently added to the Rust language). Here's an example of usage, summing the values of any array of field elements:

def sum<N>(field[N] a) -> field:
   field res = 0
   for u32 i in 0..N do
      res = res + a[i]
   endfor
   return res

ZoKrates now makes wider use of the u32 type in generics, for loop indices, shift amounts, and more.

Check out the changelog for a more complete list of the changes introduced. This file will now be updated with each new release.

The ZoKrates team thanks everyone involved in this release!

ZoKrates - 0.6.4

Published by Schaeff over 3 years ago

  • re-include embeds for a slightly cheaper sha256
  • remove array ssa
  • add flag to allow unconstrained variables
  • better flattening of conjunctions
  • put backends behind features
  • accept any assignee in multidef
  • minor performance and stability improvements
ZoKrates - 0.6.3

Published by Schaeff almost 4 years ago

ZoKrates - 0.6.2

Published by Schaeff almost 4 years ago

The main feature added in this release is support for the BLS12_377 and BW6_761 which pave the way for single recursive composition of proofs.

We'd like to thank the @EYblockchain team for their valuable work both optimising the already excellent ZEXE scheme with a better curve, as well as making a first integration with the ZoKrates toolbox, which made this addition possible.

ZoKrates - 0.6.1

Published by Schaeff about 4 years ago

  • Removal of the release flag introduced in 0.6.0, as the optimisations it toggled were made cheaper now
  • Fix solidity verifier in the absence of public inputs

Thanks to @migeyel and @gregdhill for flagging these issues!

ZoKrates - 0.6.0

Published by Schaeff about 4 years ago

We're pleased to announce a new release of the Zokrates toolbox!

Breaking features:

  • Cleaner semantics around variable declaration, see here

New features:

  • Unsigned integer types (u8, u16, u32) for easier processing of binary messages and implementation of bitwise-heavy algorithms
  • Native SHA256 implementation (the sapling-crypto dependency was removed) at ~28k constraints
  • Update of zokrates.js, now compatible with the browser and node.js
  • Shorter syntax for function signatures with zero or one return value(s)
  • Native verifier to check proofs in the CLI
  • Update of the stdlib with conversion utils, new hash functions, etc.
  • Libsnark multicore support
  • Removal of the hacky raw verification key !
  • Introduction of a --release flag to turn on expensive optimisations
  • Book revamp

Thanks to everyone who contributed to this release! 🚀
@ErikP0 @petscheit @fulldecent @dark64

ZoKrates - 0.5.3

Published by Schaeff over 4 years ago

Patch release to fix a vulnerability on the < operator.

Thanks to @james-ray and @Maping0412 for flagging the issue!

Updating is recommended for all users.

ZoKrates - 0.5.2

Published by Schaeff over 4 years ago

The main features of this release are:

  • WASM compatibility: zokrates_core now compiles to WASM.
  • Full boolean support: Missing features for booleans in previous releases are now implemented.
  • zokrates.js: Javascript bindings for ZoKrates are available.

Also, various bugs were fixed, so upgrading to this version is recommended.

Thanks to @dark64, @fulldecent, @edisinovcic, @iRyanBell, @leonardoalt, @jolestar, and @Genysys for their contribution 🥇

ZoKrates - 0.5.1

Published by Schaeff almost 5 years ago

ZoKrates - 0.5.0 - Structs, Arrays of Anything, and ABI

Published by Schaeff about 5 years ago

  • New File endings for ZoKrates code .zok #476
  • Multidimensional Arrays of anything #434
  • Implement Structs and named imports from modules #448
  • Added JSON-ABI to allow providing ZoKrates program inputs as JSON #480
  • Cross module circuit optimizations #357
  • Refactored Testing #474
  • Tests for Operator Precedence #487
  • Compiler Performance Improvements #467

Thanks @petscheit for the contributions!

ZoKrates - https://github.com/Zokrates/ZoKrates/releases/tag/0.4.11

Published by Schaeff about 5 years ago

ZoKrates - 0.4.10

Published by Schaeff about 5 years ago

ZoKrates - 0.4.9

Published by Schaeff over 5 years ago

  • Additions to the stdlib
  • Update of the Solidity library, thanks @musalbas
  • --light flag for all commands, thanks @danhper
  • Other small fixes
ZoKrates - 0.4.8

Published by Schaeff over 5 years ago

ZoKrates - 0.4.7

Published by Schaeff over 5 years ago

  • Introduce pest parser #306
  • Windows build #379
  • Print proof #366
  • Performance improvement thanks to faster flat -> ir translation #376
  • Enforce boolean-ness in function parameters #371
  • Remove strings #363 #368 #131

Special thanks to @petscheit for his contribution to this release!

ZoKrates - 0.4.6

Published by Schaeff over 5 years ago

This is a bug fix release for two bugs:

  • Solidity verification of G16 #337
  • Backend interaction #336

Also, thanks to @petscheit for his help and first contribution!

ZoKrates - 0.4.5

Published by Schaeff over 5 years ago

Minor improvements:

  • Upgrade to edition 2018 #325
  • Change of internal representation of linear combinations #322
  • Buffered io for faster reads and writes ⚡️ #326
ZoKrates -

Published by Schaeff over 5 years ago

This is a major evolution of ZoKrates:

  • Introduction of elliptic curve cryptography in the stdlib
  • Support for Bellman for Groth16. libsnark feature removed from default, can be enabled with $WITH_LIBSNARK = 1. Docker is not needed on MacOS anymore!
  • One line installer: curl -LSfs get.zokrat.es | sh
  • New optimiser = fewer constraints

Thanks to @gballet and @fulldecent for their contributions!

ZoKrates - 0.4.2

Published by Schaeff over 5 years ago

Package Rankings
Top 5.54% on Proxy.golang.org
Badges
Extracted from project README
Join the chat at https://gitter.im/ZoKrates/Lobby CircleCI develop