Skip to main content

· 2 min read
Marcin Szamotulski

Network Update

Key contributions

We held a series of session to review the implementation of big ledger peers (eclipse evasion). See #4462.

We get a request from a 3rd party to clarify an inconsistency between CDDL spec and protocol implementation. We worked out a nice solution which takes advantage of the any notion available in CDDL. On the Haskell side we provide Any type which gen generate almost any CBOR term (some are excluded only because they are not decoded back to the same form, and we relay on that property). See #4580.

We fixed a bunch of problems of the cardano-cli ping command. It also now has a limited support of node-to-client mini-protocol (the -c option is ignored, as it cannot be supported by node-to-client protocol). Note that the format of messages has changed, timestamps are printed in ISO8601 format. See #4601, #5326, #5313, #30

In order to provide a new flag in the topology file which enables ledger peers when the chain is close to the tip, we continued to work on #4530. This is currently in review, the consensus team will need to provide us with the new api. This feature is useful for two reasons: makes it easier to maintain a topology file, it will also limit the traffic on public roots generated by for example full node wallets and distribute it to ledger peers.

We also continued to work on a blog post which describes the journey of design & implementation of the dynamic P2P network layer. Too be announced soon :).

Other smaller changes

We limit the concurrency of resolving dns names. Up to 8 root peers or ledger peers DNS names are resolved concurrently, and at most 2 local root peer DNS names. See #4596.

We fixed handshake query timeout in #4603.

We renamed one of the block-fetch decision constructors as requested by the consensus team, see #4608.

· One min read
John Lotoski

High level summary

The SRE team continues work on CI and cardano environment improvements. Some notable recent improvements include:

  • A devx-ci cluster containing a Hydra build server and Linux build farm was stood up and is intended to replace Cicero functionality
  • Cardano Sanchonet environment was stood up to test Conway era functionality
  • Cardano-node nixos service was updated to support the latest p2p topology format and non-systemd socket activation use case
  • Cardano-node 8.1.1 was deployed to preview, preprod and mainnet environments

Lower level summary

Cardano-node

  • Update cardano-node nixos service for updated p2p topology and non-systemd socket activation: cardano-node-pull-5318

Cardano-ops

Cardano-world

Ci-ops

Ci-world

  • Add devx-ci cluster integration for caching, monitoring during cicero to devx-ci transition: ci-world-compare

Devx-ci

  • A CI cluster with a hydra build server was stood up and is intended to replace usage of Cicero: devx-ci-repo

Iohk-nix

· One min read
Franco Testagrossa

High-level summary

This week, the Hydra team focused their efforts on continuing to investigate and experiment operating a head on mainnet. They collected several bugs and issues and worked on fixing them. Now the team is soon to release a new version, 0.11.0, which comes with a lot of improvements and bug fixes.

What did the team achieve this week

  • Restored and fixed a bug which stalled our head on mainnet #927
  • Solved one user issue #914
  • Reduced significantly local state size and logs by removing the full scripts from it #928
  • (pending review) Reduced snapshot size in the API, by only including tx ids #922

What are the goals of next week

  • New release 0.11.0
  • Monthly report & review meeting.
  • Fix some minor bugs discovered when operating our head on mainnet
  • Complete journey for external commits using multiple script UTxOs #903
  • Publish benchmarks and provide regular benchmarks for Hydra #186

· 2 min read
Jean-Philippe Raynaud

High level overview

The Mithril team completed the implementation of the new sub-command for restoring a Mithril stake distribution in the client. They also updated the client’s developer documentation and architecture documentation, and did some refactoring on the client and its dependency injection mechanism. Additionally, they completed and deployed infrastructure enhancements on the test Mithril networks. They also completed the performance tests of the new stake distribution computation on the Cardano mainnet.

Finally, the team worked on fixing a bug on the client multi-platform test, a bug on the aggregator state machine, and some flakiness on the CI.

Low level overview

  • Completed on the epic that designs and implements generic signing/verification of entity services #780:
    • Completed the issue Create the sub-command for 'Mithril Stake Distribution' in client #896
    • Completed the issue Adapt end to end tests to handle new types of data #899
    • Completed the issue Update client documentation #897
    • Completed the issue Update architecture documentations for new types of data #898
    • Completed the issue Refactoring client #960
  • Worked on the epic that prepares the Mithril infrastructure for mainnet #767:
    • Completed the issue Enhance terraform infrastructure #930
  • Completed the epic that implements the computation of the stake distribution for mainnet #880:
    • Completed the issue Check performance impact of new stake distribution command on the 'mainnet' #962
  • Worked on the epic Prepare Mithril Signer deployment model for SPO #862:
    • Worked on the issue Design recommended deployment model for SPOs on 'mainnet' and 'preview'/'preprod' #961
  • Worked on bugs and optimizations:
    • Completed the issue Aggregator does not always detect new immutable file #953
    • Completed the issue CI tests fail with Rust '1.70.0' #958
    • Worked on the issue End to end tests are flaky #954
    • Worked on the issue Certificate dates in metadata are not on the same timezone #946
    • Worked on the issue Refactor 'MithrilStakeDistribution' entity #967
    • Completed the issue Fix 'Mithril Client multi-platform test' with new client interface #956
    • Completed the issue Enhance 'ImmutableDigesterError::NotEnoughImmutable' error #969
    • Completed the issue Client 'snapshot download' command fails with option '--download-dir' #979

· 2 min read
Damian Nadales

High level summary

The Consensus team had a very productive meeting with IOG Researchers. We now seem to be in alignment in regards to a strong argument that the Byron and TPraos eras do not need to be checkpointed for an MVP. There is one remaining question (which applies also to the Praos era): how to assess the threat that short forks pose against historical windows that underperformed? We are currently collaborating on that. We also drafted an argument that the updated "Limit on Patience" timeout sufficiently bounds how long the adversary can inflate a victim's overall sync time.

On the UTxO-HD front, the prototype branch was rebased on top of the latest ouroboros-consensus main branch and integrated on top of cardano-node 8.1.1-pre. As a result, the mempool fairness fix that was released recently is now integrated into UTxO-HD. We managed to run a node again with UTxO-HD enabled. We also identified a race condition in the UTxO-HD prototype and fixed it. In addition, we started performing UTxO-HD ad-hoc benchmarks for cardano-node, which uncovered a performance regression on the Network component when using GHC-9.2/9.4. This is being addressed.

Regarding our support activities, we Released fs-sim-0.2.0.0 and are in the process of preparing the 8.2 release of cardano-node. We also identified and started fixing incorrectly-unevaluated thunks in preparation for enabling CI NoThunks tests.