<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Byzantine Generals Problem on Brave New Geek</title><link>https://bravenewgeek.com/tag/byzantine-generals-problem/</link><description>Recent content in Byzantine Generals Problem on Brave New Geek</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 20 Dec 2016 22:32:34 -0600</lastBuildDate><atom:link href="https://bravenewgeek.com/tag/byzantine-generals-problem/index.xml" rel="self" type="application/rss+xml"/><item><title>From the Ground Up: Reasoning About Distributed Systems in the Real World</title><link>https://bravenewgeek.com/from-the-ground-up-reasoning-about-distributed-systems-in-the-real-world/</link><pubDate>Fri, 01 Jan 2016 14:26:50 -0600</pubDate><guid>https://bravenewgeek.com/from-the-ground-up-reasoning-about-distributed-systems-in-the-real-world/</guid><description>&lt;p&gt;&lt;em&gt;The rabbit hole is deep. Down and down it goes. Where it ends, nobody knows. But as we traverse it, patterns appear. They give us hope, they quell the fear.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Distributed systems literature is abundant, but as a practitioner, I often find it difficult to know where to start or how to synthesize this knowledge without a more formal background. This is a non-academic’s attempt to provide a line of thought for rationalizing design decisions. This piece doesn’t necessarily contribute any new ideas but rather tries to provide a holistic framework by studying some influential existing ones. It includes references which provide a good starting point for thinking about distributed systems. Specifically, we look at a few formal results and slightly less formal design principles to provide a basis from which we can argue about system design.&lt;/p&gt;</description></item><item><title>Understanding Consensus</title><link>https://bravenewgeek.com/understanding-consensus/</link><pubDate>Wed, 24 Sep 2014 21:35:07 -0600</pubDate><guid>https://bravenewgeek.com/understanding-consensus/</guid><description>&lt;p&gt;A classical problem presented within the field of distributed systems is the &lt;a href="http://en.wikipedia.org/wiki/Two_Generals'_Problem"&gt;Byzantine Generals Problem&lt;/a&gt;. In it, we observe two allied armies positioned on either side of a valley. Within the valley is a fortified city. Each army has a general with one acting as commander. Both armies &lt;em&gt;must&lt;/em&gt; attack at the same time or face defeat by the city’s defenders. In order to come to an agreement on when to attack, messengers must be sent through the valley, risking capture by the city’s patrols. Consider the diagram below illustrating this problem.&lt;/p&gt;</description></item></channel></rss>