Skip to main content

· 2 min read
Jean-Philippe Raynaud

High level overview

The Mithril team released a new 2313.0 distribution that implements minor improvements and bug fixes. They continued implementing the migration of the aggregator stores to a relational design. They finished adaptating and migrating the certificate, epoch settings, signed entity type, signer registration and open message stores. Additionally, they completed the refactoring of the dependency injector of the aggregator and simplified its multi-signer in order for it to sign multiple concurrent messages.

Finally, the team has worked on designing the new architecture of the network to support signing multiple types of data and upgraded the version of the Cardano node used in the Mithril testnets and devnet to 1.35.6.

Low level overview

  • Released the new distribution 2313.0
  • Worked on the epic that implements a relational store in the aggregator #779:
    • Completed the migration/adaptation of the epoch_settings table #813
    • Completed the migration/adaptation of the signed-entity-type table #815
    • Completed the migration/adaptation of the certificate table #817
    • Completed the migration/adaptation of the open_message table #827
    • Completed the migration/adaptation of the signer_registration table #828
  • Completed the refactoring of the dependency injection of the aggregator #823
  • Completed the cleanup of the multi-signer of the aggregator #824
  • Completed the upgrade of the Cardano node to 1.35.6 #843

· One min read
Damian Nadales

High level summary

This week the consensus team finished the UTxO-HD prototype refactoring. We are now working on improving the DB lock mechanism to improve performance. We also introduced several improvements to the file system abstraction and simulation layer (fs-sim), which culminated in the release of fs-sim-0.1.0.0 and fs-api-0.1.0.0 to CHaP.

On the Genesis front we distributed the updated Genesis design document, soliciting feedback from Networking Team and IOG Researchers. We also opened up a PR for the adversarial leader schedule QuickCheck generator, which is being reviewed.

On the support front, we got a new Consensus version that can use different fundamental VRF crypto primitives for Babbage and Conway eras.

On the tech debt front we fixed an bug in the followers logic, which was discovered by our QuickCheck property tests.

· 2 min read
Jordan Millar

2023-04-05 - 2023-04-19

High level summary

  • Introduce new governance commands create, answer and verify. This allows us to have onchain polls.
  • Begin making changes in cardano-api to accomodate for CIP-1694
  • Rename TestEnableDevelopmentHardForkEras to ExperimentalHardForksEnabled and TestEnableDevelopmentNetworkProtocols to ExperimentalProtocolsEnabled
  • Various bug fixes and improvements

docs

CI & project maintenance

Developer experience

cardano-cli

cardano-api

cardano-node

cardano-testnet

· 3 min read
Michael Karg
  • Benchmarking: We worked on adjusting our infrastructure to the new 8.0 release branch and performed a (very) early run.
  • New tracing: We're profiling the new tracing system for minimizing its resource footprint and guarantee high throughput.
  • Analysis pipeline: Variance analysis both for reporting and for serving as a point of comparison has been merged.
  • Infrastructure: A library for Plutus scripts will be integrated in our tooling and benchmarking profiles. Also, a profile family aimed at the tracing systems has been added.
  • Nomad backend: Various specializations of the backend are currently being implemented, along with streamlining credentials management.

Benchmarking

We have adapted our benchmarking cluster to the requirements of the 8.0 release branch. Testing runs of a very early feature branch for 8.0 helped us localize an important issue in collaboration with the other teams. We look forward to gathering preliminary metrics for 8.0 soon.

Tracing

Analysis of resource usage profiles of both the legacy and new tracing system, with and without trace forwarding, have lead us to gather very detailed profiling data for each possible setup. This is to ensure we keep resource usage within the node to an absolute minimum, while still providing the highest possible throughput of data for forwarding to cardano-tracer.

Additionally, we've worked on a very practically-oriented document targeted at end users of the new tracing system. It provides tested step-by-step instructions for tunneling trace forwarding from a node to cardano-tracer via an easy to manage system service, which will match the production setup of most users.

Infrastructure & Analysis

General

Variance analysis as a full-fledged entity in our tooling has been merged. Not only is this type of analysis now part of our reporting pipeline - variance analysis can be fed back and serve as an additional point of comparison.

Furthermore, we've created a profile family for the workbench that's specifically aimed at measuring and comparing tracing system configurations.

Plutus library

We opened a PR containing a new package for benchmarking - an extendable library that holds all Plutus scripts we use in our benchmarking profiles. This will enable us in the future to iteratively work on customizing any given script, and the way is called in the context of a specific profile. It is a refinement of current affairs, where we have additional build inputs solely to generate a static script file tied to an external commit.

Nomad backend

The nomad backend is being specialized in three ways: using a podman driver locally, using nomad agents supporting nix installables, and using nomad cloud agents. This supports having a common surface independent of the actual backend driver being used. In addition, vault retrieval and management of cloud access credentials is being improved to minimize any friction for the backend user.

· 2 min read
Iñigo Querejeta Azurmendi

High level summary

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

  • Mithril: Started looking into full-node verifier
  • cardano-base: BLS12-381's PR merged. Creating test-vectors for verifying basic pairing properties.
  • KES agent: Blockers overcome. Reaching a first MVP level of the KES-agent.
  • Sidechains: Included BLS12-381 & JubJub to halo2curves
  • MuSig2: Final modifs to C version.

Low level summary

Mithril

  • Started designing how a full-node verifier would work. Issue comming in the next couple of weeks.

cardano-base

  • BLS12-381 branch merged PR#266.
  • Testing strategy for BLS bindings:
    • Test-vectors for Groth16, and simple BLS signatures ready.
    • Test-vectors with different library, and created by different engineer.

KES agent

  • Resolved issues of circular dependency
  • Got rid of separate DSIGN and DSIGNM, we now have DSIGN over mlocked keys, but the phantom type is the same.
  • Opened a PR for raw bearer branch in ouroboros network PR4395
  • Resolved a bug where the agent node did not properly closed connections
  • Updated version of IOSim allowed us to finish a first version of KES agent.

Sidechains

  • Included BLS12-381 curve to our branch of halo2curves
  • Included JubJub to our branch of halo2curves

MuSig2

  • Minor reorg PR#42
  • Started including fuzz testing for deserialisation PR#