Skip to main content

· One min read
Kostas Dermentzis

High level summary

The db-sync team created a new tag 13.1.0.2 which is ready to release. We also investigated and had the first working UTxO-HD integration which is one of the potential future risks for db-sync.

Low level summary

  • Integrated the UTxO-HD feauture branch in kderme/utxo-hd-1. This doesn't use the full on disk storage but keeps things in memory and the plan is to keep it this way for the first iteration. The integration still has some performance issues which we investigate
  • Created tag 13.1.0.2 which upgrades the dependencies of db-sync
  • Fixed an issue related to errors appearing in SMASH #1353
  • Continued with ghc-9.2 integration #1339
  • Worked on an new fixing procedure for #1348. We try to make these procedures work also on older schema version, without the need to migrate to newer schema, which can be very useful for fixing existing snapshots.

· 2 min read
Iñigo Querejeta Azurmendi

High level summary

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

  • Mithril: Helper functions finished. Continue preparing a RFP for an audit of mithril's core library (decided to add audit of KES). Design proposal for viable registration.
  • cardano-base: Praos to PraosBatchCompat ready. KES secure forgetting finished, but holding merge for delivery strategy (breaking changes). Tested real world SNARK verification on plutus.
  • KES agent: using snockets and making things testable in IOSim
  • MuSig2: started implementation in rust.

Low level summary

Mithril

  • Transmute helpers merged PR#722
  • We have progressed with the RFP document for the mithril-stm library. Progressing with description of octopus algorithm. Included KES in scope.
  • We are working in a modification of KES to require caller to allocate the secret key buffer.
  • Proposed a solution for signer registration of Mithril.

cardano-base

  • Progressing with BLS12-381. Worked with plutus team to have a plutus script verifying a Groth16 proof.
    • Results are promising, with using only 23% of the execution budget to verify a realistic proof.
    • Next step is to build a real world use case (and not use a dummy proof). Projects being considered are Sidechains, Hydra or Mithril.
  • KES secure forgetting merge is being held off, due to breaking changes. We are considering handling several branches in cardano-base for this.
  • Conversion finally merged PR#344.

KES agent

  • Figuring out how to use sockets to write directly into the file descriptor. Digging into the sockets implementation
  • Figuring out how to go from fake file descriptor to write the raw bytes

MuSig2

  • Started implementing MuSig2 in Rust using the Ristretto prime order group. Still experimental.

· 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, distributivity properties of deltaQ, and consulting on performance design with the Marlowe team.

Details

  • Processing reviews on performance engineering paper and planning paper revisions accordingly

  • Investigating distributivity properties of DeltaQ

  • Preparing sections on the thorn calculus and idempotency laws for draft paper about verifying design refinements for distributed system design

  • Consulting on performance design with Marlowe team

· One min read
Sebastian Nagel

High-level summary

This week, the Hydra team completed work on dealing differently with contests during the contestation period. These will now always push out the deadline and hence contestation periods are easier to pick (depending on the network a Head runs on). Furthermore, they added an important acceptance test and completed internal refactoring of the protocol logic making future changes easier.

What did the team achieve this week

  • Push contestation deadline on each contest #716
  • Wrote an acceptance (property) test can always close/fanout when collect is successful
  • Internal refactoring of our HeadLogic
  • Groomed remaining things from #452 into dedicated features

What are the goals of next week

  • Complete full minting policy #720
  • Release 0.9.0 with updated scripts
  • Plan mainnet milestone and a 0.10.0 version
  • Redraw transaction graphs for specification (upon feedback)
  • Have smoke tests fixed and running regularly

· 3 min read
Jared Corduan

High level summary

This past two weeks saw many months worth of ledger changes integrated with the cardano-base and ouroboros-network repositories. The vast majority of the effort involved all the changes to the ledger serialization libraries (and the interplay with cardano-base) which now support proper versioning. Supporting the conway ledger era, and in particular allowing the ledger state to transition to a whole new system of governance, also played a noticeable part in the integration.

Besides the integration work, the team continues to address technical debt, improve the documentation, make our testing infrastructure better (such as experimenting with better nightly tests), and formally specifying more parts of CIP-1694.

Lower level summary

Integration work

Below is all the integration work completed, which will enable a release to node from the current ledger master. Many thanks to Alexey for this colossal undertaking!

Technical debt

Starting in major protocol version 9, zero-valued multi-assets will no longer be permitted in the CBOR specification. See pull-3241.

We now have our .cabal files being checked for a consistent formatting given by cabal format in our CI. See pull-3286.

We are still experimenting with better nightly tests for our long running property based tests. See pull-3276 and pull-3296.

Small documentation improvements

The hand proofs of the preservation ADA property have been added back to the Shelley ledger specification. See pull-3295.

We have clarified how the script integrity hash is computed in the CDDL description. See pull-3290.

Specifying CIP-1694

Our new formal specifications backed by Agda have seen a lot of progress! Upgrading to Agda 2.6.3 fixed our main build infrastructure problems, and we no longer have to rely on our custom fork. See pull-50.

Our progress on formally specifying CIP-1694 can be followed here:

Constraint based testing

We are still actively working on our new constraint based property testing framework. We have nearly all of the constraints for an entire ledger state hooked into generators, and tests that the generators do indeed obey the constraints. The variable count in the constraints is over 100! There is still much work to do on shrinking, making the generators faster, and writing actual property tests for the ledger, but the approach still seems viable and we are hopeful that it could replace our trace generators. The WIP can be followed here: pull-3219.