Skip to main content

· 2 min read
Alexey Kuleshevich

High level summary

One very important Conway feature that became available since last report is the ability for Stake Pool Operators to vote on some of the security relevant protocol parameter updates. We organized proposal hierarchy into a cohesive implementation, which together with good tests gives us confidence in its correctness.

We also fixed a few important bugs:

  • Preventing Constitutional Committee Members from voting on governance actions that they should not be allowed to vote on.
  • Prevent deposits from appearing in orphaned reward accounts after the staking credential has been unregistered, but before the proposal procedure deposit has been returned.
  • Ensure Sets are encoded in CBOR with tag 258 by default

Further improvements in testing tools and addition of more tests.

Low level summary

Conway

  • pull-3982 - Added SPO voting thresholds for security relevant parameters
  • pull-3978 - Proposals pruning rewrite
  • pull-4003 - Prefix Set encoding with tag 258
  • pull-3999 - Add PParamUpdates to the plutus context, by transforming them to Plutus Data
  • pull-4008 - Fixed a bug in GOV rule
  • pull-4013 - Remove EnactState from ConwayGovState
  • pull-4025 - Further improvements to Proposals
  • pull-4021 - Move unclaimed rewards from proposals to treasury

Testing

  • pull-3997 - Added DRep delegation injections to Conway
  • pull-4023 - Add a function registerInState to EraTransition
  • pull-4005 - Fixes in Shelley Imp framework and other small things
  • pull-4004 - Verify that enacted gov action is removed
  • pull-4016 - Fix Arbitrary instance and invariant checking for Proposals

Improvements

Releasing

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team continued implementing a new data type for certifying Cardano transactions within Mithril networks. They completed the signature of the transactions set and implemented the aggregator route, responsible for generating proofs of membership for a list of Cardano transactions. Additionally, they finalized the manual workflow to test the NPM client package in the CI and enhanced the resilience of computing the list of immutable files in a Cardano node database. The team also expanded the coverage of end-to-end tests in the CI to accommodate multiple versions of the Cardano node and various hard fork scenarios.

Finally, they completed the enhanced node communications between Mithril and Cardano for retrieving UTXOs and kept working on the threat modeling and risk analysis for P2P networking.

Low level overview

  • Completed the issue Light Wallet: Compute message to sign for CardanoTransactions #1436
  • Completed the issue Light Wallet: Implement proof generation route in the aggregator #1467
  • Completed the issue Enhance ImmutableFile list computation resilience #1450
  • Completed the issue Enhance end to end test for Cardano hard forks #1464
  • Completed the issue Add WASM client step in Mithril Client multi-platform test #1408
  • Worked on the issue P2P threat modeling and risk analysis #1350
  • Worked on the issue Create a test network on SanchoNet #1173
  • Worked on the issue Enhance Mithril/Cardano node communication #1315
  • Worked on the issue Generate automatic documentation for CLIs #1471

· One min read
Carlos LopezDeLara

· 2 min read
Michael Karg

High level summary

  • Benchmarking: GHC 9.6.3 benchmarks for node 8.7.2 have been performed.
  • Development: Additional features for our reporting pipeline, while simultaneously reducing dependency footprint.
  • Tracing: Implementation for cardano-tracer to work on handles instead of files; work on New Tracing Quickstart document has begun.
  • Nomad cluster: We're preparing an upgrade to the latest Nomad version.

Low level overview

Benchmarking

We've performed a full set of GHC 9.6.3 benchmarks for node 8.7.2. For recommending GHC9.6 as a default build platform for cardano-node - from a performance perspective - we observe only one residual issue. As a way to address this, we've decided to create a reproduction benchmark targeting the affected component.

Development

Our reporting pipeline will be expanded to support a wider range of rendering formats, as well as report templates. As the pipeline is part of our workbench - and thus gets downloaded and built when entering the workbench shell - it's good practice to keep a small dependency footprint. When reworking the pipeline, we aim to simultaneously reduce dependencies.

Tracing

So far, cardano-tracer has internally been using files, or file names, for the purpose of logging trace messages it receives via forwarding. This is simple, but induces quite some overhead at runtime: files have to be opened and closed for each message. Using and managing open file handles inside cardano-tracer does remove that overhead, but unsurprisingly introduces some complexity into the application code. Currently, we're working on implementing that change.

Furthermore, we're working on a Quickstart document for the new tracing system, with end users as its intended audience. It will contain recommended production use setup(s), and how to efficiently configure and run them step by step. Additionally, it will provide a brief, but comprehensive overview over the features at the user's disposal.

Nomad backend

On the Nomad cluster, we've experienced undesired system behaviour when the heartbeat between the Nomad server and a client is interrupted temporarily - although the Nomad job itself is still 100% functional. A Nomad upgrade to the latest version promises to fix that, but it turn comes with other issues. We're currently working on adapting our automation and deployment around those known issues, before we can eventually apply the upgrade.

· One min read
Kostas Dermentzis

High level summary

The DBSync team has prepared and tested a new db-sync version for mainnet, we have continued our integration and update for Conway and have extended its modularity.

Lower level summary

  • We attempt to turn db-sync into a modular project that can run with wither low or high recourses #1610 #1613 #1590

  • Moving the flags above to a config file #1609

  • Optimizations #1595 #1607

  • Conway Support and updates #1581 #1573 #1570