Skip to content
Daira Hopwood edited this page Feb 22, 2016 · 41 revisions

Roadmap

This is our roadmap of waypoints, to be refined over time.

Target Date: 2016-02-22 (2 weeks)

  • zcp2 aka Trafford spec ready for scientist review.
    • Features other than selective transparency were done but not formally presented for review.
  • Homu, docker build slaves, more betterer CI!
    • Basically done.
  • Help users with bugs, common install snags, feature requests (eg: RPC improvement)
  • Website Translations
    • Ready for translation.
  • Deliver toy miner implementing "Generalized Birthday Problem" PoW
    • Mostly finished.

PR: Blog about Trafford improvements (Faerie gold fix, chained-Pours, etc...)

  • Not done at all.

Target Date: 2016-03-21 (4 weeks)

  • zcp2 aka Trafford spec (including decisions about selective transparency) ready for scientist review.
  • Begin implementing zcp2 aka Trafford (Don't block on science review!)
  • Update flaws found by science review or unanticipated impl constraints into zcp2.1 aka NOT-YET-NAMED.
  • Website translation into Chinese. (Bonus: Spanish and Russian)
  • Finish C++ stand-alone miner implementing "Generalized Birthday Problem" PoW; either make a decision to use GBP or a decision to consider other candidates.

PR: Blog about Trafford improvements (Faerie gold fix, chained-Pours, etc...), science review of Trafford, and how our implementation is coming along.

Target Date: 2016-04-04 (3 weeks)

  • Incorporate new Proof-of-Work
  • Decide if we rebase to upstream v0.12 or keep v0.11.2 for 1.0 launch.
  • Select and incorporate any Bitcoin low-hanging-fruit features (eg: time-warp attack).
  • Consider (conservatively!) adopting any farther out consensus features:
    • per-block difficulty adjustment
    • fundamentally different block resource limits (eg: Gavin et al's linear cost function with dynamic adjustment proposal).

PR: Blog about PoW and mining system. Blog about Bitcoin rebase decisions and cherry picking features.

Target Date: 2016-04-25 (3 weeks)

Adjust anything that's an "easy knob" based on projections and measurements:

  • circuit arity.
  • commitment tree depth. (Note: commitment tree hash function should have changed above, but we may make a late exception to circuit modification here?)
  • block target time.
  • block size constraints w/ separate Pour size allocation.
  • improve serialization / compression of addresses, parameters, etc...
  • improve UX "perceived performance" (eg: load verifying/proving parameters separately)

PR: Blog about tuning, predictions, measurements.

Between short term and long term is a hazy cloud of uncertainty.

Target Date: ???

  • Review our Protocol doc for security.
  • Auditor awareness of Bitcoin consensus a major plus.

Target Date: ???

  • Feature complete except for security flaws discovered by audit.
  • Public testnet auditors may use. <-- PR: We need to make sure test users are aware of this.

Target Date: ???

Have features in place for infrastructure monitoring.

  • Notice when testnet or prodnet nodes act unusually.
  • Estimate network size / peer counts / block height, etc...

Target Date: ???

The Official Parameters are dropped on our door step by a magic stork.

Target Date: ???

Called a "beta" in the past.

  • It has all the features we intend for launch.
  • It has the official production parameters. <-- Is this technically possible?
  • It runs on stable testnet, not official block chain.
  • Gather feedback from users.
  • A good time to push forward any wallet implementations since the RPC interface should be stabilized.

Target Date: 2016-07-01

1.0 launch.

  • PR/community: Announce to current userbase / beta testers early.
  • PR: Ensure all mining enthusiasts have correct expectations.
  • PR: blitz.

Subsequent launches with blog-worthy features can help the ecosystem grow.

  1. Private Alpha release - introduces a functional (although perhaps awkward) low-level rpc interface, the zc-raw-* operations.
  2. Calgary Redesign - alters the protocol to integrate Zerocash operations in a more principled manner. Supports only the same zc-raw-* API.
  3. Calgary Implementation - see: https://github.com/Electric-Coin-Company/zcash/blob/zc.v0.10.0.latest/doc/zcash/calgary.md#stage-1-foundations
  4. Synchronization Point - Target Date: 2016-01-15: Website launch
  5. Target Date: 2016-01-15: Public Alpha - zc-raw-* RPC interface. Few features.
  6. Synchronization Point - Target Date: 2016-01-16? PR event - online article.
  7. Synchronization Point - Target Date: 2016-01-20? PR event - print article.
Clone this wiki locally