You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/Hydra/Protocol/OnChain.tex
+39-39Lines changed: 39 additions & 39 deletions
Original file line number
Diff line number
Diff line change
@@ -1,14 +1,14 @@
1
1
\clearpage
2
2
\section{On-chain Protocol}\label{sec:on-chain}
3
3
\todo{Update figures}
4
-
\todo{Update fanoutTx.svg figure to show partial fanout concept - either complete distribution or partial distribution with remaining UTxOs}
4
+
\textcolor{red}{\todo{Update fanoutTx.svg figure to show partial fanout concept - either complete distribution or partial distribution with remaining UTxOs}}
5
5
6
6
\todo{Open problem: ensure abort is always possible. e.g. by individual aborts or undoing commits}
7
7
\todo{Open problem: ensure fanout is always possible, e.g. by limiting complexity of $U_0$}
8
-
\todo{Update UTxO set digest mechanism to support partial fanout when transaction size limits are exceeded}
9
-
\todo{Update combine function: change from simple hash to commitment scheme that supports partial distribution proofs}
10
-
\todo{Implement fallback mechanism: try full fanout first, fall back to partial fanout if transaction size limit exceeded}
11
-
\todo{Consider transaction chaining for seamless partial fanout execution}
8
+
\textcolor{red}{\todo{Update UTxO set digest mechanism to support partial fanout when transaction size limits are exceeded}}
9
+
\textcolor{red}{\todo{Update combine function: change from simple hash to commitment scheme that supports partial distribution proofs}}
10
+
\textcolor{red}{\todo{Implement fallback mechanism: try full fanout first, fall back to partial fanout if transaction size limit exceeded}}
11
+
\textcolor{red}{\todo{Consider transaction chaining for seamless partial fanout execution}}
12
12
13
13
\noindent The following sections describe the the \emph{on-chain} protocol
14
14
controlling the life-cycle of a Hydra head, which can be intuitively described
\todo{Consider partial recovery for deposit transactions when fractional deposits allow multiple UTxO and some are too small to recover individually}
411
+
\textcolor{red}{\todo{Consider partial recovery for deposit transactions when fractional deposits allow multiple UTxO and some are too small to recover individually}}
\caption{\mtxFanout{} transaction spending the $\stClosed$ head output and
851
-
distributing funds with outputs $o_{1} \dots o_{m+n+n'}$. The transaction can
851
+
distributing funds with outputs $o_{1} \dots o_{m+n+n'}$. \textcolor{red}{The transaction can
852
852
distribute either all UTxOs (complete fanout) or a subset (partial fanout) with
853
-
proofs that remaining UTxOs are still valid.}\label{fig:fanoutTx}
853
+
proofs that remaining UTxOs are still valid.}}\label{fig:fanoutTx}
854
854
\end{figure}
855
855
856
856
\noindent The state-machine validator $\nuHead$ is spent with
857
-
$\redeemerHead = (\mathsf{fanout}, m, n, n', \pi_{\eta}, \pi_{\alpha\Delta}, \pi_{\omega\Delta}, \eta'_{remaining})$, where:
857
+
\textcolor{red}{$\redeemerHead = (\mathsf{fanout}, m, n, n', \pi_{\eta}, \pi_{\alpha\Delta}, \pi_{\omega\Delta}, \eta'_{remaining})$}, where:
858
858
\begin{itemize}
859
859
\item$m$, $n$ and $n'$ are outputs to distribute from the $\stClosed$ state
860
-
\item$\pi_{\eta}$, $\pi_{\alpha\Delta}$, $\pi_{\omega\Delta}$ are partial distribution proofs for the distributed UTxO sets
861
-
\item$\eta'_{remaining}$ is the updated commitment containing remaining UTxOs
860
+
\item\textcolor{red}{$\pi_{\eta}$, $\pi_{\alpha\Delta}$, $\pi_{\omega\Delta}$ are partial distribution proofs for the distributed UTxO sets}
861
+
\item\textcolor{red}{$\eta'_{remaining}$ is the updated commitment containing remaining UTxOs}
862
862
\end{itemize}
863
863
The validator checks:
864
864
\begin{menumerate}
865
-
\item State transition: If all UTxOs are distributed, transition to $\stFinal$; otherwise remain in $\stClosed$ with updated accumulator:
865
+
\item\textcolor{red}{State transition: If all UTxOs are distributed, transition to $\stFinal$; otherwise remain in $\stClosed$ with updated accumulator:}
866
866
\[
867
-
(\stClosed,\cid,\hydraKeys,\Tcontest,v, s,\eta,\eta_\alpha\Delta,\eta_\omega\Delta,\contesters,\tfinal) \xrightarrow[m,n,n',\pi_{\eta},\pi_{\alpha\Delta},\pi_{\omega\Delta}]{\stFanout} \stFinal\text{ or } \stClosed'
867
+
\textcolor{red}{(\stClosed,\cid,\hydraKeys,\Tcontest,v, s,\eta,\eta_\alpha\Delta,\eta_\omega\Delta,\contesters,\tfinal) \xrightarrow[m,n,n',\pi_{\eta},\pi_{\alpha\Delta},\pi_{\omega\Delta}]{\stFanout} \stFinal\text{ or } \stClosed'}
868
868
\]
869
-
\item The first $m$ outputs are distributing a subset of funds according to $\eta$. The exclusion proof $\pi_{\eta}$ proves that the distributed outputs $S_{\eta} = \{o_1, \ldots, o_m\}$ can be removed from accumulator $\eta$:
869
+
\item\textcolor{red}{The first $m$ outputs are distributing a subset of funds according to $\eta$. The exclusion proof $\pi_{\eta}$ proves that the distributed outputs $S_{\eta} = \{o_1, \ldots, o_m\}$ can be removed from accumulator $\eta$:}
\item The following $n$ outputs are distributing a subset of funds according to
874
-
$\eta_\alpha\Delta$. The exclusion proof $\pi_{\alpha\Delta}$ proves that the distributed outputs $S_{\alpha\Delta} = \{o_{m+1}, \ldots, o_{m+n}\}$ can be removed from accumulator $\eta_{\alpha\Delta}$:
873
+
\item\textcolor{red}{The following $n$ outputs are distributing a subset of funds according to
874
+
$\eta_\alpha\Delta$. The exclusion proof $\pi_{\alpha\Delta}$ proves that the distributed outputs $S_{\alpha\Delta} = \{o_{m+1}, \ldots, o_{m+n}\}$ can be removed from accumulator $\eta_{\alpha\Delta}$:}
\item The next $n'$ outputs are distributing a subset of funds according to
879
-
$\eta_\omega\Delta$. The exclusion proof $\pi_{\omega\Delta}$ proves that the distributed outputs $S_{\omega\Delta} = \{o_{m+n+1}, \ldots, o_{m+n+n'}\}$ can be removed from accumulator $\eta_{\omega\Delta}$:
878
+
\item\textcolor{red}{The next $n'$ outputs are distributing a subset of funds according to
879
+
$\eta_\omega\Delta$. The exclusion proof $\pi_{\omega\Delta}$ proves that the distributed outputs $S_{\omega\Delta} = \{o_{m+n+1}, \ldots, o_{m+n+n'}\}$ can be removed from accumulator $\eta_{\omega\Delta}$:}
\item If not all UTxOs are distributed, the remaining accumulator $\eta'_{remaining}$ is correctly computed by removing the distributed UTxOs from the original accumulators.
883
+
\item\textcolor{red}{If not all UTxOs are distributed, the remaining accumulator $\eta'_{remaining}$ is correctly computed by removing the distributed UTxOs from the original accumulators.}
884
884
\item Transaction is posted after contestation deadline $\txValidityMin > \tfinal$.
885
885
\item All tokens are burnt
886
886
$|\{\cid\mapsto\cdot\mapsto -1\}\in\txMint| = n + 1$.
0 commit comments