Skip to main content

121 posts tagged with "hydra"

View All Tags

Hydra Team Update

· 3 min read
Noon van der Silk
Software Engineering Lead

High-level Summary

Big news is that we have merged the partial fanout work!. After many months of design and review, heads with large UTxO sets can now be fanned out in multiple steps, each verified on-chain via a BLS accumulator membership proof, with the chunk size determined dynamically by a binary search so each step packs in as many outputs as will fit. This removes the long-standing limit on UTxOs per head. Alongside that, the hydra-tui got a significant refactor, the test suite moved to tasty, and a handful of correctness fixes landed around cross-head event contamination and recovered deposits leaking back into L2.

What did the team achieve?

  • Merged partial fanout, including the on-chain validators, BLS accumulator membership proofs, and the PartialFanoutTx / FinalPartialFanoutTx transactions #2324
  • Made the fanout chunk size fully dynamic via binary search over fitting tx size, replacing the hardcoded threshold #2617
  • Significantly revised hydra-tui: pending-deposit recovery from Open and Closed/Final, dark/light theme toggle persisted to disk, event-history filter, tab navigation, and a per-tab rendering refactor #2590
  • Switched the test suite from hspec to tasty #2620
  • Validated headId in the aggregate function to prevent replayed events from a previous head corrupting the state of a newly opened one #2618
  • Fixed a bug where a recovered incremental-commit deposit could reappear in the L2 UTxO after sideloading a snapshot, making the same UTxO spendable on both L1 and L2 #2630, #2629
  • Made etcd writes more resilient to resolve a pumba-style network-partition test failure #2627
  • Bumped rust-accumulator to fix musl build issues #2622
  • Disabled nix store optimisation on CI to work around a macOS dyld issue #2626
  • Sped up repeated linting and normal building, and added a small CLAUDE.md #2625
  • Updated docs and changelog to reflect the partial fanout implementation, and documented the remaining large-UTxO limitation #2631

What's next?

  • Get a new release out!
  • Add a test that probes how large a UTxO set we can actually (partially) fan out #2616
  • Continue the still-open node-observing-unrelated-Heads deposit issue #2606
  • Land the user-friendly hydra-node configuration file #2581
  • Accept PaymentExtendedKey (HD wallet keys) #2583

Hydra Team Update

· 2 min read
Noon van der Silk
Software Engineering Lead

High-level Summary

This week the team shipped hydra-node 2.1.0 - a significant release that brings improved deposit security, the new SQLite-backed event store, a ~7% reduction in snapshot confirmation latency, and compatibility with cardano-node protocol version 12+. We encourage all operators to upgrade. Alongside the release, work continues on two long-standing items: partial fanout and a user-friendly configuration file for hydra-node to replace the current sprawl of command-line flags.

What did the team achieve?

  • Released hydra-node 2.1.0, which includes improved deposit security, the SQLite-backed event store, a ~7% reduction in snapshot confirmation latency, and compatibility with cardano-node protocol version 12+ release 2.1.0
  • Upgraded to cardano-api 11.1 / cardano-node 11.0.1 to support protocol version 12+ #2607
  • Switched from a lazy to a strict Map to reduce memory pressure during transaction processing #2599

What's next?

  • Continue work on partial fanout — choosing the UTxO set to fan out and final code review #2593, #2324, #2573
  • Reduce disk usage in hydra-node #2601, #2600
  • Investigate a node observing/persisting deposit events from unrelated Heads #2606
  • User-friendly hydra-node configuration via config file #2581
  • Accept PaymentExtendedKey (HD wallet keys) #2583

Hydra Team Update

· 2 min read
Noon van der Silk
Software Engineering Lead

What did the team achieve?

  • Continued progress on partial fanout, including KZG trusted setup with G1 accumulator commitments #2582, #2324
  • Potential performance improvement: switched from list to Seq for faster benchmark runs at higher tx counts #2597
  • Fixed file-handle explosion ("Too many open files") by closing connections properly #2588
  • Upgraded mithril compatibility and added a fallback so nix develop works on aarch64-darwin #2596, #2598
  • Updated the pumba flake so it builds on modern mac hardware #2602

What's next?

  • Continue work on partial fanout, set up a secure CRS and perform final code-review! #2573
  • Work on reducing disk usage #2601, #2600
  • Support the upcoming Dijkstra Era #2495
  • User-friendly hydra-node configuration via config file #2581
  • Accept PaymentExtendedKey (HD wallet keys) #2583

Hydra Team Update

· One min read
Noon van der Silk
Software Engineering Lead

What did the team achieve?

  • Continued progress on partial fanout #1667, #2538
  • Final touches on the "Directly Open Heads" feature #1329
  • Investigating a blocker when upgrading to cardano-api 10.21 #2520
  • Working on more resilient snapshots #2551

What's next?

  • Merge approach for resilient snapshots #2551
  • Merge "Directly Open Heads" #1329
  • Get more structure in our benchmarks #2439
  • Release 2.0.0!

Hydra Team Update

· One min read
Noon van der Silk
Software Engineering Lead

What did the team achieve?

  • Released version 1.3.0!
  • Continued great progress on partial fanout #1667, #2538
  • Fixed an issue found under high L2 transaction load #2519 (thanks Delta DeFi team!)
  • Improved logging when running the smoke-tests #2531

What's next?

  • Continue work on partial fanout
  • Get more structure in our benchmarks #2439
  • Support the upcoming Dijkstra Era #2495
  • Implement the "Directly Open Heads" feature; simplifying the protocol #1329
  • Upgrade to cardano-api 10.21 #2520