Platform + Core Dev Updates – January 24
Tags: web3, opensource, blockchain, programming
Published: 2023-01-26 14:37:26

Hello Dashers!
Here is a new portion of fresh Platform updates, now with the Core Dev team! They're gonna give you in-depth information on the development progress. 
Watch the video below, or read our short takeaway of the tasks done this sprint. 
{% embed https://www.youtube.com/watch?v=ku8nKMRmlE4 %}
---

## TenderDash
**Task: Stabilization**

**What We Planned**

Stabilizing (v.0.10 / v0.11 => v1.0)

- feat(abci): add quorum hash to RequestPrepare/ProcessProposal **_done_**
- refactor(proto)!: cleanup protobuf definitions and reorganize fields **_done_**
- chore(release): update changelog and bump version to 0.10.0-dev.8 **_done_**
- chore: backport changes from v0.10-dev.8 to v0.11-dev **_done_**
- build(docker): use version 1.2.5 of BLS lib in Docker **_done_**
- refactor: replace peerID on proTxHash in peer-catchup-rounds map **_done_**
- updated dependencies (build-push-action, buf-setup-action, golangci-lint-action) **_done_**

Investigate deadlocks (v.1.1)

- refactor: consensus peer gossip mechanism **_in progress_**
- refactor: add-vote operation **_in progress_**
- refactor: consensus state to fix deadlock **_in progress_**

**What’s Left before Testing Phase**

- ~~Stabilize same-block execution~~
- ~~Update BLS library~~
- Adjust vote extensions for withdrawal transactions
- ~~Improve seed node operations~~
- ~~Drive integration~~

---

## GroveDB

**What we planned**

- Better path query merge **_done_**
- Proof of mixed levels **_done_**

**What’s next?**

- Paths in Proof results **_done_**
- Optionals for Proof results **_done_**
- Partial proof verification (f(g(x)) **_in review (integrated)_**

---

## Protocol
**Task: Identity v2**

**Credit Withdrawals**

- Introduce withdrawals data contract **_in review_**
- Implement the pooling process (type 0 only) for withdrawals **_in review_**
- Update status of withdrawals after broadcasting **_in review_**
- Add revision logic to IdentityCreditsWithdrawal transition **_in review_**
- Indices from expired withdrawal transactions must be reused **_in review_**

**Other Protocol Tasks**

- Identity v2 **_in progress_**
- Total credit balance verification **_in review_**
- Calculate expected total credits amount **_in review_**
- Efficient Data Serialization **_in progress_**
- Refactor DPP document types **_in progress_**

**More Protocol Tasks**

- Add support for Core v19-beta.X **_in progress_**
- Create self-contained Dashmate package **_in progress_**
- ABCI context logger **_done_**
- DPP should not allow using existing property in a new index **_done_** 
- Use single HTTP port for all DAPI endpoints **_done_**
- Log number of refunded epochs in Drive **_done_**

## What’s Left

Major

- ~~Fee Refunds~~
- Accomplish and test withdrawals

Minor

- ~~Logging of same block execution~~
- ~~Use block candidate context in State Repository~~
- ~~Deal with situation where fees are higher than Balance~~
- ~~Add Sum Tree feature for Pool trees~~
- Verify fee processing costs
- Asset Lock and Unlock transactions integration
- BLS library rust binding
- Masternode block reward distribution

---

## Rust Port Update

**What We Planned**

- Our primary goal for this sprint was testing and implementing the last thing left - Identities
- Integrate Rust DPP into SDK, Drive, DAPI and test suite 
- Identity transitions - AssetLockProofs and CreateTransition merged, UpdateTransition - coding finished, currently is **_in review_**
- Testing DataContract - 90% finished

**Planned/Work in progress**

- Integrate Identity into Drive/Dapi
- Finish the remainder of DataContract tests
- Finish the remainder of Document Transition tests
- Fix asynchronous I/O in the state repository - works right now in a synchronous manner

---

## Core Team

**Core Status - v18.x**

v18.2 incident: 06/01/2023

- Rotation member calculation mismatch
- Downgrade to v.18.1
- 5% of Masternodes affected

v18.1 incident: 08/01/2023

- DDoS attack.
- Flooding of old but valid qcommits via P2P messages
- Fix: If qcommit is older than one DKG cycle -> no BLS verification
- Release of hotfix v18.1.1

v18.2.1 Release

- Indexing both Testnet and Mainnet

**Core Status - v19 Development**

BLS Scheme upgrade **done**

- Enforced BLS active scheme IETF
- Versioned mined objects: qfcommit, protx family, 
- Versioned MNLISTDIFF P2P message

HPMN 4K **_in progress_**

- New Masternode Type **_in review_**
- Migration of internal evoDB, Returned in MNLISTDIFF and RPC **_in review_**
- LLMQ_Platform **_in review_**
- Masternode payment algorithm: 4x blocks for HPMNs **_in review_**
- Governance: 4x vote weight for HPMNs **_in review_**
- Include new Platform related fields in SML **_in progress_**

AssetLock **_in review_**

**What’s Next**

- V19.0.0 Release Candidate
- Potential V18.2.2 Release w/ minor fixes
- Continued maintenance, backporting and feature development