Files
zeekay 924a8b00bf papers/dag-evm-formal: update for luxcpp/evm v0.23.0
Reflects the v0.20.0 -> v0.23.0 GPU-EVM release cycle:

- s8 (gpu-native): rewritten to cover the spec-complete Metal + CUDA
  kernel surface, precompile dispatch (0x01..0x11), the EVMC host
  bridge for static-target CALL/CREATE pre-resolution, the unified
  pipeline (EVM + consensus state hash + sig-verify on one Metal
  device, 1.07x pipelined speedup), and a measured-speedup table that
  separates the cryptographic critical path from the bytecode kernel.

- s9 (NEW, four-way-parity): 133-vector bytecode corpus run through
  CPU_Sequential / CPU_Parallel / GPU_Metal / GPU_CUDA in a single
  GoogleTest driver, asserting bit-exact (gas_used, status, output).
  Documents Expectation::{Agree, GasOnly, KernelCpuMissing} taxonomy
  and explains why cross-implementation parity is a stronger argument
  than aggregate test count.

- s10 (NEW, cuda-port): four-pass porting methodology, the three
  consensus bugs the port surfaced (u256_mulmod carry-loss propagation,
  unrecognized-opcode all-gas consumption, MSTORE offset-overflow
  bounds check), the algebraic form of each fix, and what 90.87% line
  / 100% function LLVM coverage on the kernel CPU spec witness
  contributes. Includes the AWS EKS Karpenter g4dn/g5 spot CI path.

- s11 (NEW, empirical-results): consolidated headline table organised
  by workload x backend, with explicit pointers to the bench source
  files at lib/evm/gpu/{kernel,metal,cuda}.

- s12 (renumbered from s9): PQZ cross-chain parallelism, unchanged.

- 01-introduction.tex: updated bullet list of contributions.
- 99-conclusion.tex: updated to cite v0.23.0 results.
2026-02-28 22:00:00 -08:00

62 lines
3.2 KiB
TeX

\section{Introduction}
%% ============================================================================
Parallel blockchain execution splits into two orthogonal problem families:
\emph{intra-block} parallelism (execute the transactions of a linear block
in parallel) and \emph{inter-block} parallelism (finalise non-conflicting
blocks in parallel, a partial-order consensus). The industry has focused
almost exclusively on the first: Aptos' Block-STM~\cite{blockstm}, Monad's
pipelined execution~\cite{monad}, Sei's parallel EVM, and Polygon Miden's
optimistic execution all run in linear-chain consensus. DAG consensus, when
present (Sui's Mysticeti~\cite{mysticeti}, Aleph Zero's AlephBFT,
Avalanche's Snowman$^{++}$), typically does not thread the DAG into the
state-machine layer: blocks are ordered by the DAG and then executed
sequentially, so the DAG exists above the execution engine rather than
inside it.
Lux takes the third path: \emph{the execution engine's conflict graph
\textbf{is} the consensus DAG}. Each VM emits vertices whose parents are
determined by the state-level dependency relation of that VM, and the DAG
engine (nebula) finalises antichains that by construction contain no
mutually-conflicting vertices. The downstream property is
\textbf{serialisability by construction}: any topological order of the
accepted DAG yields identical state, and no two finalised siblings can
double-spend, re-write the same EVM slot, or re-submit the same nullifier.
This paper presents:
\begin{itemize}
\item A uniform definition of the per-chain conflict rule
(\S\ref{sec:conflict});
\item The DAG-EVM construction and its Block-STM lineage
(\S\ref{sec:dagevm});
\item The DAG-Z-Chain nullifier-conflict construction
(\S\ref{sec:dagzchain});
\item Lean~4 formal proofs of safety, commutativity, and
serialisability (\S\ref{sec:lean});
\item TLA$^+$ specifications and model-checked invariants
(\S\ref{sec:tla});
\item A principled comparison with contemporary parallel and DAG
blockchains (\S\ref{sec:contemporaries});
\item A discussion of GPU-native EVM execution covering the v0.20.0
$\to$ v0.23.0 release cycle, including spec-complete Metal and CUDA
opcode kernels, the EVMC host bridge for \texttt{CALL}/\texttt{CREATE}
pre-resolution, and a unified pipeline that runs EVM execution,
consensus state hashing, and post-quantum signature verification on
a single Metal device (\S\ref{sec:gpu});
\item A four-way parity test that runs the same 133-vector bytecode
corpus through CPU\_Sequential, CPU\_Parallel (Block-STM), GPU\_Metal
and GPU\_CUDA, asserting bit-exact agreement on
\texttt{(gas\_used, status, output)} (\S\ref{sec:parity});
\item The CUDA port methodology, three consensus-relevant bugs surfaced
by the differential-oracle property of cross-implementation
parity, and what 90.87\% line / 100\% function LLVM source-based
coverage on the spec witness contributes to the production-readiness
argument (\S\ref{sec:cuda});
\item Empirical results across all four backends on the workloads
above (\S\ref{sec:empirical}).
\end{itemize}
%% ============================================================================