Skip to main content

Consensus Q4 2023 Update

· 3 min read
Damian Nadales

Areas of focus

IssueStatus
Implement legacy mode for UTxO-HD to keep baseline performance✅ Done
Assist mainnet node release with initial Conway capabilities✅ Done
Assist with test, benchmark, and improvements to CIP 1694✅ Done
Assist with P2P IOG relay network shut down✅ Done
Assist with repo transfer to Intersect✅ Done
Support vendors to deliver contracts✅ Done
Operation serenity Q4 2023✅ Done

Highlights

Implement legacy mode for UTxO-HD to keep baseline performance

  • ✅ We managed to run a UTxO-HD capable node in legacy mode, maintaining the baseline memory usage while keeping all the ledger state in memory.
    • While the legacy mode is not production-ready (it requires further integration and testing), it remains as a plan B should the need arise to release UTxO-HD if our stakeholders so demand it.
  • ✅ We pivoted to redesigning the Ledger DB API because:
    • This is needed for integrating the LSM-tree backend.
    • The redesign opened the possibility of implementing an in-memory backend that would keep the same performance and resource requirements as the baseline version (which needs to be confirmed by benchmarks).
  • ✅ We created a more general Ledger DB API.
  • 🛠️ We are integrating (into the feature branch) the existing Ledger DB implementations with the new API.
  • 🛠️ We are implementing the new in-memory backend.

Assist mainnet node release with initial Conway capabilities, test, benchmark, and improvements to CIP 1694

  • ✅ We recognized that Conway introduces a new challenge in the versioning of NTC queries, and we resolved it (see 864 and 4770).

Assist with P2P IOG relay network shut down

  • ✅ We created a prototype for the pre-Genesis State Machine for bootstrap peers, which is currently under test (see this PR).

Assist with repo transfer to Intersect

  • ✅ We transferred the ouroboros-consensus repository to the Intersect GitHub organization.

Support vendors to deliver contracts

  • Genesis
    • ✅ Interacted with the Consensus team and addressed resulting feedback on past deliverables.
    • ✅ Finished implementation of the testing infrastructure of Genesis
    • ✅ Started to refine the Proof of Concept demo into an actual implementation of the core components of the Genesis design.
  • 💾 LSM-tree implementation. Well Typed:
    • ✅ Finished the design of the public facing API.
    • ✅ Defined the LSM-tree database file-type formats.
    • ✅ Implemented property and model-based tests.

Operation serenity Q4 2023

  • 🎉 We welcomed our newest team member @RenateEilers and assisted with her (ongoing) onboarding.
  • ✅ We implemented a simplification in the ChainSync mini-protocol that is also a step towards Ouroboros Chronos.
  • ✅ We added tests to check Consensus emits valid CBOR, which prevents the generation of invalid binary encoding.
  • ✅ We established and implemented an interface between Consensus tooling and P&T tooling, which constitutes a step towards incorporating component level benchmarks in our development process.