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

To protect against bit flips in car fly-by-wire systems, each signal is sent three times with the 2/3 majority making the decision. This happened after the runaway Prius fiasco that may have been caused by a gamma ray. Prior to that incident the fly-by-wire system only sent one signal.



They do this in planes, but with different coders for the three inputs in case of human coding error as well.

Unfortunately, humans tend to make similar errors at similar areas of code when given the same specs.


This is really inefficient, two bitflips in the same location will result in a bitflip. For 3x the space surely there's a more resilient scheme that can handle more.


If I recall right this depends on the original message length and 1 bit is a bit of an edge case. If you transfer just 1 bit, you're very space constrained and it's hard to do much. 1 bit to 1 bit has nothing, 1 bit to 2 bits has single-bit error detection, and 1 bit to three bits has single bit error correction (--and 2 bit error detection-- (this isn't right, thinking about it for a second)). After this, the minimum required checksum length growth logarithmically, plus 1 or 2 for detection / correction - and that constant factor makes 1 bit so weird.


All error correction and detection are designed with an acceptable probability of error in mind, which depends on the medium. For example, if you know cosmic rays might flip 1 in a million bits, and you want your system to have 1 error per trillion bits, then you need to send every bit twice to be able to detect a one-in-a-million error.


It's not only about memory size, but the speed of processing too.

Higher level protocols would signal an error, and require a retransmission until no error is detected.

However, "majority rule" does indeed sound like an error checking mechanism designed by a non-engineer (or non-mathematician) commitee.


So in this context, send the message with three different encryption keys?




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: