Skip to main content

· 2 min read
Michael Karg
  • Release benchmarking: We again performed benchmarks for the next 1.35.6 release candidate.
  • New tracing: Backwards compatibility with legacy tracer nomenclature is being implemented to smoothe the transition for end users.
  • Analysis pipeline: A major refinement of benchmarking metrics has been realized, along with a structural improvementents regarding metrics denomination.
  • Open Sourcing: Work on going live with our benchmarking data has begun, as well as creating an API demo and documentation.
  • Nomad backend: The backend was adapted to a major refactoring in workbench and is being equipped with a nomad-exec based task driver.

Performance

1.35.6 release

Benchmarking the second release candidate for 1.35.6 could again attest to a perfectly clean bill of health.

Analysis pipeline

Our analysis pipeline has seen an introduction of additional metrics, especially when focusing on the block producing node. They allow us to better differentiate the timing of ledger ticking and mempool snapshotting in the forging loop - a feature that promises much deeper insight into UTxO-HD performance. Additionally, a restructuring of metrics names has been undertaken along with improvements in their data dictionary; a measure that will make benchmarking data more easily accessible.

Open Sourcing

As a prerequisite for going live with our benchmarking data, we're currently working on consolidation of existing analyses, such as to provide a common foundation when accessing them externally. Additionally, we've begun working on a small visualization demo and interactive API documentation. Those will enable third parties to make use of that data much more easily, by having reliable guidelines and a working example.

Tracing

The new tracing system is being outfitted with a comprehensive mapping of its structure to the legacy tracer nomenclature. This feature will make the switch to the new system as smooth as possible for end users, allowing them to gradually adapt their tooling without breaking any functionality in the process.

Infrastructure

Nomad backend

The Nomad backend was adapted to the latest major refactoring in workbench. Work was done on making stateful Nomad clients more autonomous, which will greatly facilitate any automation building on that backend. A task driver based on nomad-exec is currently being implemented.

· 2 min read
Iñigo Querejeta Azurmendi

High level summary

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

  • Mithril: Updated KES crate to force user to allocate buffer of bytes for the key. Include proper testing for batch mtree opening and STM batch verify. Progressed with RFP for audit.
  • cardano-base: BLS branch is now ready for review. We are workign forward its merge.
  • KES agent: time off of part of the team, but in general continuing with the adaptation of the KES agent with consensus codebase.
  • Sidechains: We are exploring and starting discussion on how sidechains could leverage BLS12-381 bindings for SNARKs

Low level summary

Mithril

  • Bumped to version 0.2.0 the implementation of KES. Redesigned the representation of the secret key to allow user to allocate a buffer using mlock.
  • Opened PR#783 to update dependency
  • Improved testing for batch opening of mtree, PR#773
  • Improved testing for batch verification of STM sigs PR#774
  • RFP for crypto audit almost ready.

cardano-base

  • BLS12-381 branch finally ready for review PR#266

KES agent

Team off for one week. Other progress:

  • Learning about raw direct-bearer abstraction. An interface for sockets in consensus.
  • use that for direct ser/deser
  • written those syntaxes for ouroboros (coming PR)
  • the kes agent will depend on that.

Sidechains

Progress with familiarisation of Halo2 library to write circuits.

· 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

This sprint the team has been working on drafts of two papers and one technical report, improving the deltaQ tutorial, consulting on performance design, and the Djed paper has been accepted for publication.

Details

  • Preparing draft of DeltaQSD algebra paper for FORTE 2023

  • Extending the technical report on which the above paper is based

  • Consulting with an external company on performance engineering of Plutus contracts

  • Planning improvements and collecting material for the deltaQ tutorial based on experience with systems that manage risk at multiple timescales

  • Preparing sections on the communication language and idempontency laws for draft paper about verifying design refinements for distributed system design

  • Studying Cardano chain sync protocol

  • "Djed: A Formally Verified Crypto-Backed Autonomous Stablecoin Protocol" has been accepted for publication at IEEE ICBC 2023

· 2 min read
Sebastian Nagel

High-level summary

This week, the Hydra team released version 0.9.0 - a version of the hydra-node with fully specified behavior of on-chain scripts and off-chain head-logic, decreased costs for opening/closing a Head and scalable contestation deadline semantics. Check out the full release notes for details.

Furthermore, they published the monthly report of the Hydra project and conducted a review meeting with an increasingly wider audience. The team plans to extend invitations through the new Hydra #announcements discord channel for the next months, stay tuned!

What did the team achieve this week

  • Monthly review meeting with report published on website
  • Fixed smoke tests #726
  • Reduced the cost of opening/closing a Head (error codes #748 + head reference script #701)
  • Released version 0.9.0
  • Conducted a first experiment on mainnet compatibility #713
  • New discord category with #announcements channel
  • Received a demo about the Hydra for Voting project
  • Lightning talk on mutation-based testing (to be shared)
  • New themes view in on our roadmap and some rearranging as we align it with high-level objectives
  • Clarified things with researchers, but mostly identified action items for them

What are the goals of next week

  • Redraw transaction graphs and address TODOs specification
  • Run hydraw with 0.9.0 on preprod
  • Make smoke tests on mainnet possible
  • Groom the explorer item
  • Unblock the auctions projecth with commit from script a solution

· 2 min read
Jared Corduan

High level summary

We have focused the last two weeks on CIP-1694, integration of the last several months of ledger work into consensus and node, and testing infrastrutcture that we will use in the conway ledger era.

Low level summary

Conway rules

We made a major update to the conway era so that the implementation is now in sync with the spec with respect to the ratification and enactment logic.

See the notes in pull-3291 for more details.

Constraint based generators

This week we hit a major milestone in our efforts to build out better property based testing support for the main ledger properties. The new constraint based generators can now generate full ledger states with what is probably very close to the real constraints (if anything, it is under constrained). Next we will work on generating a transaction in the context of a ledger state, which would allow us to actually start using these generators for real tests.

See pull-3219.

Preparing a release, now with proper versioning

After quite some time, we are ready to release a version of ledger that will work with a new version of consensus, using CHaPs.

See pull-3308.

Technical debt

  • We cleaned up the redeemer serialization code (to prevent future mistakes). See pull-3269.
  • We added a note to the Alonzo spec, specifying that the transaction inputs are lexicographically ordered in the Plutus script context. See pull-3306.
  • We fixed a problem with the address deserialiazation (we mistakenly fixed a bug in the Babbage era which cannot be fixed until Conway). See pull-3307.
  • We fixed a problem with our nix build. See pull-3311.
  • We fixed a problem with our NoThunks tests. See pull-3310.
  • We improved our nightly tests. See pull-3316.