GithubHelp home page GithubHelp logo

0xlucqs / zerosync Goto Github PK

View Code? Open in Web Editor NEW

This project forked from zerosync/zerosync

1.0 0.0 0.0 2.21 MB

A STARK proof to sync a Bitcoin full node in an instant.

Home Page: https://ZeroSync.org

License: MIT License

Python 3.97% Rust 6.29% Makefile 0.14% Cairo 89.60%

zerosync's Introduction


GitHub Workflow Status Project license Pull Requests welcome GitHub Repo stars Twitter Follow

Don't trust. Verify. ZeroSync allows to verify Bitcoin's chain state in an instant. No need to download hundreds of gigabytes of blocks. A compact cryptographic proof suffices to validate the entire history of transactions and everyone's current balances.

Our first application is to zerosync Bitcoin Core in pruned mode. The long-term vision for ZeroSync is to become a tool box for custom Bitcoin proofs. STARK proofs enable you to transform the blockchain data, enhance it, filter it, index it for efficient queries, and optimise it for your individual use case.

This is an early stage project. Expect frequent breaking changes. Here is the project roadmap.

WARNING: THIS CODE IS STILL FULL OF CRITICAL SECURITY BUGS!

Requirements

  • Python 3.9
  • Cairo. Installation Guide (Programming language for provable programs)
  • Protostar (Automated testing)
  • Giza (Required for prover. Not necessary for development and testing)

Run the Utreexo Bridge Node

The Utreexo bridge node is required to pass the tests for block verification. It provides the inclusion proofs for the coins spent in a block.

source ~/cairo_venv/bin/activate
python src/utreexo/bridge_node.py

Run all Unit Tests

protostar test --cairo-path=./src target src

Build Parser

cd src/stark_verifier/parser/
cargo +nightly build

cd ../../..

Run all Integration Tests

protostar test --cairo-path=./src tests

Run some tests with the Rust verifier to derive a detailed ground truth:

cargo +nightly test -- --show-output

Run the Chain Prover

source ~/cairo_venv/bin/activate
python3 src/chain_proof/main.py

List TODOs

 ./docs/todos

Roadmap

The roadmap is available here.

zerosync's People

Contributors

robinlinus avatar lucidluckylee avatar stillsaiko avatar maxgillett avatar juanbono avatar nonameavailableanymore avatar abdelstark avatar jrigada avatar santiagopittella avatar 0xlucqs avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.