1 of 18

20 September 2023

Monthly review meeting

September 2023

Report | Recording

HYDRA

HYDRA | September 2023 |

2 of 18

Agenda

  • Demos

  • Hydra/Mithril = Cardano scaling workshop

  • Hydra roadmap update

  • Bits and pieces from Hydra Development

  • Mithril roadmap and project status�
  • Current use cases and open source contributions

2

HYDRA | September 2023 |

3 of 18

Demo

  • Workshop experiments

    • Aiken commit scripts

    • “Shallow” cardano-node

3

HYDRA | September 2023 |

4 of 18

Cardano Scaling workshop in Nantes, France

  • 3 days, 12 people (Eng / Arch / Delivery / Product), in Nantes, France
  • Workshop followed Open Space principles: Agenda set by participants according to what they want to focus on

4

  • Some topics covered:
    • Mithril & Hydra use cases
    • Synergies between teams and products
    • Coding experiments: Kupo x Hydra, Aiken smart contracts, Connecting to node in Rust…
    • Tezos & OCaml
    • Organising documentation
  • More details to be published soon

HYDRA | September 2023 |

5 of 18

Hydra Roadmap Current - ex ideas

5

HYDRA | September 2023 |

6 of 18

Hydra Roadmap Current

6

HYDRA | September 2023 |

7 of 18

Roadmap Previous - ex ideas

7

HYDRA | September 2023 |

8 of 18

Roadmap Previous

8

UPDATE

HYDRA | September 2023 |

9 of 18

Delivered features

  • Update tutorial and include Mithril #997
    • Make tutorial work with latest version of hydra-node
    • Support a wide range of platforms
    • Ensure it’s kept up-to-date (using continuous integration)
    • Preparation for Hydra master-class at RareEvo

  • Support InlineScriptDatum in new async committing API #1043
    • User submitted request
    • Enhanced the API to cover also these cases

9

HYDRA | September 2023 |

10 of 18

Current features

  • Hydra network resilience #118
    • Improves liveness of an open head
    • Allows for more robust operation
    • Likely done via a configurable message re-submission mechanism
    • May need to switch the layer two network protocol
      • should do that earlier than later

  • Hydra node software & protocol updates #191
    • Ensures upgrade paths for Hydra components exist
    • No accidental break of interfaces
    • Versioning and reporting incompatibility
    • Requires some further grooming
      • Golden tests of hydra-plutus was the first step

10

HYDRA | September 2023 |

11 of 18

Hydra Development: Network resilience

  • Hydra resiliency at the node level
    • Bob persists its state
    • On failure/recovery it recovers its state

  • Hydra resiliency at the head level
    • Can not distinguish between failure and non cooperation
    • Should close the head in presence of non cooperation
    • Ensure safety but not liveness
    • Can we distinguish between failure and non cooperation?

  • Exploring more resilient network stack

11

HYDRA | September 2023 |

12 of 18

Hydra Development: Incremental commits/decommits

  • First experiment was convincing that off-chain / node logic is easily amenable
  • Groomed and split in two
    • Incremental commit#199

    • Incremental decommit#1057

  • Currently: Review design with researchers

12

HYDRA | September 2023 |

13 of 18

Hydra Development: Refactor chain state

  • Avoid recursive type in persisted chain state
    • We have refactored this to be kept as a non-empty history.

  • Backward compatible change
  • Smaller persistence footprint
    • Now the chain state persisted is only individual points of the chain state instead of the recursive history.
  • The interface between chain and logic layer stayed the same

13

HYDRA | September 2023 |

14 of 18

Mithril status

Recent changes:

  • Client: Concurrent download and unpacking of the snapshots (v2335.0)
  • Aggregator: New compression of snapshot reducing the size by ~%40 (to be released)

Upcoming:

  • Investigate UTXOs data type

14

Total

Mithril

Active Stake

~22B Ada

1.29B Ada (5.7%)

#SPO’s

2606

75 (2.9%)

HYDRA | September 2023 |

15 of 18

Mithril roadmap

15

Releases

Mithril Beta

Mithril 1.0

Mithril 2.0

Mithril 3.0

Goal

Mainnet integration and testing

Core functionalities and data types

Decentralized aggregator

Full security

Features

  • Sign full node snapshots
  • Lace Integration
  • Bug fixing and improvements
  • Sign UTXO set
  • Incremental snapshot
  • Decentralized key registration
  • Multiple aggregators
  • Sign new data types (ledger state, stake distribution, rewards, protocol parameters)
  • P2P network
  • Cardano Node Integration

HYDRA | September 2023 |

16 of 18

Open source contributions

  • Hydra: Lightning network-style payments use case write-up by @k-solutions

  • Aiken: Started an emacs aiken-mode by @ch1bo (in course of our experiments)

  • Hydra: Small fix in the docs (from workshop) by @caike

  • Mithril: Community contributed feature ideas

16

HYDRA | September 2023 |

17 of 18

Current scaling use cases

  • Hypix - productized hydraw�
  • Book.io - scalable minting and distribution of tokenized books�
  • Midnight - dust airdrop and side-chain operatio�
  • SingularityNet - pay-per-use API / Cardano port of an existing Ethereum solution�
  • SundaeLabs - scaling their DEX using gummiworm / hydra ledger-only as validators�
  • Emurgo/Obsidian - general interest in creating a payment channel network

17

HYDRA | September 2023 |

18 of 18

Questions & Feedback

Report | Recording

HYDRA

HYDRA | September 2023 |