Skip to main content

· 2 min read
Alexey Kuleshevich

High level summary

This period we added some last minute changes that were necessary for improving resilience and safety of Conway implementation:

  • Authorization of hot credentials for constitutional committee members is now only possible for cold credentials that are present in the ledger state, either in the current committee or in one of the proposals.
  • Voting is restricted to entities that are present in the ledger state
  • DRep votes will be removed whenever DRep unregisters
  • Pricing model for the size of reference scripts was changed from linear to exponential. Moreover, extra limits on the total size of reference scripts being used have been put in place.

Low level summary

Conway

  • pull-4430 - CostModel json parsing
  • pull-4438 - Fix UTXOW era in diagrams for Conway
  • pull-4443 - Make reference scripts fee grow exponentially with size
  • pull-4436 - Authorize known cc members only
  • pull-4433 - Improve resilience of future PParams
  • pull-4453 - Tx refscript size check
  • pull-4452 - Prevent votes for non existent entities
  • pull-4450 - BBODY refscript size check

Testing

  • pull-4417 - constrained-generators: use consistent warning pragma
  • pull-4431 - constrained-generators: fix flakyness in set generator
  • pull-4312 - Convert AlonzoValidTxUTXOW to ImpTest (Part 1)
  • pull-4386 - Increase the size of the committee for testing
  • pull-4425 - Conformance test plumbing: EPOCH
  • pull-4442 - Update executable-spec SRP
  • pull-4405 - Add more scripts to alonzo utxosspec
  • pull-4445 - Conformance tests plumbing: NEWEPOCH
  • pull-4460 - Remove unnecessary allocation in non-integral reference code
  • pull-4457 - Conformance: POOL: Translate and adjust

Infrastructure and releasing

· 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 completed the low-latency certification with the retrieval of transactions using the chain sync mini-protocol and Pallas and worked on fixing some bugs occurring during the warmup phase of the signer and aggregator. They also worked on supporting the new Cardano node version 8.12 and kept redacting a draft CIP for the diffusion of Mithril signatures through the Cardano network.

Finally, the team fixed a bug that prevented the parsing of some blocks in the SanchoNet network and made some optimizations on the databases of the signer and aggregator.

Low level overview

  • Completed the issue Import Cardano transactions with ChainReader #1705
  • Completed the issue Cardano signatures are not produced on testing-sanchonet #1750
  • Completed the issue SQLite WAL files are not truncated in signer and aggregator #1707
  • Completed the issue Conditional embedding of Cardano CLI in Docker images #1725
  • Worked on the issue CIP for Mithril signature diffusion through Cardano network #1775
  • Worked on the issue Optimize Cardano transaction prover performances with parallelization #1756
  • Worked on the issue Upgrade Cardano node 8.12.2 #1787
  • Worked on the issue Aggregator/Signer preload transactions when Cardano transactions certification is not activated #1782
  • Worked on the issue Cardano transaction importer does not import the last block advertised as certified #1785
  • Worked on the issue Lint Markdown/JavaScript files in repository #1754

· One min read
Damian Nadales

High level summary

  • Supported debugging activities related to bootstrap nodes.
  • Merged various improvements to the db-X tools; in particular, db-truncater (which is used regularly by community members on sanchonet) got much faster.

· 2 min read
Jean-Philippe Raynaud

High level overview

This week, the Mithril team released the threat modeling explainer for the documentation website. They also continued implementing the certification of Cardano transactions in Mithril networks and the low-latency certification with the retrieval of transactions using the chain sync mini-protocol and Pallas. Additionally, the team started redacting a draft CIP for the diffusion of Mithril signatures through the Cardano network.

Finally, they fixed a bug that prevented the verification of the transactions included in the last certified block and improved the WASM client's documentation.

Low level overview

  • Completed the issue Threat modeling and risk analysis #1350
  • Completed the issue Implement database connection pooling for Cardano transaction repository #1760
  • Completed the issue Import Cardano transactions by sequences of block ranges #1766
  • Completed the issue Limit Cardano transactions prover input #1757
  • Completed the issue Transactions of the block number in the artifact are never certified by the prover #1762
  • Completed the issue Add missing pre-requisite to build WASM client #1753
  • Worked on the issue Import Cardano transactions with ChainReader #1705
  • Worked on the issue CIP for Mithril signature diffusion through Cardano network #1775
  • Worked on the issue Optimize Cardano transaction prover performances with parallelization #1756
  • Worked on the issue Cardano signatures are not produced on testing-sanchonet #1750
  • Worked on the issue Lint Markdown/JavaScript files in repository #1754

· 4 min read
Michael Karg

High level summary

  • Benchmarking: Release benchmarks for Node 8.12.0; DRep benchmarks with 100k DReps.
  • Development: Merged a performance fix on 8.11; kicked off development of governance action workload.
  • Workbench: Adjusted automations to latest 8.12 Conway features and Plutus cost model; implementation of CIP-69 and CIP-117 for our tooling is in validation phase.
  • Tracing: Work on metrics naming ongoing. Factoring out RTView component is completed and has entered testing.
  • IOI Tech Meetup: Our team contributed two presentations at the meetup in Zurich; worked on community report of UTxO scaling benchmarks.

Low level overview

Benchmarking

We've run and analyzed a full set of release benchmarks for Node versions 8.12.0. In comparison with the latest mainnet release 8.9.3, we could not observe any regressions. In fact, 8.12.0 was able to deliver equal network performance at a slightly reduced resource cost - both for CPU and memory.

Another benchmark of the Conway ledger with large amounts of DReps has been performed. This time, 100000 DReps were chosen - this amount aims to simulate a scenario where lots of self-delegation takes place. While a performance impact is observable in this instance, we can still see that the number of DReps scales well overall, and poses no concern for network peformance.

Development

We have contributed and merged a performance fix on 8.11 which adresses a regressing metric in the forging loop. The regression was only observable under specific conditions. Benchmarks on 8.12 have already confirmed the fix to be successful.

We've kicked off governance action workloads for benchmarking. This will be an entirely new workload type for Conway era, targeting performance measurements of its decentralized decision making process. The workload will feature registering proposals, acting as multiple DReps to vote on active proposals, vote tallying and proposal enactment. We're very grateful for the Ledger team's helpful support so far in creating a workload design for benchmarking - one that evenly stresses the network over extended periods of time.

Workbench

The workbench automations have been upgraded to handle Node 8.12 and the corresponding integrations of Cardano API and CLI.

Furthermore, we've updated to the latest PlutusV3 costmodel in our benchmarks - as well as implemented CIP-69 and CIP-117 for all our PlutusV3 benchmarking scripts, pending validation by the Plutus team.

Tracing

The work on aligning of metrics naming and semantics of new and legacy tracing is ongoing. Additionally, we're adding a handful of metrics to the new tracing system which currently exist in legacy tracing only.

Factoring out the RTView ("real-time view") component of cardano-tracer in the new tracing system has finished. This includes a considerable refactoring of cardano-tracer's codebase, so that we're currently running test on the new codebase. Isolating RTView is due to its being in prototype stage for too long, and the design decisions taken. In the short term, this will make several package dependencies optional, which have become troublesome for CI, as well as making cardano-tracer more lightweight. RTView remains as an opt-in.

IOI Tech Meetup

Our entire team traveled to Zurich, Switzerland to attend ZuriHac'24 and the IOI Tech Meetup. It was fantastic to meet everyone in person, and we all had an amazing and very productive time. A big Thank You to everyone involved in making that happen, and making it a success.

We contributed two presentations for the meetup: a thourough introduction of the new tracing system aimed at developers - as it's not tailored exclusively to cardano-node, but can be used in other (Haskell) services as well. And secondly, an overview over the benchmarking framework based on Quantitative Timeliness Agreements which we're building - as well as a show-and-tell of our prototype, implementing part of said framework. We're grateful for the great interest and feedback from all the participants.

Last not least, we worked on creating a community report of the UTxO scaling benchmarks performed during March and April - to be released soon.