Skip to main content

50 posts tagged with "consensus"

View All Tags

· One min read
Damian Nadales

High level summary

This week we managed to integrate in the node the Consensus version of the UTxO-HD prototype that features the second version of the Ledger DB API. We also changed the epoch structure for Conway, made progress towards the Bootstrap State Machine and Peras planning. On the support front, we are investigating the impact of snapshots on missed leadership checks.

· One min read
Damian Nadales

High level summary

This week the team continued working on the second iteration of the Ledger DB API for UTxO-HD, as well as on Genesis. We incorporated further improvements to the onboarding documentation, and wrote a document explaining a specific subtlety of our chain orders. For Conway, we integrated DReps and initial delegates injection, which will allow the Performance and Tracing team to run benchmarks for this era.

· One min read
Damian Nadales

High level summary

For the past two weeks the Consensus team:

  • Resumed work on implementing the initialization and internals of the second iteration of the in-memory ledger database.
  • Resumed work on integrating the new ledger database API for UTxO HD.
  • Simplified query versioning for downstream users (863 and 403).
  • Confirmed the cause of missed leadership checks due to ledger snapshots (868).
  • Derived principles for the versioning/declaration of queries, since Conway complicates it (864 and 866).
  • Unblocked the Node Team in the work on rollback-insensitive leadership schedule queries (4765).
  • Drafted the (Pre-Genesis) Bootstrap State Machine (808).

· One min read
Damian Nadales

High level summary

The Consensus team implemented and tested a patch that does not propagate future headers. It is under review, and we expect it can be released in the next Cardano node version. On the UTxO-HD front, we finished prototyping the LedgerDB and BackingStore redesign, which is required for the LSM-tree integration and might help us implement a more resource efficient in-memory backend. With this prototype finished we can start integrating the rest of the code. We investigated the unexpected performance degradation observed when acquiring the block context. We also released Cardano node 8.7.0 and moved tree-diff outside cardano-ledger libraries.

· 2 min read
Damian Nadales

High level summary

Over the last two weeks, we managed to run a UTxO-HD capable node in legacy mode, which maintains the baseline memory usage while keeping all the ledger state in memory (as the current node does). This legacy mode could provide an alternative for releasing a UTxO-HD capable node where people can choose whether to store the large part of the UTxO set on disk or not. However, legacy mode involves code duplication, requires several weeks of work before it is production ready (more integration and testing). Moreover, we will not release UTxO-HD before Conway to avoid the risk of delaying the latter. On the other hand, to integrate the LSM-tree backend for UTxO-HD we need to redesign the Consensus storage layer, and this new design might enable us to implement an alternative in-memory backing store that will have a very similar performance and resource requirements as the current Cardano node. Therefore, during the coming months we will focus our efforts on the redesign of the storage layer and the LSM-tree backend.

On the Genesis front, we reviewed the peer simulator for Genesis tests, which was implemented by Tweag and was signed-off by the Consensus team.

We also continued our work on improving the handling of blocks from the future. We presented possible approaches to handling blocks from the future in the Chief Scientist Meeting at IOG, which was very well-received. The discussion with the IOG scientists touched upon the relationship of this approach to Ouroboros Chronos.

Javier Sagredo continues his cycle as release engineer, and he is working on version 8.7 of Cardano node.