Files
papers/lux-master-security-model/sections/09-the-invariant-machine-checkable-security.tex
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

32 lines
1.6 KiB
TeX

\section{The Invariant: Machine-Checkable Security Claims}
\label{sec:invariant}
\begin{invariant}[Machine-checkable security]
Every security property of the Lux Network either:
\begin{enumerate}[leftmargin=2em]
\item Has a machine-checkable proof (formal verification in Coq, Lean, or TLA+), or
\item Has an automated test suite that verifies the property against known test
vectors, or
\item Is explicitly listed as an unverified assumption with a justification for
why it is believed to hold.
\end{enumerate}
There is no fourth category. ``We believe it is secure'' without one of the above
annotations is not a valid security claim.
\end{invariant}
This invariant is not aspirational---it is a \emph{process requirement}. Every
protocol change must be accompanied by an update to one of the three categories.
New cryptographic primitives require either a proof reference or NIST KAT validation.
New consensus rules require either a formal proof or a TLA+ model. New implementations
require either formal verification or an automated test suite with coverage metrics.
The purpose of this invariant is not to achieve 100\% formal verification (which is
impractical for a large system). The purpose is to eliminate the category of
``security claims that nobody has checked.'' Every claim is checked by a machine, a
proof system, or a test suite---or it is explicitly marked as unchecked.
%% ========================================================================
%% 10. RELATED WORK
%% ========================================================================