Communication Breakdown

Following my last post in which I worked through various definitions of reliability in networking, it’s time in this post to look at the main protocol contenders, and examine how they measure up to those definitions.

Let’s recap quickly with a list. Reliability can mean…

  1. Soft delivery guarantees.
  2. Hard delivery guarantees.
  3. Hard delivery guarantees along the entire path. (This wasn’t mentioned last time, but we’ll get to it.)
  4. Strict ordering of packets. (This was mentioned implicitly as stream- vs datagram oriented approaches.)
  5. A preference for local decision making. This one is very much on a gradient, rather than an exclusive either/or feature. …
Designing for Reliability

In the past months, I have not written much. I pushed forward with work for the Interpeer Project. But more recently, I also started as a researcher at AnyWi Technologies, joining friends from a past job. There, we participate in public/private research projects into next generation commercial drone platforms.

While both domains have a multitude of differences between them, one strong overlap exists in the need for reliable and performant networking connections over the public Internet.

When you know a little bit about Internet technologies and you read “reliable”, chances are good your mind immediately goes to DARPA’s venerable Transmission Control Protocol (TCP). Though …

Distributed Consensus 2020

It’s not what you think it is.

A few weeks ago, I led my connections to a single-question survey, asking what the currently most utilized distributed consensus algorithms is. This isn’t the largest group in the world, but it’s also a fairly mixed bunch: a majority is in the tech industry, but almost as many are not. Some or old guard, some entered the field only a while ago. Some are more research inclined, some more practically oriented.

I figure it makes a decent survey group.

Without further ado, let’s look at the answers.

Raft and Paxos dominate

takes up 36% of the answers, and 29%. Raft is the more modern of the two, designed to be simpler than Leslie …

The New Cathedral and Bazaar

Or how Blockchain gets consensus wrong.

Over twenty years ago, Eric S. Raymond wrote an essay that changed the software development world. Titled The Cathedral and the Bazaar, it outlined his experience in trying to understand and emulate the success of the Linux operating system kernel. The essay set down some observations in rules that other projects should follow for similar success.

Raymond wrote this essay in a world that by and large only knew cathedral style software development. That is not to say that open collaboration on software projects did not yet exist – famously, the Free Software Foundation pre-dates the essay by over another decade, and its founder states his …