Skip to content

Dev Milestones

Aviv Eyal edited this page Oct 1, 2019 · 32 revisions

MS-1.0

Requirements

  • P2P layer supporting DHT based on Kademlia, secured and authenticated sessions and proprietary Gossip protocol
  • Synchronize newcomers with the latest mesh
  • New tx API - receive tx from CLI wallet, broadcast it and store it in the tx pool
  • Off-chain 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

  • VRF for Hare committee
  • Epoch beacon
  • Multiple node (miner) IDs on a single go-spacemesh instance
  • Replace Protobuf with XDR
  • Dedup on the wire - support data references
  • Finalize Gossip
  • Test Gossip, sync, NIPST, PoET, reward scheme
  • Replace DHT with random sampling
  • Add weight and ticks support to the optimized tortoise
  • Finalize PoST (core affinity, concurrent execution, recovery)
  • Finalize PoET (P2P integration, ticks, technical debts, multiple services)
  • Finalize transactions (mempool, syntactic validation)
  • Integrating the signature schemes (Hare messages, tx/block validation)
  • Genesis flow
  • Software upgrade
  • Blacklisting and rate limiting

App

  • Integrating the signature schemes
  • Test tx/full node init flow against local node
  • Test app installation
  • Txs log screen
  • Settings screen
  • Network screen
  • Local node actions
  • Contacts screen

Automation

  • Local network simulation for integration testing
  • PoET automation in system testing
  • Automate collection and presentation of Time-Series data by Prometheus & Grafana
  • Construct and monitor longevity tests - phase 1
  • Initial infrastructure implementation for TestNet

Expected date

May 29th, 2019

MS board

https://github.com/spacemeshos/go-spacemesh/wiki/Dev-Milestones#ms-30

MS-4.0

Requirements

  • Full Tortoise impl. w/ self-healing

Expected date

TBD

Supported players

TBD

MS board

TBD