This repository contains the academic paper "WalletConnect Network 2.0: A Federated Key-Value Store with Blockchain Consensus", which presents the design and implementation of a novel distributed system architecture.
WalletConnect Network 2.0 (WCN 2.0) is a federated, low-latency key-value store operated by over 20 independent node operators. The paper describes three major architectural innovations:
- Regionalized quorums that reduce latency by 60-85% for geographically localized workloads
- Blockchain-based consensus replacing traditional Raft, making WCN 2.0 the first distributed key-value store to leverage blockchain ledger for coordination
- Node-database separation enabling independent deployments, rolling upgrades, and elastic scaling
The system demonstrates significant performance improvements in production, with p95 latencies reduced from 80-200ms to a consistent 30ms across all regions. With 20+ independent operators across multiple geographic regions, WCN 2.0 advances toward fully permissionless decentralized infrastructure.
You need a LaTeX distribution installed on your system:
# Install MacTeX (full distribution, ~4GB)
brew install --cask mactex
# Or install BasicTeX (minimal, ~100MB) and add packages as needed
brew install --cask basictexAfter installing BasicTeX, you may need to install additional packages:
sudo tlmgr update --self
sudo tlmgr install collection-fontsrecommended
sudo tlmgr install algorithms
sudo tlmgr install algorithmicx# Ubuntu/Debian
sudo apt-get install texlive-full
# Fedora
sudo dnf install texlive-scheme-full
# Arch
sudo pacman -S texlive-mostDownload and install MiKTeX or TeX Live.
# Compile the PDF (includes bibliography)
make
# View the PDF (macOS)
make view
# Quick compile (single pass, no bibliography)
make quick
# Watch for changes and auto-recompile (requires fswatch)
brew install fswatch # Install fswatch first
make watch
# Clean auxiliary files
make clean
# Clean everything including PDF
make cleanallcd paper
# Full compilation with bibliography
pdflatex main.tex
bibtex main
pdflatex main.tex
pdflatex main.tex
# View the PDF
open main.pdf # macOS
xdg-open main.pdf # Linux
start main.pdf # Windowspaper/
├── main.tex # Main LaTeX document
├── references.bib # Bibliography file
├── figures/ # Directory for images and figures
├── Makefile # Build automation
├── .gitignore # Git ignore file for LaTeX
└── README.md # This file
- Two-column layout optimized for scientific papers
- Professional formatting with proper margins and spacing
- Mathematics support with AMS packages
- Algorithm environment for pseudocode
- Bibliography management with BibTeX
- Cross-references for sections, equations, figures, and tables
- Hyperlinks with clickable references and citations
- Clean typography using Latin Modern fonts
Edit the geometry package settings in main.tex:
\usepackage[
a4paper, % Change to a4paper, letterpaper, etc.
top=1in,
bottom=1in,
...
]{geometry}Change the document class:
\documentclass[10pt]{article} % Remove twocolumn optionCommon additions:
\usepackage{subcaption} % For subfigures
\usepackage{tikz} % For diagrams
\usepackage{listings} % For code listings
\usepackage{natbib} % For more citation stylesPlace images in the figures/ directory and reference them:
\begin{figure}[t]
\centering
\includegraphics[width=\columnwidth]{figures/myimage.pdf}
\caption{Your caption here.}
\label{fig:myimage}
\end{figure}\begin{table}[h]
\centering
\caption{Your table caption}
\label{tab:mytable}
\begin{tabular}{lcc}
\toprule
Header 1 & Header 2 & Header 3 \\
\midrule
Data 1 & Data 2 & Data 3 \\
\bottomrule
\end{tabular}
\end{table}Add entries to references.bib and cite them:
As shown in \cite{example2023}, the method...- Compile at least twice when you add/change references, citations, or cross-references
- Run BibTeX (
makedoes this automatically) when you modifyreferences.bib - Use vector graphics (PDF, SVG) for figures when possible
- Check the log file (
main.log) if compilation fails - Use meaningful labels for cross-references (e.g.,
fig:architecture,tab:results)
- Install the "LaTeX Workshop" extension
- Open
main.texand save to auto-compile - Use Cmd/Ctrl+Alt+V to preview PDF
Upload the entire paper/ directory to Overleaf for cloud-based editing with live preview.
Use the vimtex plugin for LaTeX support.
If you get "File not found" errors for packages:
sudo tlmgr install <package-name>Make sure you:
- Have
\cite{}commands in your document - Run the full compilation sequence: pdflatex → bibtex → pdflatex → pdflatex
- Check that
references.bibis in the same directory asmain.tex
Clear auxiliary files and recompile:
make cleanall
makeThis template is provided as-is for academic and commercial use.