Skip to main content

Ledger Team Update

· 3 min read
Alexey Kuleshevich
Ledger Team Software Engineer

High level summary

Major technical debt items have been taken care of during this period:

  • We've finalized the adjustment of mechanism of how we retain the original bytes of a transaction during deserialization, which will have positive impact on performance as well as correctness of our transaction deserializers. This was an especially necessary task to handle for the upcoming work on Nested Transactions
  • We finished adjusting the representation of CertState, which is the part of the ledger state responsible for managing the state of entities that are manipulated with transaction certificates. This representation now more accurately reflects the difference between pre vs post-Conway eras.
  • We did a minor performance improvement of transaction size calculation
  • Improved the MemoBytes interface to disallow unsafe construction and improved the consistency of transaction related modules.
  • Did AccountState type rename as preparation for potential promotion of reward accounts to full blown accounts, which might be needed for Leios later down the road.

We've also accomplished a very nice simplification to our constraint based generation framework. Fixed our example Plutus scripts that we use for testing. Got rid of a couple of redundant Byron test packages, which were causing rebuilds of the same code twice and caused unnecessary maintenance overhead. Besides that we also did some other minor quality of life improvements to the Ledger codebase.

Low level summary

Features

Testing

  • pull-4954 - Add expectTxSuccess to ShelleyEraImp and use it in trySubmitTx
  • pull-4958 - Update spec's code location
  • pull-4921 - Refactor the constrained generators to get rid of the Fn stuff
  • pull-4972 - Fix and bump cardano-ledger-executable-spec
  • pull-4923 - Update V3 scripts in plutus-preprocessor to use the new Data api

Infrastructure and releasing

  • pull-4956 - Convert byron test packages to sublibraries
  • pull-4957 - Add script for bumping CHANGELOGS post-release
  • pull-4965 - Expose Byron CDDLs in Test.Cardano.Chain.Binary.Cddl

Mithril Team Update

· 2 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, some members of the Mithril team attended a workshop on the Cardano node diversity in Paris.

They continued adapting the infrastructure to support the aggregator’s prototype ‘follower’ mode and focused on signing ancillary files in the Cardano database snapshots with an IOG key. They also completed the implementation for recording the origin of requests made to the aggregator API.

Finally, the team continued refactoring the STM cryptographic library to improve clarity and maintainability and started implementing a proof of concept for the Mithril/ALBA aggregation proof system.

Low level overview

  • Worked on the issue Sign ancillary files with IOG key #2362
  • Worked on the issue Adapt infrastructure for multiple aggregators with leader/follower signer registration #2391
  • Worked on the issue Re-organize STM library structure #2369
  • Worked on the issue Mithril/ALBA aggregation proof system PoC #2403
  • Worked on the issue Rollout Cardano Database v2 feature #2409
  • Worked on the issue DMQ signature diffusion prototype #2402

Consensus Team Update

· 2 min read
Damian Nadales
Consensus Team Lead

High level summary

  • Well-Typed has presented the penultimate milestone for the lsm-tree library. Table unions are now fully supported, tests include IO-error injection, and compatibility across Linux, Windows, and macOS has been demonstrated.
    • The next milestone will finalize the library's development, enabling its integration as a persistent backend for storing ledger state.
  • Several Consensus team members attended the Peras workshop. There is a brief presentation that can be accessed by following this link (password is GDdL*6M%). A design and implementation plan has been drafted. The next steps for Peras involve a decision by relevant stakeholders (Intersect Technical Steering Committee, involving SPOs and users) regarding the tradeoffs inherent to the protocol, such as additional operational costs, rewards and protocol parameterization regarding settlement times.
  • We held our technical working group meeting (recording), where we discussed:
    • The possibility of incorporating batch VRF support into ouroboros-consensus.
    • CDDL definition for Consensus: draft PR and next steps.
      • Should we support for NTC for older eras? (#1429).
  • Exposed a function that asks Consensus for the versions in which a particular query is supported, offloading this logic from cardano-api (#1437).
  • Exposed Byron cddls to be used from Consensus (#4965).
  • Added QueryStakePoolDefaultVote for 10.3 ([#1434](https://github.com/IntersectMBO/ouroboros-consensus/pull/1434 release consensus for node 10.3)).

Hydra Team Update

· 2 min read
Noon van der Silk
Software Engineering Lead

High-level summary

The team has been working hard on some bugfixes and investigations, as well as a new feature that can be used to "un-stuck" a Hydra head: side-loading snapshots. We're working on some documentation of this feature, and in the coming weeks we will merge several bugfixes, and an implementation of the "Withdraw 0" trick, which will turn out to be very convenient for those wishing to use custom plutus operations on the L2 ledger but still retain the ability to fanout.

What did the team achieve?

  • New --advertise option to bind to public IPs #1874
  • New feature: Side-loading of a snapshot #1858
  • Mirror node investigation #1859
  • Bugfix for memmory reduction #1917

What's next?

  • Documentation for the side-loading snapshot feature #1912
  • Tighten security options of the networking layer #1867
  • Publishing scripts with blockfrost #1668
  • Withdraw 0 trick in L2 ledger #1795
  • Various bugfixes #1916, #1924, #1913, #1915
  • More work on Blockfrost and continued support of Hydra users

Mithril Team Update

· 2 min read
Jean-Philippe Raynaud
Mithril Tech Lead

High level overview

This week, the Mithril team released the 2513.0 distribution, which supports Cardano node v.10.2.1 and includes various bug fixes and improvements.

They continued adapting the infrastructure to support the aggregator’s prototype ‘follower’ mode and focused on signing ancillary files in the Cardano database snapshots with an IOG key. They also worked on recording the origin of requests made to the aggregator API.

Finally, the team updated the CIP-0137 mini-protocols and implementation plan and kept refactoring the STM cryptographic library for improved clarity and maintainability.

Low level overview

  • Released the new distribution 2513.0
  • Published a dev blog post about the Distribution 2513 availability
  • Updated the CIP-0137 mini-protocols
  • Completed the issue Release 2513 distribution #2332
  • Worked on the issue Sign ancillary files with IOG key #2362
  • Worked on the issue Record origin of client requests in metrics #2382
  • Worked on the issue Adapt infrastructure for multiple aggregators with leader/follower signer registration #2391
  • Worked on the issue Re-organize STM library structure #2369