Files
zeekay abf99d05fc papers: reorganize into per-paper dirs, add Antje Worring as co-author
Restructured from flat .tex/.pdf files into per-paper subdirectories.
Added Antje Worring as co-author on all papers.
Synced PDFs to pdfs/ for download site.
2026-04-18 21:50:07 -07:00

58 lines
1.7 KiB
TeX

\section{Implementation}
\subsection{mpckeyd Daemon}
\begin{algorithmic}[1]
\State \textbf{function} \textsc{MpckeyMain}()
\State $shares \gets \text{LoadKeyShares}()$
\State $xchainWatcher \gets \text{StartWatcher}()$
\State
\While{true}
\State $swaps \gets xchainWatcher.\text{GetPendingSwaps}()$
\For{each $swap \in swaps$}
\State $assetType \gets swap.\text{GetAssetType}()$
\State $share \gets shares[assetType]$
\State
\If{$assetType = \texttt{BTC}$}
\State $sig \gets \text{MuSig2Sign}(swap, share)$
\ElsIf{$assetType = \texttt{ETH}$}
\State $sig \gets \text{CGG21Sign}(swap, share)$
\ElsIf{$assetType = \texttt{XRPL}$}
\State $sig \gets \text{FrostSign}(swap, share)$
\EndIf
\State
\State $\text{BroadcastShare}(sig)$
\State
\If{$\text{IsLeader}()$ and $\text{HasQuorum}()$}
\State $aggSig \gets \text{AggregateShares}()$
\State $\text{SubmitSwapSigTx}(swap.ID, aggSig)$
\EndIf
\EndFor
\State $\text{Sleep}(100\text{ms})$
\EndWhile
\State \textbf{end function}
\end{algorithmic}
\subsection{Key Management}
\textbf{Distributed Key Generation:}
\begin{itemize}
\item Performed during validator onboarding
\item No trusted dealer (all keys generated collaboratively)
\item Shares stored in encrypted HSM or TEE
\item Regular key rotation (every 90 days)
\end{itemize}
\textbf{Share Storage:}
\begin{itemize}
\item AES-256 encryption at rest
\item Hardware security module (HSM) support
\item Trusted execution environment (TEE) integration
\item Multi-layer access control
\end{itemize}