swasilyev / baby_jubjub_ecc

altbn128 twisted ewards curve point addion, point multiplicaion, eddsa signature verificaion and pedersen commiments

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

baby_jubjub_ecc

This repository contains zksnark constarint systems for twisted edwards curve point addition, point multiplication, eddsa signature verification and pedersen commitments. As well as python scripts for test case generation.

This is a naive implmentaion and considerable optimizations are possible.

build instructions:

build libsnark gadget and getting the proving key

get dependencies git submodule update --init --recursive mkdir build cd build cmake .. && make

Running the tests

Start your preferred ethereum node, cd tests and run python3 test* will generate all the test variables that you can confirm in src/main.cpp

You can run the test after building by

cd build
./src/main

Resources

Lecture 16 and [Lecture 17] (https://www.youtube.com/watch?v=zTt4gvuQ6sY) of this course should help you get a good understanding of the basics of what we are doing here. . . . . .

  1. run generator.cpp main() from root -- generates pk, vk and pvk in libsnark format and vk.json in keys/ folder
  2. python3 tests/test_eddsa.py from root generates keys/signature files with a signature
  3. run prover.cpp main() creates and verifies the proof using keys/signature for public and private inputs
  4. ...

About

altbn128 twisted ewards curve point addion, point multiplicaion, eddsa signature verificaion and pedersen commiments

License:GNU General Public License v3.0


Languages

Language:C++ 71.8%Language:Python 19.5%Language:JavaScript 6.4%Language:CMake 2.3%