All Projects → HarryR → ethsnarks

HarryR / ethsnarks

Licence: LGPL-3.0 license
A toolkit for viable zk-SNARKS on Ethereum, Web, Mobile and Desktop

Projects that are alternatives of or similar to ethsnarks

ultimate-defi-research-base
Here we collect and discuss the best DeFI & Blockchain researches and tools. Feel free to DM me on Twitter or open pool request.
Stars: ✭ 1,074 (+379.46%)
Mutual labels:  research
awesome-offline-rl
An index of algorithms for offline reinforcement learning (offline-rl)
Stars: ✭ 578 (+158.04%)
Mutual labels:  research
stripnet
STriP Net: Semantic Similarity of Scientific Papers (S3P) Network
Stars: ✭ 82 (-63.39%)
Mutual labels:  research
degitx
Distributed git repository manager
Stars: ✭ 28 (-87.5%)
Mutual labels:  research
NLP-Suite
CLICK ON WIKI LINK BELOW OR ON Wiki TAB AT TOP BANNER FOR DOWNLOAD INSTRUCTIONS AND INFORMATION ON THE NLP SUITE.
Stars: ✭ 36 (-83.93%)
Mutual labels:  research
RTX-Mesh-Shaders
Different mesh shading techniques using the NVIDIA RTX (Turing) technology.
Stars: ✭ 84 (-62.5%)
Mutual labels:  research
awesome-mobile-robotics
Useful links of different content related to AI, Computer Vision, and Robotics.
Stars: ✭ 243 (+8.48%)
Mutual labels:  research
r1cs
A Rust library for building R1CS gadgets
Stars: ✭ 75 (-66.52%)
Mutual labels:  zk-snarks
derain-net
A (WIP) TensorFlow reproduction of Fu, Huang, Ding, Liao, and Paisley's method for single-image rain removal (https://arxiv.org/abs/1609.02087)
Stars: ✭ 15 (-93.3%)
Mutual labels:  research
gospal
Go static program analyser
Stars: ✭ 56 (-75%)
Mutual labels:  research
theta
Generic, modular and configurable formal verification framework supporting various formalisms and algorithms
Stars: ✭ 34 (-84.82%)
Mutual labels:  research
public research
Publicly available research done by BOHR.TECHNOLOGY.
Stars: ✭ 16 (-92.86%)
Mutual labels:  research
api-evangelist
The API Evangelist website
Stars: ✭ 73 (-67.41%)
Mutual labels:  research
patzilla
PatZilla is a modular patent information research platform and data integration toolkit with a modern user interface and access to multiple data sources.
Stars: ✭ 71 (-68.3%)
Mutual labels:  research
snp-sites
Finds SNP sites from a multi-FASTA alignment file
Stars: ✭ 182 (-18.75%)
Mutual labels:  research
deepcourse
Learn the Deep Learning for Computer Vision in three steps: theory from base to SotA, code in PyTorch, and space-repetition with Anki
Stars: ✭ 117 (-47.77%)
Mutual labels:  research
zksnarks
ZK-Snarks in English
Stars: ✭ 15 (-93.3%)
Mutual labels:  zk-snarks
powersoftau
Communal zk-SNARK MPC for Public Parameters
Stars: ✭ 16 (-92.86%)
Mutual labels:  zk-snarks
baseline
The Baseline Protocol is an open source initiative that combines advances in cryptography, messaging, and distributed ledger technology to enable confidential and complex coordination between enterprises while keeping data in systems of record. This repo serves as the main repo for the Baseline Protocol, containing core packages, examples, and r…
Stars: ✭ 565 (+152.23%)
Mutual labels:  zk-snarks
senpai
Molecular dynamics simulation software
Stars: ✭ 124 (-44.64%)
Mutual labels:  research

EthSnarks

Join the chat at https://gitter.im/ethsnarks

Zero-Knowledge proofs are coming to Ethereum and Dapps in 2019!

EthSnarks is a collection of zkSNARK circuits and supporting libraries to use them with Ethereum smart contracts, it aims to help solve one of the biggest problems facing zkSNARKS on Ethereum - cross-platform on desktop, mobile and in-browser, cheap enough to run on-chain, and with algorithms that significantly reduces the time it takes to run the prover.

The notable advantages of using EthSnarks are:

  • Reduced cost, 500k gas with 1 input, using Groth16.
  • Prove zkSNARKs in-browser, with WebAssembly and Emscripten
  • Linux, Mac and Windows builds
  • Solidity, Python and C++ support in one place
  • A growing library of gadgets and algorithms

EthSnarks is participating in the Ethereum Foundation's grants program, development will continue full-time and we will be working with companies and developers to help overcome the common challenges and hurdles that we all face. Get in-touch for more information.

WARNING: EthSnarks is beta quality software, improvements and fixes are made frequently, and documentation doesn't yet exist

Examples

Building

Build Status Build status

Unix Flavours (Linux, OSX, Ubuntu, CentOS etc.)

The following dependencies are required to build Ethsnarks:

  • cmake
  • g++ or clang++
  • gmp
  • npm / nvm

Check-out the source-code using:

git clone [email protected]:HarryR/ethsnarks.git && cd ethsnarks

After checking-out the repository you need to install the necessary dependencies, the Makefile includes pre-determined rules for different platforms, you need to run this as root or an administrator user (i.e. for Brew on OSX):

  • make fedora-dependencies (CentOS, Fedora, RHEL etc. requires dnf)
  • make ubuntu-dependencies (Ubuntu, Debian etc. requires apt-get)
  • make mac-dependencies (OSX, requires Homebrew)

Then install the Python dependencies, via Pip, into the local user directory:

  • make python-dependencies

Then build and test the project:

  • git submodule update --init --recursive
  • make

Windows (64-bit)

Install MSYS2 from https://www.msys2.org/ then open the MSYS2 Shell and run:

pacman --noconfirm -S make gmp gmp-devel gcc git cmake
git clone [email protected]:HarryR/ethsnarks.git
cd ethsnarks
git submodule update --init --recursive
cmake -E make_directory build
cmake -E chdir build cmake -DCMAKE_BUILD_TYPE=Debug ..
cmake --build build

Building under 32-bit MinGW32, MSYS (not MSYS2) and Microsoft Visual Studio may be supported in future depending upon demand, but currently it's probably broken...

WASM / Browser

WebAssembly, WASM and JavaScript builds are partially supported via ethsnarks-emscripten and ethsnarks-cheerp. The build process is similar, but using the Emscripten and Cheerp toolchains.

Requests and Contributions

This project aims to help create an ecosystem where a small number of well tested but simple zkSNARK circuits can be easily integrated into your project without having to do all of the work up-front.

If you have any ideas for new components, please Open an issue, or submit a pull request.

Gadgets

We are surely increasing the range of gadgets, supporting libraries, available documentation and examples; at the moment the best way to find out how to use something is to dig into the code or ask questions via a new issue

The following gadgets are available

Maintainers

@HarryR

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].