
Some free time side projects:
-
go-snark-study:
Go
zkSNARK implementation from scratch (compiler, setup, prover, verifier) -
go-bellman-verifier:
Go
Groth16 zkSNARK bellman proof verifier using cloudflare/bn256 Pairing -
babyjubjub-rs: BabyJubJub elliptic curve implementation in
Rust
-
poseidon-rs: Poseidon hash implementation in
Rust
-
go-blindsecp256k1: Blind signatures over secp256k1 in
Go
(With the compatible Typescript implementation) -
ring-signatures-rs: bLSAG ring signatures implementation in
Rust
-
kzg-commitments: Kate-Zaverucha-Goldberg (KZG10) Polynomial Commitments in
Go
-
go-dht: Kademlia DHT implementation in
Go
-
merkletree-rs: Sparse MerkleTree implementation in
Rust
-
go-merkletree: Sparse MerkleTree implementation in
Go
-
shamirsecretsharing: Shamir's Secret Sharing
Rust
&Go
implementation +WASM
lib - cryptofun: Crypto algorithms from scratch, in order to get familiar with them from inside. For example: ECC, Paillier, RSA, Homomorphic computation, ElGamal, Schnorr, ECDSA, BN128, ...
- kvartalo: a local social cryptocurrency for neigbourhoods, that we are using in a Barcelona neighbourhood as experiment. Build on top of Ethereum blockchain & Tendermint Core
-
go-chip8: CHIP-8 virtual machine emulator written in
Go
-
chip8-rs: CHIP-8 virtual machine emulator written in
Rust
-
fft-rs: Fast Fourier Transform (FFT) implementation in
Rust
- miksi: Ethereum zk-coin-mixer where all the computation & constructions are done offchain and then proved inside a zkSNARK to the smart-contract. (live demo on testnet)
---
Recent Work:
Hermez zkRollup
> Decentralized zkRollup on Ethereum.Main task has been to implement the Hermez node, used to launch the mainnet of the zkRollup network: hermeznetwork/hermez-node
My focus has been mainly in the TxSelector, TxProcessor (managing the rollup state tree) and BatchBuilder (generating the data structure compatible with the zkSNARK circuits to do the proof generation).
iden3
> Blockchain project based on zero knowledge proofs to provide a scalable decentralized identity system with privacy by design.Design and specify the core protocol, develop the core libraries, servers, smart contracts, zk circom circuits and zkSNARK Groth16 Go prover.
- iden3/go-iden3-crypto: cryptographic primitives (SNARK-friendly) used in iden3
- iden3/go-iden3-core: core implementation of the iden3 system
- iden3/go-circom-prover-verifier: implementation of the Groth16 zkSNARK Prover and Verifier compatible with Circom
- iden3/circuits: zkSNARK circuits used by the iden3 core protocol
blog - github - twitter
