Skip to content

Dev Milestones

Yuval Zalmenson edited this page Apr 1, 2019 · 32 revisions

MS-1.0

Requirements

  • P2P layer supporting DHT based on Kademlia, secured and authenticated sessions and proprietary Gossip protocol
  • Synchronise newcomers with the latest mesh
  • New tx API - receive tx from CLI wallet, broadcast it and store it in the tx pool
  • Offchain BA on layer structure - complete Hare protocol support (w/o signature validation)
  • Minimal mining w/o PoST commitment - publishing block based on fake oracle's eligibility with the real view, votes (i.e. hare result), and txs out of the tx pool
  • Minimal syntactic validation of new blocks - only validating eligibility based on fake oracle
  • Contextual validation of new blocks - optimized Tortoise, no self-healing
  • Maintaining accounts state (balance, nonce) up until the point of consensus

Expected date

Fab 14th, 2019

Supported players

  • Only honest miners
  • Only valid transactions
  • Honest and malicious hare players (limited by half of the hare committee)

MS board

https://github.com/spacemeshos/go-spacemesh/milestone/2#workspaces/go-spacemesh-59f1e073ac463071b57d474f/boards?milestones=MS-1.0%232019-02-03&filterLogic=any&repos=108372143

MS-2.0

Requirements

Node

  • PoST initialization, proof, and verification
  • PoET proof, verification, and service
  • NIPST orchestration
  • Block syntactic validity including miner's activation and eligibility validation
  • VRF for layer committee
  • VRF for Hare committee
  • Reward scheme (block reward and tx fees)
  • Integrating the signature schemes (Hare messages, tx/block validation)
  • Data deduplication on state
  • P2P discovery over secured UDP
  • Optimized Gossip

App

  • Sign In / Sign Up screens
  • Send / Receive screen
  • Full node configuration screen

Automation

  • Construct Automation Pipeline to run tests on new code pushed to develop branch -The pipeline will include 1) build 2) deploy 3) test
  • Create stable cloud architecture to accommodate tests (including k8s cluster, elasticsearch, kibana, grafana, etc.)
  • Prevent vendor locking by utilizing both AWS and GCP
  • Verify optimized performance of elasticsearch in scale - design indexes handling
  • Prepare test configuration management - enable control tests by explicit configuration
  • Design and implement an easy way to interact with Spacemesh nodes in k8s cluster through gRPC
  • Design and implement an easy way to write queries for elasticsearch through tests.
  • Make sure we are able to run Spacemesh network at scale.

Expected date

Apr 10th, 2019

MS board

https://github.com/spacemeshos/go-spacemesh/issues/602#workspaces/sm-workspace-59f1e073ac463071b57d474f/boards?milestones=MS-2.0%232019-04-10&filterLogic=any&repos=108372143,169250432&showPipelineDescriptions=false

MS-3.0

Requirements

Node

  • Multiple node (miner) IDs on a single go-spacemesh instance
  • Replace Protobuf with XDR
  • Dedup on the wire - support data references
  • Test sync, NIPST, PoET, reward scheme
  • Replace DHT with random sampling
  • Add weight and ticks support to the optimized tortoise
  • Finalize PoET
  • Mempool (TBD)

Automation

  • Local network simulation for integration testing

Expected date

TBD

Supported players

TBD

MS board

TBD

MS-4.0

Requirements

  • Full Tortoise impl. w/ self-healing

Expected date

TBD

Supported players

TBD

MS board

TBD

Getting Started

Dev Guides

Product Specs

Clone this wiki locally