Proposal “DCG-SUPPLEMENTAL-APR24“ (Completed)Back
Title: | Dash Core Group April Supplemental Funding Proposal |
Owner: | quantumexplorer |
One-time payment: | 1156 DASH (41662 USD) |
Completed payments: | 1 totaling in 1156 DASH (0 month remaining) |
Payment start/end: | 2024-04-10 / 2024-05-09 (added on 2024-04-16) |
Votes: | 441 Yes / 41 No / 0 Abstain |
Proposal description
What does this specific proposal fund?
DCG reserves are slowly getting better but are still low, this proposal aims to speed up recovery of a small buffer, so DCG can be in a more healthy position sooner.
How are things?
We continue to see a stronger and better Platform month by month and week by week. We released a version on Testnet that we invite all community members to try to break.
What is left to do for Evolution/Dash Platform to be released?
We have work pretty much divided into many categories of work. Please understand the time required here are estimates. The work added here is also what we currently know of, and as testing is a dynamic process things might be added to this list as they are discovered. Also please note that some tasks can only be done by certain individuals on the team. Some team members are assigned to lower priority tasks because they are best suited to take on such tasks since putting them on the more complicated tasks would not give good results.
This is also a high level overview of the major items, there are many much smaller items that we are not mentioning here. You can see all the work being done here: https://github.com/dashpay/platform/pulls?q=is%3Apr+is%3Aclosed (and this only the Platform side - not tenderdash, grovedb or the platform client text user interface that you can find in other projects on our github)
Consensus issues discovered:
Making sure that replaying state transitions can not take down the network (2 people for 4 days left of work - most work here already completed) Done
Implement multithread drive query solution (discovered during stress tests) (3 people for 2 weeks left of work) Done
Ask for all core information once for all state transitions in a block (discovered during stress tests) (2 people 3 days)
Bug in data contract queries (1 person 1 day) Done
Bug in race condition between query threads and main consensus threads (1 person 2 day New) Done
Data contract validation fixes (1 person 3 days - discovered during review) Done
Move multiple state transition validation components from mempool validation to consensus validation(1 person 5 days) Done
Found a replay attack on identity create (1 person 3 days) Done
Features left:
Masternode Voting (2 people for 7 days 4 days left of work - currently in progress)
Fine tuning
Verifying all state transitions against potential attacks (2 weeks 2 people) Initial work Done
Making sure that fees are set to values that represent costs to actual Evonode operators (3 weeks 2 people)
Internal code review (All the team 2 weeks)
SDK
Making sure that clients have properly integrated the Dash SDK (3 man/weeks left of work - mostly taken on by mobile team) Done (This task only represented the Dash SDK integration part - Mobile features will take longer)
Testing
Additional stress tests (2 people 1 week) Initial work Done (might have another round of stress tests right before release)
Additional mechanisms for better testing (1 person 3 weeks - in progress - 1 week left)
Final testing of protocol upgrades (2 people 3 days)
Chain halt mitigation process (2 people 3 days)
Might be needed
State Sync (2 people 4 weeks - in progress - 2 weeks left) - We hope to be able to release without this, however Core Team is helping on this.
Query fees (2 people 2 weeks) - We currently do not charge state transitions for lookup queries, since this is vastly inferior to other state transition costs we believe we can release without this feature. Not needed for release.
Dapi rewritten in Rust (2 people 3 weeks) - Dapi is currently written in Javascript, it's only 14k lines of code (which is mostly boilerplate). Since it was never an expensive part of the system this was kept in Javascript, however it might prove too unreliable. Currently though we see it working well enough for release. We strongly no longer believe this is needed for release.
How much of an impact do the supplemental proposals have?
A big impact. The supplemental proposals will aid our recovery and put us in a better position for growth sooner.
If you have any questions, please direct them to quantumexplorer at dashcentral.
Requested funding is as follows for the April 25th superblock:
DCG reserves are slowly getting better but are still low, this proposal aims to speed up recovery of a small buffer, so DCG can be in a more healthy position sooner.
How are things?
We continue to see a stronger and better Platform month by month and week by week. We released a version on Testnet that we invite all community members to try to break.
What is left to do for Evolution/Dash Platform to be released?
We have work pretty much divided into many categories of work. Please understand the time required here are estimates. The work added here is also what we currently know of, and as testing is a dynamic process things might be added to this list as they are discovered. Also please note that some tasks can only be done by certain individuals on the team. Some team members are assigned to lower priority tasks because they are best suited to take on such tasks since putting them on the more complicated tasks would not give good results.
This is also a high level overview of the major items, there are many much smaller items that we are not mentioning here. You can see all the work being done here: https://github.com/dashpay/platform/pulls?q=is%3Apr+is%3Aclosed (and this only the Platform side - not tenderdash, grovedb or the platform client text user interface that you can find in other projects on our github)
Consensus issues discovered:
Making sure that replaying state transitions can not take down the network (2 people for 4 days left of work - most work here already completed) Done
Implement multithread drive query solution (discovered during stress tests) (3 people for 2 weeks left of work) Done
Ask for all core information once for all state transitions in a block (discovered during stress tests) (2 people 3 days)
Bug in data contract queries (1 person 1 day) Done
Bug in race condition between query threads and main consensus threads (1 person 2 day New) Done
Data contract validation fixes (1 person 3 days - discovered during review) Done
Move multiple state transition validation components from mempool validation to consensus validation(1 person 5 days) Done
Found a replay attack on identity create (1 person 3 days) Done
Features left:
Masternode Voting (2 people for 7 days 4 days left of work - currently in progress)
Fine tuning
Verifying all state transitions against potential attacks (2 weeks 2 people) Initial work Done
Making sure that fees are set to values that represent costs to actual Evonode operators (3 weeks 2 people)
Internal code review (All the team 2 weeks)
SDK
Making sure that clients have properly integrated the Dash SDK (3 man/weeks left of work - mostly taken on by mobile team) Done (This task only represented the Dash SDK integration part - Mobile features will take longer)
Testing
Additional stress tests (2 people 1 week) Initial work Done (might have another round of stress tests right before release)
Additional mechanisms for better testing (1 person 3 weeks - in progress - 1 week left)
Final testing of protocol upgrades (2 people 3 days)
Chain halt mitigation process (2 people 3 days)
Might be needed
State Sync (2 people 4 weeks - in progress - 2 weeks left) - We hope to be able to release without this, however Core Team is helping on this.
Query fees (2 people 2 weeks) - We currently do not charge state transitions for lookup queries, since this is vastly inferior to other state transition costs we believe we can release without this feature. Not needed for release.
Dapi rewritten in Rust (2 people 3 weeks) - Dapi is currently written in Javascript, it's only 14k lines of code (which is mostly boilerplate). Since it was never an expensive part of the system this was kept in Javascript, however it might prove too unreliable. Currently though we see it working well enough for release. We strongly no longer believe this is needed for release.
How much of an impact do the supplemental proposals have?
A big impact. The supplemental proposals will aid our recovery and put us in a better position for growth sooner.
If you have any questions, please direct them to quantumexplorer at dashcentral.
Requested funding is as follows for the April 25th superblock:
- 1155 Dash ($32,340 USD @ $28 per Dash)
- 1 Dash Proposal fee reimbursement
Show full description ...
Discussion: Should we fund this proposal?
Submit comment
No comments so far?
Be the first to start the discussion! |
* fixed all currently discovered consensus issues
Note : current issue 'Ask for all core information once for all state transitions in a block (discovered during stress tests)' has been an open issue, since the previous 2 sprint reviews / at least since Feb 2024, maybe longer. For something that needs only 3 days of work by 2 people, this issue seems to keep lingering on the Platform teams todo list.
* obtained the feature-complete status / merged Masternode Voting
* completed a full review (and possibly adjustment) on Platform fees
* completed an internal code code review by all teams
As you can see here: https://github.com/dashpay/platform/pulls?q=is%3Apr+is%3Aclosed there is a lot of small things being done outside of this list as things have been coming up routinely.
''There's no official date for release right now, but Platform is looking pretty good. We have a few time consuming things to do, namely take another look at the prices of different Platform actions, but they are minuscule compared to what we have already achieved. If I would guess I would think we would be releasing in June. In about a month from now I will announce the official release date.''
Should your attention not be fully dedicated at solving the consensus issues and finishing Masternode Voting ? According to the Dash Roadmap, NFT support is scheduled for Dash Platform v2.0 (https://www.dash.org/roadmap/).
For all i know that time could have been spend on reviewing / adjusting the Platform fees and continuing work on internal code review.
Thank you for your efforts!
All i really see is continued 'feature creep' in DCG development that has caused Dash Platform delay for years now and some empty words about a DCG todo list that can apparently change whenever a developer feels like it because he feels its important. Why should i trust you, when you are so blatantly deviating from your own todo list / Dash Roadmap ?
I am not trying to micromanage, i am simply a MNO trying to keep you accountable to your own todo list.
Very disappointing to see the CTO of DCG introduce feature creep like this, making it far more easy for other developers to do the same. It is just another example of DCG not have learned anything with regards to their development delays over the years.