A more general implementation of Lamport's Byzantine Consensus algorithm in Python

Marton Trencseni - Tue 12 August 2025 • Tagged with lamport, byzantine, generals, python, flask, distributed

This follow-up factors Lamport’s Byzantine Generals algorithm into a generalized class that's independent of I/O and payloads. Any node can initiate a round (be "king"), values can be arbitrary strings, and multiple rounds can run concurrently.

Continue reading

Lamport's Byzantine Generals algorithm in Python

Marton Trencseni - Wed 30 July 2025 • Tagged with lamport, byzantine, generals, python, flask, distributed

I discuss Lamport's Byzantine Generals problem and why it requires a total of N≥3M+1 nodes with M malicious nodes, and then implement the solution using Python with HTTP Flask servers.

Continue reading