Skip to main content

· 2 min read
Marcin Szamotulski

High level summary

In the last spring we released cardano-node-1.35.6 with dynamic P2P functionality.

We received reports from some SPOs who encountered problems with their non P2P block producing nodes not being able to connect to their P2P relay. Karl Knutsson (from Cardano Foundation) reproduced this issue between two nodes (a non P2P and a P2P one) on mainnet. Karl and the IOG Networking Team analysed it and found a bug in the legacy non p2p code. The bug is only possible to trigger with a P2P node which is binding its outbound connection port to a fixed IP address and port (default in p2p). A possible solution was found. For more information see #4465.

We released cardano-ping-0.1.0.0 package to CHaP. cardano-ping is no longer available as a standalone binary, but instead it will become part of cardano-cli (see #4664)

We are testing cardano-node with peer sharing functionality (#4019).

We are working on eclipse evasion. We added new class of peers: big ledger peers to the outbound governor, implemented tests and fixed found issues (#4462). We also made the information if a given peer plays the role of a big ledger peer to the mini-protocols. This will allow to modify mini-protocol applications for such peers. As part of this functionality we refactored some core types in the network code which simplifies exposed API.

Together with Moritz Angerman we started to update io-sim to ghc-9.6.1 (see #73).

We merged a fix of configuration of accepted connections limit in cardano-node (see #4902).

· 2 min read
Iñigo Querejeta Azurmendi

High level summary

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

  • Mithril: RFP finished. Code ready for audit.
  • cardano-base: BLS12-381's PR approved, only blocker is Windows' CI. Preparing extensive testing strategy together with Plutus and Testing teams.
  • KES agent: Working on a desing on how to use IO sim in order to allow for proper network simulation testing.
  • Sidechains: Preparing proving system to use the curves needed for main-net PoC.

Low level summary

Mithril

  • Merged PR#783
  • RFP for crypto audit ready.

cardano-base

  • BLS12-381 branch approved PR#266. Blocker is Windown's CI. Working on it
  • Testing strategy for BLS bindings:
    • Preparing test-vectors for Groth16, and simple BLS signatures
    • Finding community projects to help write their use cases
    • Designing AC, and expected tests for higher levels of development (Plutus team, E2E tests, etc)
  • Wrote blogpost on how using the same key for ed25519 and VRF completely breaks the security of both systems

KES agent

  • Started integration of sockets interface used in consensus
  • Use that for de/ser
  • Resolving problems with block memory in IOSim. Can't use withForeignPtr in IOSim
  • Results in having to parametrise for IOSim in KES and DSIGN for testing

Sidechains

  • Prepared an API for proof generation in sidechains, with it's C API for integration with JVM languages.
  • Design document and start interacting with researchers for concrete instantiation of SNARK-based ATMS.
  • EdDSA over JubJub ready

· 2 min read
Sebastian Nagel

High-level summary

This week, the Hydra team has continued work on the mainnet compatibility of the hydra-node. They added a golden test suite for hydra-plutus scripts, added some detection of hydra-node misconfiguration, established a limit of 100 ADA per commit and other smaller tasks to prepare for a mainnet beta release.

Next week there will be a small team workshop to push for demonstrating a Hydra Head on the Cardano mainnet, ideally just in time for the monthly review meeting. See the hydra channels on the IOG Technical Community discord server for details.

What did the team achieve this week

  • Implement a 100 ADA hard-coded commit limit in the hydra-node #763
  • Pay back funds to faucet after smoke-test run #773
  • Setup custom github runner for smoke-tests on mainnet #775
  • Created golden tests to assure the script hash stays the same between changes #772
  • Removed hardcoded error codes in plutus scripts #768
  • Detect misconfiguration of a hydra-node given persistent state #767
  • Met with potential users for hydra-pay
  • Prepared hydra workshop

What are the goals of next week

  • Hydra monthly meeting
  • Open a multi-party head on mainnet
  • Complete mainnet compatibility feature

· 2 min read
Jared Corduan

High level summary

We made further progress on the conway ledger era. In particular, we expanded the ledger API significantly, including lots of governance features. We also made progress on the specification and corresponding work in the Haskell implementation.

We also continued to integrate the latest ledger packages into cardano node and addressed technical debt.

Low level summary

Expanded ledger API

The ledger API was significantly expanded to include:

  • a lot of protocol parameter support
  • versioning support (type level ledger eras and protocol versions)
  • auxiliary data support
  • many new lenses
  • support for witnesses
  • support for conway governance

See pull-3328.

Conway ledger rules

We have made progress on the formal ledger specification for the Conway era. Moreover, the corresponding Haskell updates were also completed:

Incremental SPO/DRep stake distribution computation

We have a working (and correct) proof of concept for how to use the incremental lambda calculus to maintain several of the stake distributions incrementally. For the per-SPO distribution, this is a performance improvement. For the (conway) per-DRep distribution, this is will allow those who have delegated their votes to a DRep to have time to react to any votes that they disapprove of. (Sorry, no code to share just yet, more to come.)

Technical debt

· 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 improving the deltaQ tutorial, consulting on performance design, and the final version of the Djed paper.

Details

  • Preparing draft of DeltaQSD algebra paper for ICE 2023

  • Successful outcome of Marlowe consultancy leading to substantial improvement in performance

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

  • Camera ready version of Djed paper under preparation