Formal methods · TLA⁺ · TLAPS · distributed consensus
Vasilis Nasopoulos
I work on Vortex DSE, a deterministic consensus protocol that reaches finality without leader election, voting, or gossip. The specifications and safety proofs below are public and machine-checked; the engine itself is not.
See it before reading about it
Two writes to the same key at the same instant, and three clocks you can drag. One side changes its mind about which write survives; the other cannot.
Where to start
Three entry points, in increasing depth.
Motivation, terminology, and what the protocol does and does not claim. Includes a runnable toy demo.
2 · Executable specificationThe strict admission model in TLA⁺, with reference scenarios and TLC configurations.
3 · Machine-checked proofsTLAPS deductive proofs of admission safety. CI fails the build if any obligation is left unproved.
What is actually proved
Bounded model checking and deductive proof are different guarantees, so the distinction is kept explicit rather than collapsed into one number.
- ✓ Exactly-once admission — 131 obligations, TLAPS, unbounded.
- ✓ Type safety & no-future admission — 194 obligations, TLAPS, unbounded.
- ✓ Per-slot agreement — TLC and Apalache, two independent checkers, bounded; plus a Lean 4 inductive proof.
- ✓ Bounded latency — proved for the core, with two diameter-induction steps left explicitly
OMITTEDrather than silently open.
Testnet
Three nodes in Frankfurt, Tokyo and Los Angeles, running continuously. The figures below are what those nodes measure and report. Two of them are worth explaining, because the numbers mean nothing without the problem they answer.
These nodes time the distance between themselves. Light takes what it takes: 244 ms between Frankfurt and Tokyo cannot be faked downward. Three copies on one machine would answer each other in microseconds, and the system flags any pair that close as sharing a host. None are flagged here.