Hacker News new | past | comments | ask | show | jobs | submit login

I agree with what James Mickens has to say about this area of expertise. Usually the thinking is to expect that things mostly work (which is wrong) and that in case of an inconsistency sending another message could fix it (which more often than not is also wrong). In an unreliable environment a new message might not arrive and even if it does it might not contain any meaningful information for the receiver as he can't trust it, or can't put it into the context he already possesses. So in real life even in failure states it might sometimes be better to not send a message.

Therefore I wonder if there is another area of science, one that is not as optimistic, and for instance follows these system expectations:

- if you send a message, you cannot expect anybody to follow its content

- you cannot trust any messenger to begin with (but might gain trust over time)

- just because a messenger was there some time ago, doesn't mean the messenger is still there

- just because a message is signed by a messenger it doesn't necessarily already mean the message is from the messenger

- the messages contents might be a false interpretation of the system's state, or might not represent the current state of affairs, things might change between send and receive of a message

- errors are the architectural default case, success is a lucky coincidence (that of course must be exploited maximally)

- side note: leadership election might already need an amount of successful cooperation that is never achieved (i.e. multiple messages need to be exchanged and trusted successfully)

In some regards I feel TCP/IP is already thinking in the right direction. That's how the internet became so successful in the beginning. But it has the big fault (which also was a key factor in its growth) that it simply trusts stuff via default. Mistrust is an add-on.

So if anybody knows about people researching distributed system from that pessimistic but serenely-accepting perspective I would be really interested.

Its funny how these tenets map out to relationships to humans. Replace messenger with "friend" and it still retains a measure of truth.

This is not a coincidence. I'm a worker node in a distributed international corp, and we have a lot of communication errors and timeouts, protocol errors and interpreter bugs, as well as byzantine generals called managers. Our kafka is called email and instead of kubernetes we sometimes use cubicles.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact