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

PaxosLease: Extending and Releasing Leases

Marton Trencseni - Mon 15 December 2025 • Tagged with lamport, paxos, paxoslease, lease, distributed, python, flask

This article extends the basic PaxosLease algorithm with practical lease renewal and explicit release semantics, showing a full working Python/Flask implementation and explaining why the protocol remains safe without disks or synchronized clocks.

Continue reading

Implementing PaxosLease in Python with HTTP Flask

Marton Trencseni - Sat 13 December 2025 • Tagged with lamport, paxos, paxoslease, lease, distributed, python, flask

This article introduces PaxosLease, a simplified Paxos variant that uses expiring leases instead of persistent values to enable fast, reliable master election in distributed systems.

Continue reading