mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
58 lines
1.7 KiB
TeX
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}
|
|
|