mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
Sweep across the non-Tier-1 paper catalogue (Tier-1 owned by parallel
agent and excluded). All 113 processed papers already had luxcover
wired up; this commit fixes 14 build breakers and produces fresh
PDFs across the catalogue.
Fixes:
- lux-blockchain-scaling-laws: em-dash inside lstlisting -> --
- lux-corona-pq: stale \input pointing at 03-the-corona-scheme renamed
to 03-the-corona-scheme (file already renamed on disk)
- lux-lattice-cryptography-primer: same Corona->Corona rename
- lux-formal-verification-lean4: Lean source uses unicode (×, ∀, ∃, ∈,
∧, ∨, ∩, ≠, ⟨, ⟩, ·, ¬) inside lstlistings. Added a literate map
so listings render the math glyphs without UTF-8 fault.
- lux-id-did-specification: ✓/✗ in tabular replaced with \ding{51}
/ \ding{55} (pifont). Added pifont package.
- lux-ntt-simd-implementation: middle-dot in Go assembly listings;
added literate {·}{\textperiodcentered}.
- lux-ntt-transform: μ, ×, –, — in regular text (no T1 fontenc).
Replaced with $\mu$/$\times$/--/--- via unicode->latex sweep.
- lux-perpetuals-derivatives, lux-quantum-consensus,
lux-quasar-consensus, lux-tee-computing-mesh: same unicode->latex
sweep across body text. Also fixed broken math segment
`$L_{avg} = 10$\times$$` -> `$L_{avg} = 10\times$`.
- lux-zchain: emoji glyphs in roadmap table replaced with
parenthetical text.
- lux-triple-proof-consensus: dropped duplicate \usepackage{geometry}
that clashed with luxcover (geometry option clash).
- pq: defined missing \Rq macro.
PDFs rebuilt for the full Tier-2/3 set.
Excluded (Tier-1, parallel agent): lp-073-pulsar, lp-stricte2epq,
dag-evm-formal, lp-010-quasar-stm-{3,4}, lp-020-quasar-consensus,
lux-institutional-custody, lux-nist-mptc-submission, pqsafe-il5,
pq-rns, plus shared/ and lps/.
80 lines
3.5 KiB
TeX
80 lines
3.5 KiB
TeX
\section{Threshold Cryptography}
|
|
|
|
\label{sec:threshold}
|
|
%% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
|
|
|
\subsection{FROST Protocol}
|
|
|
|
For chains supporting Ed25519 or Schnorr (Solana, TON, Sui, Aptos, Cosmos, Bitcoin Taproot, Polkadot, NEAR, Stellar, Cardano, Algorand, Tezos), we employ FROST~\cite{frost}.
|
|
|
|
\begin{algorithm}
|
|
\caption{FROST $t$-of-$n$ Threshold Signing}
|
|
\begin{algorithmic}[1]
|
|
\Require Message $m$, participant set $P \subseteq \mathcal{S}$, $|P| \geq t$
|
|
\Ensure Threshold Schnorr signature $\sigma = (R, s)$
|
|
\State \textbf{Round~1 (Commitment):}
|
|
\ForAll{$p_i \in P$}
|
|
\State Sample nonce pair $(d_i, e_i) \xleftarrow{\$} \mathbb{Z}_q^2$
|
|
\State Broadcast commitment $(D_i, E_i) = (g^{d_i}, g^{e_i})$
|
|
\EndFor
|
|
\State \textbf{Round~2 (Signature):}
|
|
\State Compute binding factor: $\rho_i = H_1(i, m, \{(D_j, E_j)\}_{j \in P})$
|
|
\State Compute group commitment: $R = \prod_{i \in P} D_i \cdot E_i^{\rho_i}$
|
|
\State Compute challenge: $c = H_2(R, Y, m)$
|
|
\ForAll{$p_i \in P$}
|
|
\State Compute partial: $z_i = d_i + e_i \rho_i + \lambda_i s_i c$
|
|
\EndFor
|
|
\State Aggregate: $s = \sum_{i \in P} z_i$
|
|
\State \Return $\sigma = (R, s)$
|
|
\end{algorithmic}
|
|
\end{algorithm}
|
|
|
|
where $\lambda_i$ are Lagrange interpolation coefficients and $s_i$ are Shamir secret shares of the group private key.
|
|
|
|
\begin{theorem}[FROST Unforgeability~\cite{frost}]
|
|
Under the Discrete Logarithm assumption in the Random Oracle Model, FROST is existentially unforgeable under chosen-message attack for any adversary corrupting at most $t - 1$ of $n$ participants.
|
|
\end{theorem}
|
|
|
|
\subsection{CGGMP21 Protocol}
|
|
|
|
For EVM chains, TRON, XRPL, and StarkNet (secp256k1 ECDSA), we employ CGGMP21~\cite{cggmp21}. The protocol produces standard $(r, s, v)$ ECDSA signatures verifiable via \texttt{ecrecover} on all EVM chains.
|
|
|
|
\begin{theorem}[CGGMP21 Security~\cite{cggmp21}]
|
|
CGGMP21 UC-realizes ideal threshold ECDSA signing with identifiable abort under the Strong RSA, DDH, and Paillier assumptions, tolerating $t - 1$ malicious corruptions.
|
|
\end{theorem}
|
|
|
|
\subsection{Taproot Integration}
|
|
|
|
For Bitcoin L1 custody, FROST operates in Taproot mode via $\texttt{frost.KeygenTaproot}()$, producing an $x$-only public key $\tilde{X}$ (32~bytes, BIP-340~\cite{bip340}). The Taproot address $\texttt{bc1p}\langle\text{Bech32m}(\tilde{X})\rangle$ serves as the bridge vault. No on-chain smart contract is required; Bitcoin Script's native Schnorr verification validates threshold signatures.
|
|
|
|
\subsection{Signature Verification by Chain Family}
|
|
|
|
\begin{table}[h]
|
|
\centering
|
|
\small
|
|
\begin{tabular}{llll}
|
|
\toprule
|
|
\textbf{Family} & \textbf{Scheme} & \textbf{Sig.} & \textbf{Gas/Cost} \\
|
|
\midrule
|
|
EVM (30+) & ECDSA & 65\,B & 3{,}000 \\
|
|
Solana & Ed25519 & 64\,B & 0 (sysvar) \\
|
|
TON & Ed25519 & 64\,B & $\sim$0.01 TON \\
|
|
Sui & Ed25519 & 64\,B & $\sim$0.001 SUI \\
|
|
Aptos & Ed25519 & 64\,B & $\sim$100 gas \\
|
|
Cosmos & Ed25519 & 64\,B & $\sim$50{,}000 gas \\
|
|
Bitcoin & Schnorr & 64\,B & 1 vbyte \\
|
|
Polkadot & Ed25519 & 64\,B & $\sim$0.01 DOT \\
|
|
NEAR & Ed25519 & 64\,B & $\sim$0.001 N \\
|
|
Stellar & Ed25519 & 64\,B & 100 stroops \\
|
|
Cardano & Ed25519 & 64\,B & $\sim$0.17 ADA \\
|
|
StarkNet & Stark ECDSA & 64\,B & $\sim$1{,}000 gas \\
|
|
Tezos & Ed25519 & 64\,B & $\sim$0.01 XTZ \\
|
|
Algorand & Ed25519 & 64\,B & 0.001 ALGO \\
|
|
\bottomrule
|
|
\end{tabular}
|
|
\caption{Signature verification across chain families. FROST produces a single 64-byte Schnorr/Ed25519 signature regardless of the $t$-of-$n$ threshold.}
|
|
\label{tab:sigverify}
|
|
\end{table}
|
|
|
|
%% +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|