mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
A July commit removed eight papers on the premise "no license — DEX/non-custodial only". That premise is wrong: Lux operates an ATS, a broker-dealer, a transfer agent and a bank, and this material is resold at lux.financial. The merge that brought main in preserved the removal because the commit stated a reason, which is how a stale reason outlives the fact it rested on. Back, at the versions main carried — main never received the removal, so its copies are the later ones: the ATS architecture, the security-token standard, smart order routing, institutional custody, MPC custody, post-quantum securities, the SSB partnership and the CoinBridge brief. 83 files. Co-authored-by: Hanzo Dev <[email protected]>
59 lines
2.6 KiB
TeX
59 lines
2.6 KiB
TeX
\section{Post-Quantum Security}
|
|
\label{sec:pq}
|
|
|
|
\subsection{Threat Model}
|
|
|
|
Securities tokens are long-lived assets. A bond may have a 30-year maturity. A common stock may exist indefinitely. The ECDSA signatures used in standard EVM are vulnerable to Shor's algorithm, which can derive private keys from public keys in polynomial time on a cryptographically relevant quantum computer.
|
|
|
|
For securities tokens, the threat is not abstract. An attacker who records current ECDSA public keys can, once a quantum computer is available, derive the corresponding private keys and forge transfers. This ``harvest now, decrypt later'' attack is particularly dangerous for long-lived securities.
|
|
|
|
\subsection{Lux PQ Precompiles}
|
|
|
|
The Lux EVM includes precompiled contracts for post-quantum signature verification:
|
|
|
|
\begin{itemize}[nosep]
|
|
\item \textbf{ETHFALCON} (precompile 0x0301): Falcon-512 signature verification, providing 128-bit post-quantum security \cite{lux-ethfalcon-pq}.
|
|
\item \textbf{Pulsar} (precompile 0x0302): Hybrid classical/post-quantum signature verification combining ECDSA with ML-DSA \cite{lux-mchain-mpc}.
|
|
\end{itemize}
|
|
|
|
\begin{lstlisting}[language=Solidity,caption={Post-quantum transfer verification.}]
|
|
contract PQSecurityToken is SecurityToken {
|
|
// Precompile addresses
|
|
address constant ETHFALCON = address(0x0301);
|
|
address constant CORONA = address(0x0302);
|
|
|
|
bool public pqRequired; // enforce PQ signatures
|
|
|
|
function transferByPartitionPQ(
|
|
bytes32 partition, address from, address to,
|
|
uint256 value, bytes calldata data,
|
|
bytes calldata pqSignature
|
|
) external returns (bytes32) {
|
|
if (pqRequired) {
|
|
bytes32 msgHash = keccak256(abi.encodePacked(
|
|
partition, from, to, value, block.chainid, nonces[from]++
|
|
));
|
|
(bool ok,) = CORONA.staticcall(
|
|
abi.encodePacked(msgHash, pqSignature, pqPublicKeys[from])
|
|
);
|
|
require(ok, "PQ signature invalid");
|
|
}
|
|
|
|
return transferByPartition(partition, from, to, value, data);
|
|
}
|
|
}
|
|
\end{lstlisting}
|
|
|
|
\subsection{Migration Path}
|
|
|
|
Existing securities tokens can migrate to post-quantum security incrementally:
|
|
|
|
\begin{enumerate}[nosep]
|
|
\item \textbf{Phase 1}: Deploy PQ-aware token contracts alongside classical contracts.
|
|
\item \textbf{Phase 2}: Investors register PQ public keys via I-Chain DID updates.
|
|
\item \textbf{Phase 3}: Enable optional PQ signature verification for transfers.
|
|
\item \textbf{Phase 4}: Require PQ signatures for all transfers (set \texttt{pqRequired = true}).
|
|
\item \textbf{Phase 5}: Rotate controller MPC shares to PQ-safe threshold scheme.
|
|
\end{enumerate}
|
|
|