Go to file
teor 120c7ef648
rfc: Parallel Verification (#763)
* rfc: Parallel Verification Draft

An initial draft RFC for parallel verification.

* rfc: Integrate the CheckpointVerifier design

Describe how the CheckpointVerifier interacts with chain state updates.

* rfc: Add a chain tips update service

* rfc: Add network upgrade context changes

* rfc: Add main chain tip section

* rfc: Clarify and expand genesis block rules

* rfc: More genesis special cases

* Add another chain tips edge case

* Remove the final tie-breaker for tip ties

Instead, change the design to make them impossible.

* rfc: add a definitions section to parallel verification

* rfc: Split parallel verification into two RFCs

This is the semantic verification RFC.

* rfc: Add guide and examples for parallel verification

* rfc: Fix GitHub markdown

* rfc: Fix parallel function design

We don't need separate functions, we can just do the awaits as late as
possible.

* rfc: Fix typo

* rfc: Stop assigning responsibilities to modules

* rfc: Add more parallel verification definitions

* rfc: Say "block height consensus rule"

* rfc: Tidy some of the TODOs

* rfc: Expand rationale and alternatives

* rfc: Delete "try to depend on older blocks"

* rfc: Delete coinbase checks which are unrelated to BlockHeight

And remove some duplicate references to BlockHeight checks.

* rfc: Focus on verification stages

And rewrite some stages for clarity.

* rfc: Remove reference to zebra-network
2020-08-14 11:04:17 -07:00
.github Fix rebase conflict artifacts 2020-08-14 02:04:12 -04:00
book rfc: Parallel Verification (#763) 2020-08-14 11:04:17 -07:00
design Update data-flow.md 2020-08-04 22:44:39 -07:00
tower-batch build(deps): bump tracing from 0.1.18 to 0.1.19 (#872) 2020-08-11 10:18:54 -07:00
tower-fallback build(deps): bump pin-project from 0.4.22 to 0.4.23 2020-07-28 17:27:25 -04:00
zebra-chain Use the jubjub::AffinePoint in the canonical, encoded little-endian byte form in 2020-08-14 02:04:12 -04:00
zebra-client Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-consensus fix: Rename ChainVerifier test variables 2020-08-13 11:28:44 +10:00
zebra-network Fix sync algorithm. (#887) 2020-08-12 16:48:01 -07:00
zebra-rpc Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-script Align crate versions and user-agent with NU numbers. 2020-07-24 11:46:37 -07:00
zebra-state Fix sync algorithm. (#887) 2020-08-12 16:48:01 -07:00
zebra-test Valid generated config acceptance test (#859) 2020-08-13 13:31:13 -07:00
zebra-utils build(deps): bump tracing-subscriber from 0.2.10 to 0.2.11 (#873) 2020-08-11 10:30:50 -07:00
zebrad Valid generated config acceptance test (#859) 2020-08-13 13:31:13 -07:00
.firebaserc Try building internal docs. 2020-02-10 18:12:43 -08:00
.gitignore Implement sync component for start subcommand (#506) 2020-06-22 19:24:53 -07:00
CONTRIBUTING.md Reorganize the book. (#843) 2020-08-06 15:39:54 -07:00
Cargo.lock Use the jubjub::AffinePoint in the canonical, encoded little-endian byte form in 2020-08-14 02:04:12 -04:00
Cargo.toml Refactor tracing components (#834) 2020-08-06 10:29:31 -07:00
Dockerfile Fix healthcheck (tracing) endpoint (#895) 2020-08-13 03:31:09 -04:00
LICENSE-APACHE
LICENSE-MIT
README.md Reorganize the book. (#843) 2020-08-06 15:39:54 -07:00
clippy.toml
cloudbuild.yaml Fix CD workflow using cloudbuild.yaml (#637) 2020-07-10 07:37:54 -04:00
codecov.yml Turn off the CodeCov PR comment, metrics available in the checks results which link to codecov.io 2020-07-24 18:18:46 -04:00
firebase.json
katex-header.html Add KaTeX to rendered docs. (#832) 2020-08-05 17:34:30 -07:00
prometheus.yaml Tell Prometheus to scrape more aggressively 2020-02-14 20:14:05 -05:00

README.md

Zebra logotype


codecov License

Hello! I am Zebra, an ongoing Rust implementation of a Zcash node.

Zebra is a work in progress. It is developed as a collection of zebra-* libraries implementing the different components of a Zcash node (networking, chain structures, consensus rules, etc), and a zebrad binary which uses them.

Most of our work so far has gone into zebra-network, building a new networking stack for Zcash, zebra-chain, building foundational data structures, zebra-consensus, implementing consensus rules, and zebra-state, providing chain state.

Zebra Website.

Rendered docs from the main branch.

Join us on Discord.

License

Zebra is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT.