• Stars
    star
    261
  • Rank 156,630 (Top 4 %)
  • Language
    Rust
  • License
    GNU General Publi...
  • Created almost 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A privacy-preserving blockchain on Substrate

Zerochain

Build Status Gitter


Zerochain is a generic privacy-protecting layer on top of Substrate. It provides some useful substrate modules and toolkit for protecting user's privacy and sensitive data stored on chain. It is designed to get efficient zero-knowledge proving, reduce the on-chain storage cost and bring the flexibility for developing applications.

Have a look at Zerochain Book for usage and more information about using Zerochain.

Status

WARNING: Zerochain is alpha quality software, improvements and fixes are made frequently.

For now, only supported for the PoC of confidential payment inspired by Zether paper.

  • Balance for each account is encrypted
  • Transfer amount is encrypted

More features will be added... πŸ’ͺπŸ’ͺ

Initial Setup

curl https://sh.rustup.rs -sSf | sh

rustup update stable
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

You will also need to install the following packages:

  • Mac:
brew install cmake pkg-config openssl git llvm
  • Linux:
sudo apt install cmake pkg-config libssl-dev git clang libclang-dev

Building

git clone [email protected]:LayerXcom/zero-chain.git
cd zero-chain
./build.sh
cargo build --release

Usage and Tutorial

Documented in Zerochain Book.

Related Repositories

Documentations

References

Contributing

  • Feel free to submit your own issues and PRs
  • For further discussions and questions talk to us on Gitter

Maintainers

More Repositories

1

confidential-computing-modules

A Module for Privacy-preserving State Transitions with Verifiability
Rust
90
star
2

verified-vyper-contracts

FVyper: A collection of useful Vyper contracts developed with formal methods
Python
55
star
3

cordage

Cordage: the blockchain interoperability project!
Kotlin
52
star
4

plasma-mvp-vyper

Implementation of Minimal Viable Plasma in Vyper
JavaScript
51
star
5

next-navigation-guard

Cancel page navigation in Next.js, like Nuxt's Navigation Guard feature.
TypeScript
38
star
6

cbc-casper-proof

Proofs of properties of CBC Casper
TeX
35
star
7

freee-go

Go library for freee API
Go
32
star
8

bellman-substrate

A library for supporting zk-SNARKs to Substrate
Rust
29
star
9

hyperledger-fabric-security-dvp

Implementation of Security DvP
Shell
22
star
10

vyper-remix

Remix Vyper Plugin
JavaScript
17
star
11

lx-sonic

Sonic implementation in Rust
Rust
17
star
12

gram

A 64bit-TinyRAM simulator in Go
Go
13
star
13

polkadot.rs

JSON-RPC Client for Substrate API
Rust
12
star
14

ccm-contracts

Solidity
9
star
15

zerochain-book

A book about Zerochain
8
star
16

stark-sol

[WIP] a solidity implementation of verification in a STARK on a MIMC calculation
Solidity
7
star
17

zero-chain-ui

The UI for Zerochain
JavaScript
7
star
18

verified-plasma-contracts

Formal Verification for Plasma-mvp
Python
6
star
19

cbc-casper-simulator

CBC Casper simulator
Python
5
star
20

ethsnarks-examples

Example implementations of ethsnarks (https://github.com/HarryR/ethsnarks)
C++
3
star
21

cbc-beacon-chain

Python
3
star
22

libsgx-rs

Collection of SGX crates used in LayerX projects
Rust
2
star
23

qldb-evaluation

QLDB Evaluation Project
C#
1
star
24

lmd-ghost-simulation

Liveness analysis of LMD GHOST
Jupyter Notebook
1
star
25

safety-oracle

1
star
26

verified-plasma-mvp

NOTE: This project moved to https://github.com/LayerXcom/verified-plasma-contracts
GCC Machine Description
1
star