Files
papers/lux-secure-messaging/sections/06-mpc-attestation.tex
zeekay 4a753bb639 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

33 lines
1.5 KiB
TeX

\section{MPC Attestation}
Messages are not self-authenticating. An MPC committee of $n$ nodes provides threshold attestation.
\subsection{Signing Protocol}
The MPC committee uses CGGMP21~\cite{cggmp2021} for ECDSA threshold signing (EVM-compatible chains) and FROST~\cite{frost2020} for Schnorr threshold signing (non-EVM chains).
For a message $M$ with hash $H = \text{keccak256}(\text{abi.encode}(M))$:
\begin{enumerate}[leftmargin=2em]
\item Each MPC node independently verifies the source chain event (deposit confirmation, finality).
\item Each node that confirms the event produces a signature share over $H$.
\item The coordinator collects $t$-of-$n$ shares and produces the threshold signature $\sigma$.
\item The message $(M, \sigma)$ is submitted to the destination chain.
\end{enumerate}
\subsection{Verification on Destination}
The destination chain verifier holds the MPC committee's public key (registered on the P-Chain). Verification is a single \texttt{ecrecover} (ECDSA) or Schnorr verification---identical to verifying a single signature. The threshold structure is invisible to the verifier.
\subsection{Key Rotation}
MPC key rotation occurs via DKG on the M-Chain:
\begin{enumerate}[leftmargin=2em]
\item New key shares are generated via proactive secret sharing.
\item The new public key is registered on the P-Chain.
\item A transition period accepts signatures from both old and new keys.
\item After the transition period, old keys are deprecated.
\end{enumerate}