Skip to main content

75 posts tagged with "consensus"

View All Tags

· One min read
Damian Nadales

High level summary

Over the past couple of weeks, the team continued working on LSM and KES agent integration, as well as Peras implementation. On the Leios prototyping front, the team is currently drafting a section in the Leios CIP focused on the new mini-protocols.

Two small improvements to Genesis tracing and metrics were also introduced: #6306 and #1628.

· One min read
Damian Nadales

High level summary

During the past couple of weeks, the team has continued working across multiple workstreams: LSM-tree integration, Peras implementation, KES agent integration, and Leios prototyping. Current efforts include:

  • Implementing a streaming conversion for ledger snapshots.
  • Drafting a set of mini-protocols to cooperatively implement the Linear Leios specification. Particular focus is being placed on ensuring adequate concurrency and resource usage bounds, which are less explicitly defined in the high-level spec.
  • Releasing a stubbed version of kes-agent, and integrating it into the Consensus version targeted for Cardano Node 10.6. While the KES code will be included in this release, functionality will remain inactive pending a code audit.
  • Merging Peras-related optimizations into both the main and peras-staging branches.

· One min read
Damian Nadales

High level summary

  • Drafted Linear Leios in the Haskell simulator (#466).
  • Introduced refactorings and optimizations to prepare the code base for weighted chain optimizations, required for Peras (#1591, #1598).
  • Merged a labeling feature into async (#164) to enable auto-labeling of threads based on a Cabal flag. This is required to ensure thread labeling in cardano-node (#6086), which, in turn, will help debug issues during development.
  • Fixed a snapshot deserialization error in Byron (#1577).
  • Updated quick-check-state-machine and fs-sim for QuickCheck 2.16 (#53, #54, #105).
  • Make lsm-trees buildable with IOG's contra-tracer (#776).
  • Started integrating LSM trees into ouroboros-consensus, aiming at version 10.7 of cardano-node (#1572).
  • Integrated the stubbed Dijkstra era into ouroboros-consensus (#1567).
  • Updated the storage tests to the new version of quickcheck-lockstep (#1585).
  • Enabled by #1585, the Genesis State Machine Tests now use quickcheck-dynamic (#1413).

· One min read
Damian Nadales

High-level summary

  • Introduced a mempool optimization (#1565).
  • Fixed a bug in the Byron deserialization of Ledger Tables (#1577).
  • Added the Node-to-Node CDDL specifications (#1571).
  • Work has started to extend the Haskell simulator to support adding individual transactions.
  • Added support for taking ledger snapshots at predictable times (#1575).

· One min read
Damian Nadales

High-level summary

  • Added support for late input block inclusion in the Haskell implementation of the Leios simulator (#413).
  • Held the Consensus Working Group call (recording), where we discussed the tie-breaker change proposed in #1548. A request for comments has been submitted to the Technical Steering Committee.
  • Released cuddle on Hackage.
  • Optimized handle usage in the on-disk backend of UTxO-HD (#1563) and exposed a configuration option for setting the maximum number of open handles (#6256).
  • Incorporated further improvements to resource management in UTxO-HD (#1564).
  • Implemented a new query to retrieve the maximum major protocol version supported by the code (#1562).
  • Introduced new versions of GetPoolDistr and GetStakeDistribution queries, now returning additional information (#1540).