Skip to main content

· 2 min read
Damian Nadales

High level summary

This week the Consensus team worked on integrating the latest node release into the UTxO HD branch. Our ad-hoc benchmarks in which we sync a node from scratch showed that the LMDB backend uses around 8GB of memory. We also released new versions of fs-sim and fs-api, and released strict-checked-vars.

UTxO-HD

  • Rebased UTxO-HD on top of node 8.2 (issue)
  • Address new Maybe translations for UTxOs in Conway 1.6. (PR).
  • Performed ad-hoc benchmarking syncs with both implementations. The LMDB backend uses around 8GB of memory.
  • Fixed an infinite loop on the mempool tracing code that was preventing the node from shutting down gracefully.
  • Fixed an infinite loop on the ledger state query for traversing queries that prevented the node from running QueryUTxOByAddress (PR).
  • Measured the speed of QueryUTxOByAddress under different queryBatchSize values. There is a significant performance degradation for these queries when using the UTxO-HD version. Using the mainnet UTxO set at slot 90 million, querying an address took 40 seconds using the in-memory backend and 90 seconds using the LMDB backend, whereas the baseline took 7 seconds. We need to investigate if we can improve this situation or whether an external service that runs alongside the node is a better solution.
  • Refactored and implemented ledgertable-related classes for the general HardforkBlock.

Genesis

  • Frisby and Esgen continue to engage with the Researchers on grinding against the Genesis design.

Fostering collaboration

  • Drafted a document explaining versioning of local state queries #273.

Support

  • Frisby is the release engineer this cycle.
  • Successfully created work-in-progress ouroboros-consensus and cardano-api commits that integrate the 2023 Aug 7 tip of cardano-ledger. This will require a release of ouroboros-consensus, which hasn't happened yet.

· One min read
Iñigo Querejeta Azurmendi

High level summary

The open fronts that the crypto team is working on are:

  • Sidechains: Analysis of Halo2 SNARK verifier to plan a plutus implementation
  • mithril: Full node verifier
  • musig2: Finalised the missing fuzz tests
  • kes_agent: engineer on PTO. Work halted

Low level summary

Mithril

  • Work on a mithril flaky test #1105
  • Keep working on Full Node Verifier #939. Should be merged in the coming week.

MuSig2

  • Finalised the fuzz tests #43

Sidechains

  • Analysis of Halo2 verifier. Necessary for a future implementation of a plutus verifier.

· One min read
James Chapman

The team works on applied research and consulting in formal methods that is directly applicable to evidence based engineering in Core Tech and beyond.

High level summary

The team is formalising mini protocols and also further developing the performance modelling prototype.

Details

  • Developing new framework for specification and verification of mini-protocols which is closer to the Haskell implementation.

  • Developed a new internal representation for the DeltaQ algebra that allows for more modularity in backend implementations

  • Discussions regarding the Cardano networking specification

· 2 min read
Sebastian Nagel

High-level summary

This week, the Hydra team achieved notable progress in various aspects of the project. The team updated the use case section for auctions on the /unstable branch of the website, improving the understanding of Hydras applicability.

From the development side, the team successfully completed event-sourced persistence, a key enhancement in the projects architecture which improves off-chain transaction processing performance. They also added a submit-transaction endpoint to the API.

In addition to project-related progress, the team actively engaged in community reviews for several catalyst proposals related to Hydra and Mithril, contributing to the wider Cardano ecosystem.

Finally, the full report for the month of July was also published here.

What did the team achieve this week

  • Published the monthly report for July
  • Updated the use case section for auctions (published on /unstable branch)
  • Completed event sourced persistence #913
  • Added a submit-transaction endpoint to the API #966
  • Community reviews for several catalyst proposals related to Hydra and Mithril
  • Created a network testing tool (hydra-net) #1006

What are the goals of next week

  • Update hydra-node to work with cardano-node version 8.x
  • Remove the internal commit functionality
  • Release version 0.12.0
  • Update & streamline tutorial to work with latest version of hydra-node

· 2 min read
Alexey Kuleshevich

High level summary

The ledger team was working almost exclusively on the Conway era implementation. In particular, the main focus was directed towards solidifying transaction related types and their binary representation. We also directed some effort into unblocking Plutus team with respect to PlutusV3 integration.

Low level summary

Conway progress

  • pull-3552 - Allow Constitutional Committee Hot Key to be ScriptHash
  • pull-3581 - Make Constitutional Committee Cold Key to be ScriptHash
  • pull-3571 - Implement a portion of the TICKF rule.
  • pull-3556 - Add Script to Constitution
  • pull-3576 - Add optional Anchor to ConwayRegDRep certificate
  • pull-3495 - Implement refund logic for Proposal deposits
  • pull-3579 - Change voting procedure in the transaction to a nested Map
  • pull-3585 - Rename CommitteeCert into a GovCert
  • pull-3587 - Remove DelegStakeTxCert from the COMPLETE pragma for TxCert
  • pull-3586 - Add CurrentTreasuryValue to TxBody
  • pull-3588 - Rename key roles
  • pull-3557 - Update NewCommittee action to use RewardAcnt and add more info
  • pull-3595 - Add ConwayUpdateDRep constructor to ConwayTxCertGov type
  • pull-3600 - Filter out zero TxOuts on Byron/Shelley boundary instead of Babbage/Conway
  • pull-3597 - Update ProposalProcedure return address to be a RewardAcnt

Testing

  • pull-3374 - New features for generation subject to constraints
  • pull-3519 - Basic Conway features test

Bugfixes

Plutus integration

  • issue-3538 - A fairly complete specification was created for the PlutusV3 context
  • pull-3593 - Conway TxInfo for PlutusV3 is now compatible with all pre-Conway functionality

Improvements and releasing

  • pull-3574 - Improve clarity and performance of collateral Non-ADA validation:
  • pull-3573 - Update top-level CHANGELOG.md with cardano-node relevant changes
  • pull-3555 - Bump pygments from 2.12.0 to 2.15.0 in /doc
  • pull-3575 - Bump certifi from 2022.12.7 to 2023.7.22 in /doc
  • pull-3567 - Backport mint field translation bugfix
  • pull-3568 - Fixed typo in byron ledger spec
  • pull-3572 - Release/backport tickf bugfix