Hydra is the layer 2 scalability solution for Cardano, which aims to increase transaction speed through low latency and high throughput and minimize transaction cost.
Hydra Head is the first protocol of the Hydra family and embodies the foundation for more advanced deployment scenarios relying on isomorphic, multi-party state-channels. For an introduction to the protocol also check out these two blog posts
- Hydra – Cardano’s solution for ultimate Layer 2 scalability
- Implementing Hydra Heads: the first step towards the full Hydra vision
There are different flavors and extensions of the Hydra Head protocol, but let's start by looking at the full lifecycle of a basic Hydra Head, and how it allows for isomorphic state transfer between layer 1 and layer 2.
A Hydra Head is formed by a group of online and responsive participants. Participants initialize a Head by announcing several parameters on-chain, including the participants list. Then each of the participants commits unspent transaction outputs (UTXOs) from the Cardano main-chain to it, before all the UTXOs are collected and made available in a Hydra Head as initial state (
U0). At any moment before collecting, participants can also abort the process and recover their funds.
While open, they can use the Hydra Head via a hydra-node to submit transactions over the Head network. Transactions have the same format and properties as on the main-chain: they are isomorphic. When UTXO entries are spent, and new UTXO entries are created in a Hydra Head, all participants are required to acknowledge and agree on the new state in so-called snapshots (
U1..Un). Snapshots are not posted back onto the layer 1, but are only kept around by the participants.
Any participant can close the Head using a snapshot, when for example they wish to cash out on the mainnet, or if another party misbehaves or stalls the Head's evolution. There is a mechanism to contest the final state on the main chain. Ultimately, a fanout transaction distributes the final agreed state and makes available on the layer 1 what only existed virtually in the Head.
Any decentralized system is fundamentally limited in its scalability. This also
📄️ Layer 2 Solutions
What does layer 2 mean? What types of layer 2 solutions exist?
🗃️ Hydra Node Architecture
un élément|1 éléments
📄️ API Behavior
This page documents the behavior of a hydra-node at the API layer. That is, how the system behaves given ClientInputs and what ServerOutputs are produced in response to it. See also the API reference for more details about individual API messages. The only discrepancy is http POST /commit action which is not a state transition but a user action that submits a commit transaction which should produce Committed output.
📄️ Handling Rollbacks
Rollbacks are an integral part of the behaviour of the Cardano chain: Any application built on top of Cardano and synchronizing its behaviour with the chain must be prepared to occasionally observe such rollbacks and Hydra is no exception.
The specification is currently written in LaTeX and can be
And their answers!