mirror of
https://github.com/lux-apps/papers.git
synced 2026-10-30 18:15:21 +00:00
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.
62 lines
3.3 KiB
TeX
62 lines
3.3 KiB
TeX
\section{Introduction}
|
|
|
|
\label{sec:intro}
|
|
%% ============================================================================
|
|
|
|
Blockchain transaction processing has reached a performance wall. Ethereum mainnet
|
|
processes approximately 30\,Mgas/s---limited not by network bandwidth or consensus
|
|
latency, but by sequential EVM execution on a single CPU core~\cite{pevm}. Every
|
|
proposed solution to date operates within the CPU paradigm: faster interpreters
|
|
(evmone~\cite{evmone}, revm~\cite{reth}), parallel execution (Block-STM~\cite{blockstm},
|
|
pevm~\cite{pevm}), or JIT compilation (Paradigm's revmc).
|
|
|
|
This paper takes a different approach. We move the \emph{entire} block processing
|
|
pipeline to the GPU:
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Transaction validation and ecrecover} --- the 87\% of block time that
|
|
profiling reveals as the true bottleneck.
|
|
\item \textbf{EVM opcode execution} --- via compute shaders that run each transaction
|
|
as an independent GPU thread.
|
|
\item \textbf{Block-STM conflict detection} --- using GPU atomics for MvMemory, with
|
|
the scheduler running entirely on-device.
|
|
\item \textbf{State root computation} --- Keccak-256 Merkle-Patricia trie hashing on GPU.
|
|
\item \textbf{Post-quantum cryptography} --- all NIST FIPS algorithms (ML-DSA, ML-KEM,
|
|
SLH-DSA) accelerated via GPU NTT.
|
|
\item \textbf{Fully homomorphic encryption} --- TFHE blind rotation and external product
|
|
on GPU for encrypted smart contract execution.
|
|
\end{enumerate}
|
|
|
|
\subsection{Why GPU-Native EVM Matters}
|
|
|
|
Modern GPUs contain thousands of compute units optimized for parallel arithmetic. An
|
|
Apple M1 Max GPU has 32 compute units with 128 ALUs each = 4{,}096 parallel execution
|
|
units, versus 10 CPU cores. An NVIDIA H100 has 132 SMs $\times$ 128 CUDA cores = 16{,}896
|
|
units. The EVM's per-transaction execution is embarrassingly parallel at the block level:
|
|
each transaction in a conflict-free set can run independently.
|
|
|
|
The bottleneck that prevents naive GPU EVM is \emph{state access}. EVM transactions read
|
|
and write a shared state trie. GPU memory is traditionally separate from CPU memory,
|
|
making state access prohibitively expensive. Apple Silicon's \emph{unified memory
|
|
architecture} (UMA) eliminates this barrier: CPU and GPU share the same physical memory
|
|
with zero-copy access. This architectural feature makes GPU-native EVM practical for the
|
|
first time.
|
|
|
|
\subsection{Contributions}
|
|
|
|
\begin{enumerate}
|
|
\item \textbf{Architecture}: A five-stage GPU pipeline (validate $\to$ ecrecover $\to$
|
|
Block-STM $\to$ execute $\to$ state\_root) that processes entire blocks on-device.
|
|
\item \textbf{GPU State}: A GPU-resident hash table with persistent buffers and
|
|
unified memory, eliminating CPU--GPU state transfer.
|
|
\item \textbf{GPU Block-STM}: MvMemory implemented with GPU atomics and an on-device
|
|
scheduler---no CPU round-trips for conflict detection.
|
|
\item \textbf{PQ Crypto}: All three NIST FIPS post-quantum algorithms on GPU, sharing
|
|
NTT as a unified primitive.
|
|
\item \textbf{FHE}: TFHE blind rotation and external product on GPU for encrypted EVM.
|
|
\item \textbf{Measured results}: 85.9\,M opcodes/sec GPU, 20.9\,Ggas/s C++ EVM,
|
|
7.1$\times$ parallel ecrecover. Not projections. Not simulations.
|
|
\end{enumerate}
|
|
|
|
%% ============================================================================
|