Skip to content
This repository has been archived by the owner on Dec 4, 2023. It is now read-only.

project plan

Roman Tsisyk edited this page Aug 12, 2019 · 167 revisions

Stegos Project Plan

📝 Sprint 🗓️ DATES 🏷️ RELEASE
Sprint #7 2019-01-01 - 2019-01-11 v0.0 - MVP
Sprint #8 2019-01-14 - 2019-01-25 -
Sprint #9 2019-01-28 - 2019-02-08 -
Sprint #10 2019-02-11 - 2019-02-22 v0.1 - Testnet 1
Sprint #11 2019-02-25 - 2019-03-08 v0.2 - Testnet 2
Sprint #12 2019-03-11 - 2019-03-22 v0.3 - Testnet 3
Sprint #13 2019-03-25 - 2019-04-05 v0.4 - Testnet 4
Sprint #14 2019-04-08 - 2019-04-19 v0.5 - Testnet 5
Sprint #15 2019-04-22 - 2019-05-03 v0.6 - Testnet 6
Sprint #16 2019-05-06 - 2019-05-17 v0.7 - Testnet 7
Sprint #17 2019-05-20 - 2019-06-03 v0.8 - Mainnet Preview 1
Sprint #18 2019-06-03 - 2019-06-17 v0.9 - Mainnet Preview 2
Sprint #19 2019-06-17 - 2019-07-01 v0.10 - Mainnet Preview 3
Sprint #20 2019-07-01 - 2019-07-15 -
Sprint #21 2019-07-15 - 2019-08-05 v0.11 - Mainnet Preview 4
Sprint #22 2019-08-05 - 2019-08-19 Mainnet v1.0

Sprint #7 - MVP

Back to the top

🗓️ 2019-01-01 - 2019-01-11

🔗 Issues

In-memory PoS blockchain prototype, no transaction pooling, persistence and new node bootstrap

  • ✅ Creating and sending simple confidential transactions using node’s REPL
  • ✅ Validators group formation
  • ✅ Validators group leader elections
  • ✅ Verification of transaction and blocks
  • ✅ Sealing transactions into a block using pBFT and Collective Signing
  • ✅ Processing of incoming sealed blocks
  • ✅ (in-memory) Blockchain pruning
TASK GITHUB COMMENTS RESP
✅ Research Staking/Unstaking/Slashing/Jackpot #277 Design how staking/unstaking, slashing and Jackpot work VL
✅ Consensus (CoSi over pBFT) #47 RT/DM
✅ Validator Group Formation Link Implement algorithm from https://twist.com/a/39362/ch/93753/t/633159/ VM
✅ Amazon Infrastructure EC
✅ Readable logs Link Improve log output to for the end user and demo RT
✅ Screencast Demo for Marketing Video that can be posted to Stegos Discord RT
🔴 Actualize Yellow Paper - fees, staking/unstaking, uncloaked UTXO DM/VL

Sprint 8

Back to the top

🔗 Issues

🗓️ 2019-01-14 - 2019-01-25

TASK ISSUES RESP
✅ ValueShuffle: Diffie-Hellman #329 DM
🔴 ValueShuffle: DiceMix #66 DM
✅ Consensus & VGF Bug Fixing Issues 1 Issues 2 VM
✅ Staking and Unstaking #53 RT
✅ Implement block reward #330 RT
🔴 Blockchain Persistence #8 EC, RT
✅ Update to the latest version of libp2p #322 EC
✅ Implement Simulated Unicast Messaging #161 EC
🔴 Bootstrap a new node #61 RT
✅ ValueShuffle: Transaction Pool Facilitator Election #62 VM
✅ ValueShuffle: Transaction Pool Formation #63 VM
✅ Blockchain monetary balance validation #275 RT, VL
🔴 Research fork resolution VL
🔴 Research if we should use Boneh’s batcheable accumulators DM, VL

Sprint 9

Back to the top

🗓️ 2019-01-28 - 2019-02-08

🔗 Issues

TASK ISSUES RESP
✅ Fork resolution (research) VL
Slashing (research) VL
✅ ValueShuffle: DiceMix #66 DM
🔴 ValueShuffle: Super-trasaction formation and broadcast #328 DM
✅ Remove Data UTXO #392 RT
🔴 Skeleton for Functional Tests Link ??
🔴 TX processing Functional Tests #394 RT
🔴 Block processing Functional Tests #391 RT
🔴 Group Formation Functional Tests ?? VM
✅ Minimal Working Persistency #8 VM
✅ Bootstrap #61 VM
✅ Peer Store #380 EC
✅ Node Discovery #381 EC
✅ Real Unicast Messaging #161 EC
🔴 Tracking Peer State #382 EC

Sprint 10 - v0.1 - Testnet 1

Back to the top

🗓️ 2019-02-11 - 2019-02-22

🏷️ v0.1 - Testnet 1

🔗 Issues

TASK ISSUES RESP
✅ Finalize bootstrap implementation ?? VM
🔴 Finalize unicast implementation #427 EC
✅ Tests && Bugfixes for TX processing #394 RT
🔴 Tests && Bugfixes for Block processing #391 RT
✅ Tests && Bugfixes for VRF #444 VM
🔴 Tests && Bugfixes for Consensus #273 VM
🔴 Tests && Bugfixes for Bootstrap && Persistency #447 VM
✅ Add Cargo Audit #227 VM
🔴 Add Clippy #355 VM
✅ REPL and Wallet Enhancements Link RT
🔴 Multiple transactions in a row #304 RT
🔴 Limit the maximum size of block #45 RT
🔴 Export applications metrics #16 ???
✅ Metrics collection and processing (Logstash, Prometheus, Grafana) EC
✅ Logs collection and processing (ElasticSearch, Filebeat, Kibana, etc.) EC
✅ Deploy TestNet on Amazon EC
✅ Hardcode bootstrap nodes in the binary #449 RT/EC
✅ Update README.md #338 RT/EC
✅ Fix docker image #432 EC
✅ Publish static binaries (Linux and macOS) EC
---------- -------- --------
🔴 ValueShuffle - PoC #205 DM

Sprint 11 - v0.2 - Testnet 2

Back to the top

🗓️ 2019-02-25 - 2019-03-08

🏷️ v0.2 - Testnet 2

🔗 Issues

TASK ISSUES RESP
✅ Fix chain loader link VM, RT
✅ Fix VGF && leader election link VM
✅ Add monitoring metrics link EC, RT
✅/🔴 Improve debug logging link RT
✅ Value Shuffle PoC #205 DM/RT
✅ Link binaries statically #508 RT
✅ Add debug commands to REPL link RT
✅ Remove blocks from the memory #545 VM
🔴 Fix memory leaks #534 VM
🔴 Prepare a new demo video RT
✅ Research slashing VL

Sprint 12 - v0.3 - TestNet 3

Back to the top

🗓️ 2019-03-11 - 2019-03-22

🏷️ v0.3 - Testnet 3

🔗 Issues

TASK ISSUES RESP
✅ Investigate out-of-sync nodes on devnet VM
✅ ValueShuffle Stabilization issues DM
✅ New Randomness Algorithm issues VM
✅ New Group Formation Algorithm issues VM
✅ New Leader Election Algorithm issues VM
🔴 View Changes VM
✅ Update to libp2p 0.4^W0.5 issues EC
✅ Fix memory leaks issues EC
ResearchImplement Uncloaked UTXO DM
🔴 Unicast messages encryption EC
🔴 DHT-based routing EC
🔴 Real Unicast issues EC
🔴 Test cases for block validation issues RT
✅ Research Token Distribution ??
🔴 Research Stress Testing ??
✅ Autocommit for pBFT Consensus issue RT
✅ Basic Test Cases for pBFT Consensus issue RT
✅ Stegos Pubsub Based on Floodsub EC
✅ Connection Handshake EC
✅ Rollback of Monetary Blocks issue RT
✅ Research Jackpot VL
✅ Research RE VL
✅ Research ValueShuffle Bots VL

Sprint 13 - v0.4 - TestNet 4

Back to the top

🗓️ 2019-03-25 - 2019-04-05

🏷️ v0.4 - Testnet 4

🔗 Issues

TASK ISSUES RESP
✅ Investigate packet loss in libp2p issue EC
✅ View Changes for Micro Blocks issue VM
✅/🔴 View Changes for Key Blocks issue VM
✅/🔴 Determine Epoch Length && Block Time issue RT/EC
✅ HashCash Algorithm issue DM
✅ RaptorQ Encoder/Decoder DM
✅ Kademlia Table && Kademlia Protocol EC
🔴 DHT Delivery for Unicast EC
✅ Unicast Messages Encryption issue EC
HTTPWebSocket API for Wallet issue RT
🔴 Value Shuffle Bots RT
🔴 Rollback of Monetary Transactions in Wallet RT
🔴 Multiple Transactions In Row issue RT
✅ Research Restaking VL
🔴 Research Stress Testing RT
🔴 Test cases for block validation issue RT
✅ Restaking: BLS signature in StakeUTXO issue DM
✅ Synchronization Status for Bootstrap issue RT
✅ Key Crypto Primitives issue DM

Sprint 14 - v0.5 - Testnet 5

🗓️ 2019-04-08 - 2019-04-19

🏷️ v0.5 - Testnet 5

🔗 Issues

TASK ISSUES RESP
✅ View Changes for Key Blocks 2 link VM
✅ WebSocket API for Wallet (Extensions) RT
✅ Fork Resolution link RT
✅ Rollback of Monetary Transactions in Wallet RT
✅ Stabilize Consensus (Tests && Bug Fixes) VM
🔴 Limit the Number of Outputs in a Block RT
✅/🔴 Stress Testing: Load Generator VM
🔴 Determine Epoch Length && Block Time link RT/EC
✅ DHT Delivery for Unicast EC
✅/🔴 Integrate HashCash EC
✅ Stabilize Network (Tests && Bug Fixes) EC
🔴 Service Awards ??
🔴 Stress Testing: Multiple Regions EC
🔴 Key Encryption on the Disk ??
✅ Research xPIR DM
✅/🔴 Split 1 STG to 1_000_000 Units (Satoshi) link RT
🔴 Slashing RT

Sprint 15 - v0.6 - Testnet 6

Back to the top

🗓️ 2019-04-22 - 2019-05-03

🏷️ v0.6 - Testnet 6

🔗 Issues

TASK ISSUES RESP
✅ Split 1 STG to 1_000_000 Units (microSTG) link RT
🔴 Service Awards VM
🔴 Slashing VM
✅ Integrate HashCash EC
✅ Restaking: separate PBC keys from wallet keys RT
✅ Restaking: basic RT
🔴 Restaking: change PBC keys RT
✅ Key Encryption on the Disk RT
🔴 Multiple Transactions In Row link RT
✅ Stress Testing: Load Generator VM
✅/🔴 ValueShuffle: Bots VM or RT
✅ Blockchain Constants: Number of Outputs in a Block RT
🔴 Blockchain Constants: Epoch Length && Block Time link RT/EC
🔴 ValueShuffle: Multiple Epochs VM or RT
🔴 Stress Testing: Large Number of Nodes EC
🔴 Stress Testing: Network Messages EC
🔴 Stress Testing: Packet Delay and Loss EC
🔴 Stress Testing: Multiple Regions EC
🔴 Proof of UTXO Construction RT
✅ Wallet 24-Word Recovery RT
Signatures for all UTXO DM

Sprint 16 - v0.7 - Testnet 7

Back to the top

🗓️ 2019-05-06 - 2019-05-17

🏷️ v0.7 - Testnet 7

🔗 Issues

TASK ISSUES RESP
✅ Add Transactions to MicroBlocks RT
🔴 Compress MicroBlocks to MacroBlocks RT
✅ Public Payment UTXO DM
🔴 Service Awards VM
✅ Slashing VM
✅ Rework StakeUTXO RT
✅ Restaking: Re-Stake Transaction with PBC keys DM
🔴 Change PBC keys: wallet, node RT
✅ Change PBC keys: network EC
✅ Blockchain Constants link
🔴 Speed up node bootstrap link
🔴 UTXO Time Locking RT
✅ ValueShuffle: Multiple Epochs VM or RT
✅/🔴 Stress Testing: Multiple Regions EC
🔴 Stress Testing: Packet Delay and Loss EC
🔴 Stress Testing: Large Number of Nodes EC
✅ Check for Stale Connections EC
✅ Stress Testing: Deploy TxGenerator EC
✅ Use AONT for serialized representation of secrets DM
✅ Implement WAU (Wipe After Use) for all secrets DM

Sprint 17 - v0.8 - Preview 1

Back to the top

🗓️ 2019-05-20 - 2019-06-03

🏷️ v0.8 - Mainnet Preview 1

🔗 Issues

TASK ISSUES RESP
✅ Compress MicroBlocks to MacroBlocks RT
✅ Optimize bulletproofs DM
🔴 Blockchain Constants link RT
🔴 Speed up node bootstrap link RT
✅ Fix HashCash EC
✅ Service Awards VM
✅ Rework Fork Resolution RT
✅ UTXO Timestamp Locking VM
✅ PublicPaymentUTXO: additional tx validation rules VM
✅ PublicPaymentUTXO: support in wallet VM
✅/🔴 DDoS Protection: blacklisting and ratelimiting EC
✅/🔴 Change PBC keys: wallet, node RT
✅/🔴 Stress Testing: Packet Delay and Loss EC
✅/🔴 Stress Testing: Large Number of Nodes EC
🔴 Persist Payment History in Wallet
✅/🔴 Don't require wallet secret key for validator nodes RT
🔴 LRU cache for unpacked UTXO link
🔴 Research Node Auto-update and Hard-forking VL
🔴 Variable Fees in Tx

Sprint 18 - v0.9 - Mainnet Preview 2

Back to the top

🗓️ 2019-06-03 - 2019-06-17

🏷️ v0.9 - Mainnet Preview 2

🔗 Issues

TASK ISSUES RESP
✅/🔴 Speed up BLS DM
✅ Improve security of Docker image EC
✅ Persistent Tx History in Wallet
✅ Persistent Payment Certificates link VM
✅ Tune Blockchain Constants link RT
✅ Speed up node bootstrap link RT
✅ Integration with Wallet UI RT
✅ Base58 for Wallet Key EC
✅ WebSocket API Authorization link EC
✅ Stress Testing: Tx Generator EC
✅ Value Shuffle Cross Epoch VM
🔴 Blockchain Tests && Bug Fixes link RT
🔴 Service Awards Tests && Bug Fixes link VM
🔴 Slashing Tests && Bug Fixes link VM
🔴 Value Shuffle Tests && Bug Fixes VM
🔴 Consensus Tests && Bug Fixes link VM
🔴 Persistency Tests && Bug Fixes link RT
🔴 Stress Testing: Packet Delay and Loss EC
✅ Stress Testing: Large Number of Nodes EC
🔴 API Tests RT
✅ Determine Cluster Configuration for Mainnet EC
✅ Changing Wallet Password link RT
✅ Variable Tx Fees RT
✅ Split log output and CLI RT
🔴 Automated Checks (Clippy, Overflow) link EC
✅ Study Merkle Mountain Ranges VL

Sprint 19 - v1.0

Back to the top

🗓️ 2019-06-17 - 2019-06-28

🏷️ v0.9 - Mainnet Preview 3

🔗 Issues

TASK ISSUES RESP
✅ Use Base58 for wallet keys on the disk EC
✅ Speed up BLS DM
✅/🔴 Finalize blockchain constants RT
✅ Add more regular generators EC
✅ Add Value Shuffle generator EC
✅/🔴 Value Shuffle tests && bug fixes EC, VM
✅ Support Payment Certificates in CLI VM
✅ Improve usability of CLI RT
✅/🔴 Blockchain tests && bug fixes link RT
🔴 Service Awards tests && bug fixes link VM
✅ Consensus tests && bug fixes link VM
✅ Slashing tests && bug fixes link VM
🔴 Fix transaction tracking in wallet VM
🔴 Persistency tests && bug fixes link RT
🔴 API Tests && Bug Fixes RT
🔴 Clippy Checks EC
✅ Rust Overflow Checks RT
🔴 Stress Testing: Packet Delay and Loss EC
✅ Benchmarks RT
✅ Switch to Rust Nightly EC, RT
✅ Switch to Curve25519 Dalek DM
✅ Fix code coverage on codecov.io VM
✅ Speed up synchronization and recovery RT
✅/🔴 Wallet tests && bug fixes VM

Sprint 20

Back to the top

🗓️ 2019-07-01 - 2019-07-15

🏷️ -

🔗 Issues

TASK ISSUES RESP
✅ Multiple Wallets API RT
✅ Transaction status tracking in Wallet API RT
✅ Transaction status tracking in Wallet Payment History VM
✅ VDF and Kalman filter for Micro Blocks DM
✅ Move Restaking from Wallet to Node RT
✅ Set earnings address in Node config RT
✅ Finalize blockchain constants RT
✅ Seamless Bootstrap EC
🔴 Mainnet bootstrap checklist VL
✅ Value Shuffle tests && bug fixes EC, VM
✅/🔴 Wallet Tests && Bug Fixes VM
✅ Blockchain tests && bug fixes link RT
✅ Service Awards tests && bug fixes link VM
🔴 Fix Clippy warning EC
🔴 Forward compatibility RT
✅ Burn smallest UTXO in Wallet EC
🔴 Account Names RT

Mainnet Preview 4

Back to the top

🗓️ 2019-07-15 - 2019-08-05

🏷️ v0.11 - Mainnet Preview 4

🔗 Issues

TASK ISSUES RESP
✅ Finalize VDF for Micro Blocks DM, RT
✅ Replace HashCash with VDF EC
✅ Stabilize Snowball implementation EC, VM, DM, RT
✅ Finalize payment history VM
✅ Finalize blockchain constants RT, VL
✅ Speed up recovery RT
✅ Speed up synchronization RT
✅ Improve monitoring metrics VM
✅ Re-send transaction on timeout RT
✅ Linux CI for Stegos Wallet RT
✅ Other tests && bug fixes EC, VM, DM, RT
✅ A prototype of Queue Shuffle DM

Mainnet v1.0

Back to the top

🗓️ 2019-08-05 - 2019-08-19

🔗 Issues

TASK ISSUES RESP
✅ Stress Testing: run more generators EC
✅ Mac CI for Stegos Wallet EC
Stress Testing: shutdown nodes EC
Add system monitoring metrics and configure alerts EC
✅ Fix panic!() RT
✅ Snowball: streamline implementation DM, RT
Snowball: rework signature collection RT, DM
Limit the maximal size of network packet EC
✅/🔴 Fuzzing testing VM
Forward compatibility design RT, VL
Speed up wallet recovery VM
Streaming protocol for synchronization EC
Rewrite loader to use streaming protocol RT
✅/🔴 Mainnet launch checklist RT
Fix clippy warnings RT
Other tests && bug fixes link EC, VM, DM, RT
Initial token distribution VL, JR
Start API before recovery ?
Document API RT, EC

Mainnet v1.1

Back to the top

🗓️ 2019-08-19 -

🔗 Issues

TASK ISSUES RESP
Snowball: track unspent UTXO VM
Windows binaries EC, RT