Skip to content

Commit 79a5c91

Browse files
committed
Add limits and BLS papers
1 parent 0e7e374 commit 79a5c91

File tree

4 files changed

+43
-7
lines changed

4 files changed

+43
-7
lines changed

src/Hydra/Protocol/OffChain.tex

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ \section{Off-Chain Protocol}\label{sec:offchain}
1010
head members, parties or simply protocol actors.
1111

1212
\noindent The off-chain protocol coordinates BLS accumulator operations (see Section~\ref{sec:bls-accumulators})
13-
for partial fanout support. When UTxO sets are too large for single transactions,
14-
the off-chain protocol automatically falls back to partial distribution using
13+
for partial fanout support. When UTxO sets are too large for single transactions (see Section~\ref{sec:bls-accumulators}
14+
for limits details), the off-chain protocol automatically falls back to partial distribution using
1515
exclusion proofs, ensuring all UTxOs can be distributed across multiple transactions
1616
while maintaining cryptographic integrity.
1717

src/Hydra/Protocol/OnChain.tex

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,8 @@ \section{On-chain Protocol}\label{sec:on-chain}
1818
on-chain: \mtxInit{}~\ref{sec:init-tx}, \mtxCom{}~\ref{sec:commit-tx}, \mtxAbort{}~\ref{sec:abort-tx}, \mtxCollect{}~\ref{sec:collect-tx}, \mtxIncrement{}~\ref{sec:increment-tx}, \mtxDecrement{}~\ref{sec:decrement-tx}, \mtxClose{}~\ref{sec:close-tx}, \mtxContest{}~\ref{sec:contest-tx}, and \mtxFanout{}~\ref{sec:fanout-tx}. \\
1919

2020
\noindent The protocol uses BLS accumulators (see Section~\ref{sec:bls-accumulators}) to enable
21-
partial fanout when UTxO sets exceed transaction size limits. The \mtxCollect{} transaction
21+
partial fanout when UTxO sets exceed transaction size limits (see Section~\ref{sec:bls-accumulators}
22+
for limits details). The \mtxCollect{} transaction
2223
creates BLS accumulator commitments to UTxO sets, and \mtxFanout{} transactions use
2324
exclusion proofs to distribute subsets of UTxOs while maintaining cryptographic guarantees
2425
about the remaining UTxOs. \\
@@ -830,8 +831,8 @@ \subsection{Fan-Out Transaction}\label{sec:fanout-tx}
830831
Once the contestation phase is over, a head may be finalized by posting one or more
831832
\mtxFanout{} transactions (see Figure~\ref{fig:fanoutTx}), which
832833
distribute UTxOs from the head according to the latest state. The protocol first attempts
833-
a complete fanout of all UTxOs. If this fails due to transaction size limits, it automatically
834-
falls back to partial fanout, distributing a subset of UTxOs and proving the remaining UTxOs
834+
a complete fanout of all UTxOs. If this fails due to transaction size limits (see Section~\ref{sec:bls-accumulators}
835+
for limits details), it automatically falls back to partial fanout, distributing a subset of UTxOs and proving the remaining UTxOs
835836
are still valid. A fanout transaction consists of
836837
\begin{itemize}
837838
\item one input spending from $\nuHead$ holding the $\st$, and

src/Hydra/Protocol/Preliminaries.tex

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,10 +87,23 @@ \subsection{Public key multi-signature scheme}\label{sec:multisig}
8787
\subsection{BLS Accumulators for Partial Fanout}\label{sec:bls-accumulators}
8888

8989
\noindent To enable partial fanout when UTxO sets are too large for a single transaction,
90-
the protocol uses BLS (Boneh-Lynn-Shacham) accumulators that support partial distribution
90+
the protocol uses BLS (Boneh-Lynn-Shacham) accumulators~\cite{BLS2001,acc2018} that support partial distribution
9191
proofs. This allows distributing a subset of UTxOs while proving that the remaining
9292
UTxOs are still valid and can be distributed in subsequent transactions.
9393

94+
\noindent A UTxO set is considered too large for a single transaction when one or more of the following
95+
conditions occur:
96+
\begin{itemize}
97+
\item \textbf{Number of outputs:} The UTxO set contains more outputs than can fit in a single
98+
transaction. On Cardano, this limit is typically around 80 ada-only outputs for fanout transactions.
99+
\item \textbf{Total transaction size:} The serialized representation of all outputs, including
100+
their values, addresses, and datums, exceeds the maximum transaction size limit (e.g., 16KB on Cardano).
101+
\item \textbf{Asset complexity:} UTxOs containing many native assets or complex token structures
102+
increase the transaction size beyond acceptable limits.
103+
\item \textbf{Script references:} Large or numerous script references in outputs contribute to
104+
transaction size limits.
105+
\end{itemize}
106+
94107
\begin{definition}[BLS Accumulator]
95108
A BLS accumulator scheme provides the following operations:
96109
\begin{itemize}
@@ -113,7 +126,7 @@ \subsection{BLS Accumulators for Partial Fanout}\label{sec:bls-accumulators}
113126
\end{definition}
114127

115128
\noindent The BLS accumulator enables the protocol to handle large UTxO sets by automatically falling back
116-
to partial distribution when full fanout exceeds transaction size limits. The accumulator provides
129+
to partial distribution when full fanout exceeds transaction size limits (as defined above). The accumulator provides
117130
cryptographic guarantees that distributed UTxOs are valid and that remaining UTxOs are still
118131
available for future distribution.
119132

src/short.bib

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,25 @@ @inproceedings{utxo-ma
120120
and Joachim and Zahnentferner},
121121
year = 2020
122122
}
123+
124+
@article{BLS2001,
125+
Author = {Dan Boneh and Ben Lynn and Hovav Shacham},
126+
Title = {Short Signatures from the Weil Pairing},
127+
Journal = {Journal of Cryptology},
128+
Volume = {17},
129+
Number = {4},
130+
Pages = {297--319},
131+
Year = {2004},
132+
Note = {Extended version of ASIACRYPT 2001},
133+
Doi = {10.1007/s00145-004-0314-9}
134+
}
135+
136+
@inproceedings{acc2018,
137+
Author = {Benedikt B{\"u}nz and Stefano Chiesa and Pratyush Mishra and Nicholas Spooner},
138+
Title = {Recursive Proof Composition from Accumulation Schemes},
139+
Booktitle = {Theory of Cryptography},
140+
Pages = {401--430},
141+
Year = {2021},
142+
Note = {Universal accumulators for membership/exclusion proofs},
143+
Doi = {10.1007/978-3-030-90459-3_14}
144+
}

0 commit comments

Comments
 (0)