Single round-trip optimization for Paxos with PaxosLease masters

Marton Trencseni - Sat 25 April 2026 • Tagged with paxos, multipaxos, paxoslease, lease, distributed, consensus, python, flask

In the previous article, I combined Paxos and PaxosLease into a small master-based replicated state machine. The obvious inefficiency was that every command still ran a full two-phase Paxos round. In this article, I add the simplest possible optimization: once a node has become master and completed one full Paxos round, later fresh log slots can skip the prepare phase and go directly to propose.

Continue reading

Combining Paxos and PaxosLease

Marton Trencseni - Mon 06 April 2026 • Tagged with lamport, paxos, multipaxos, paxoslease, lease, distributed, consensus, durability, python, flask

The article walks through the integration of durable Paxos with PaxosLease to arrive at a small master-based replicated state machine: Paxos decides the command log, PaxosLease decides who is allowed to append to it, and clients must discover the current master before submitting writes.

Continue reading

Multi-Paxos with Disk Persistence

Marton Trencseni - Sun 22 February 2026 • Tagged with lamport, paxos, multipaxos, distributed, consensus, durability, python, flask

This post extends the simple Multi-Paxos implementation with disk persistence, ensuring acceptor promises and the replicated log survive restarts, and showing how log replay restores state after crashes.

Continue reading