Byzantine fault-tolerance considered harmful


No matter what we do to make out networks better, we make them worse.

Whenever I go to a ­ presentation about Byzantine fault tolerance, I always feel
an immediate, unshakable sense of sadness, kind of like when
you realize that bad things can happen to good people, or that Keanu Reeves
will almost certainly make more money than you over arbitrary time scales.
Watching a presentation on Byzantine fault tolerance is similar to watching a foreign film from a depressing nation that used to be controlled by the
Soviets—the only difference is that computers and networks are constantly
failing instead of young Kapruskin being unable to reunite with the girl he fell
in love with while he was working in a coal mine beneath an orphanage that
was atop a prison that was inside the abstract concept of World War II. "How
can you make a reliable computer service?" the presenter will ask in an innocent voice before continuing, "It may be difficult if you can't trust anything
and the entire concept of happiness is a lie designed by unseen overlords of
endless deceptive power." The presenter never explicitly says that last part,
but everybody understands what's happening. Making distributed systems
reliable is inherently impossible; we cling to Byzantine fault tolerance like
Charlton Heston clings to his guns, hoping that a series of complex software
protocols will somehow protect us from the oncoming storm of furious apes
who have somehow learned how to wear pants and maliciously tamper with
our network packets.

The Saddest Moment [James Mickens/Usenix]

(via O'Reilly Radar)