Skip to main content

· 3 min read
Alexey Kuleshevich

High level summary

This time around we continued on testing the Conway era and improving our conformance tests. Thanks to this extensive testing we found and fixed a few more bugs in the Conway implementation. We fixed bugs related to DRep expiry and the choice of correct threshold for the committee voting. One important feature that was implemented is ignoring the minimun committee size during the bootstrap phase, in order to avoid a deadlock situation in case that enough committeee members were to resign. We've also improved the correctness of our CDDL specification and improved the safety by restricting some of the types of protocol parameters.

Low level summary

Conway

  • pull-4350 - Add identity instance for Inject
  • pull-4361 - Fixed a bug in RATIFY
  • pull-4358 - DRep expiry update with number of dormant epochs
  • pull-4365 - Create pool stake distribution query for voting
  • pull-4376 - Ignore ppCommitteeMinSize during bootstrap
  • pull-4364 - DRep state query and related tests
  • pull-4357 - Specify numeric ranges explicitly in conway cddl files

Testing and formal spec

  • pull-4339 - constrained-generators: introduce tools for controlling test case distribution
  • pull-4348 - Conformance: GOVCERT
  • pull-4213 - Utxow Predicate failure tests
  • pull-4351 - Enable retrying flaky tests in nightly CI
  • pull-4345 - constrained-generators: Add explanation :: [String] -> Pred fn -> Pred fn
  • pull-4362 - Threshold translation in conformance testing
  • pull-4369 - constrained-generators: Add flip_ to avoid having to add new native functions
  • pull-4377 - constrained-generators: propagate information backwards in the solver
  • pull-4389 - Fixed issue #4340. Problem with futurePParams not adequate in Conway.
  • pull-4378 - Conformance: POOL
  • pull-4388 - Improved the translation of PParamUpdate in conformance
  • pull-4355 - Fix order of arguments to verifyVrf

Infrastructure and releasing

  • pull-4352 - Remove dependency on deprecated ansi-wl-print package
  • pull-4344 - constrained-generators: identify and fix an issue with big bodies to ifElse
  • pull-4338 - Add conformance testing for ENACT
  • pull-4354 - Added conformance test for DELEG
  • pull-4367 - Fixed 8.10 not building
  • pull-4368 - Ensure GitHub CI fails when tests are skipped due to a build failure
  • pull-4373 - Add -rtsopts to all test suites

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team continued implementing the certification of Cardano transactions in Mithril networks. They improved the throughput of the prover route of the aggregator by using resource pooling and made progress on low-latency certification by transitioning to a chain point-based beacon, which allows for faster transaction signing. They also kept investigating prover performance bottlenecks, worked on fixing a bug that caused unsigned transactions to appear as signed, and continued implementing the import of transactions with the ChainSync mini-protocol and Pallas.

Additionally, the team started preparing the threat modeling explainer for the documentation website and kept investigating some Cardano node error messages that could be caused by how the Pallas client handles connections to mini-protocols.

Low level overview

  • Completed the issue Implement Resource Pooling for Block Range Merkle maps #1698
  • Completed the issue Sign Cardano transactions with ChainPoint based beacon #1697
  • Completed the issue Cardano transactions prover performances drop with more than 5 transactions #1722
  • Worked on the issue Import Cardano transactions with ChainReader #1705
  • Worked on the issue Client verification fails with an already stored but non certified yet transaction #1719
  • Worked on the issue Computation of Merkle proof has bottleneck with multiple transactions #1730
  • Worked on the issue Threat modeling and risk analysis #1350
  • Worked on the issue Release 2423 distribution #1695
  • Worked on the issue Mithril Signer Local Error Policy : Error 182 - MuxError #1632

· 2 min read
Carlos LopezDeLara

2024-05-13 - 2024-06-05

High level summary

CARDANO NODE

  • In order to avoid an accidental hardfork, when "ConwayGenesisFile" is not set in the node configuration file, by default the node can only understand protocol version 8 (Babbage era).

CARDANO CLI

  • query protocol-parameters now shows Conway era protocol parameters when in Conway.
  • transaction view now shows proposales and votes inside a transaction body.
  • Release of cardano-cli 8.23.1.0
  • We now publish pre-compiled binaries of each release together with the corresponding SHA256Sum.

CARDANO-API

  • Release of 8.46.0.0

Details

cardano-cli

cardano-api

  • Release cardano-api-8.46.0.0
    • Updated cardano-ledger, ouroboros-consensus and plutus packages.
    • Added FailT dependency.
    • Updated conwayGenesisDefaults and alonzoGenesisDefaults.
    • Changed CostModel to use Int64 instead of Integer.
    • Fixed ProtocolParameters golden test to account for the Integer -> Int64 change in the CostModel. (breaking, test) PR 523

cardano-node

cardano-testnet

· One min read
Damian Nadales

High level summary

  • Updated UTXO-HD to use simple diffs which drastically improved the mempool benchmarks (#1114).
  • Helped quickcheck-state-machine to release version 0.10.0 (#48). We rely on this library for our high-assurance property-tests.
  • Rebased UTXO-HD on top of node 8.11 (#1121). A replay with the in-memory backend took 5:05 hours up to slot 124M.

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team released a new Mithril protocol insights dashboard and a new explorer page displaying active and deregistered SPOs for the latest Cardano epochs. They also continued implementing the certification of Cardano transactions in Mithril networks by improving the throughput of the prover route of the aggregator and making progress on low-latency certification by completing the implementation of a chain block reader from the Cardano mini-protocol with Pallas.

Additionally, the team started working on a new beacon for signing Cardano transactions based on the chain point. Finally, they refactored the persistence library, enhanced their testing tools for Cardano transactions, and fixed a block parsing problem that prevented the signature of Cardano transactions in the test networks.

Low level overview

  • Released the Mithril Protocol Insights Dashboard
  • Completed the issue Prototype optimizations for increasing Cardano transactions proof generation throughput #1687
  • Completed the issue Retrieve Cardano blocks with chainsync in pallas PoC #1590
  • Completed the issue Explorer display in/out SPOs in registered signers page #1686
  • Completed the issue Create a test Cardano transactions builder #1667
  • Completed the issue Cardano signatures are not produced on testing-sanchonet and testing-mainnet #1681
  • Completed the issue Remove snapshot command in client CLI #1690
  • Completed the issue Block Streamer returns ChainScannedBlocks #1704
  • Completed the issue Remove connections coupling with providers in database #1711
  • Worked on the issue Implement Resource Pooling for Block Range Merkle maps #1698
  • Worked on the issue Sign Cardano transactions with ChainPoint based beacon #1697
  • Worked on the issue Import Cardano transactions with ChainReader #1705
  • Worked on the issue Mithril Signer Local Error Policy : Error 182 - MuxError #1632