This repository has been archived by the owner on Dec 4, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 13
project plan
Roman Tsisyk edited this page Aug 12, 2019
·
167 revisions
📝 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 |
🗓️ 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 |
🔗 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 |
🗓️ 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 |
🗓️ 2019-02-11 - 2019-02-22
🔗 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 |
🗓️ 2019-02-25 - 2019-03-08
🔗 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 |
🗓️ 2019-03-11 - 2019-03-22
🔗 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 |
issues | EC |
✅ Fix memory leaks | issues | EC |
✅ |
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 |
🗓️ 2019-03-25 - 2019-04-05
🔗 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 |
✅ |
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 |
🗓️ 2019-04-08 - 2019-04-19
🔗 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 |
🗓️ 2019-04-22 - 2019-05-03
🔗 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 | |
✅ |
DM |
🗓️ 2019-05-06 - 2019-05-17
🔗 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 |
🗓️ 2019-05-20 - 2019-06-03
🔗 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 |
🗓️ 2019-06-03 - 2019-06-17
🔗 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 |
🗓️ 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 | |
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 |
🗓️ 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 |
🗓️ 2019-07-15 - 2019-08-05
🔗 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 |
🗓️ 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 |
🗓️ 2019-08-19 -
🔗 Issues
TASK | ISSUES | RESP |
---|---|---|
Snowball: track unspent UTXO | VM | |
Windows binaries | EC, RT |