9 ms·
Um, an immutable journal means you can't delete bogus data. If, for example, a system chokes when it sees a 3-byte UTF-8 code point, and you accidentally insert
by mgsouth 4y ago
Um, an immutable journal means you can't delete bogus data. If, for example, a system chokes when it sees a 3-byte UTF-8 code point, and you accidentally insert such a thing in the journal, then you're hosed. The system can't come back up until the software is mad-panic patched. Or (again hypothetically) somebody fat-fingers an update, deletes ATL from the airport list, thus causing a crash when software sees now-orphaned NOTAMs.
Nor does distributed-consensus seem to apply in this case. For many datasets you want one source of truth (e.g. airport codes, approved abbreviations).
Crypto blockchains deal with very, very simplistic global states. Bitcoin, for example, has (a) 256 bits from the prior block, (b) a megabyte or so of transaction data. Every state machine update (mined block) totally replaces the prior state. And it crucially depends upon backtracking never being needed; for example, if a prior block's hash made it impossible for a new block to be created with enough zeroes in the hash (I don't think that's possible), then a global, manual fork would be needed.
- gojomo 4y agoIf the instructive content is invalid, you send a invalidation message. But if there's a violation of constraints, modern practice (both in and outside crypto projects) can do a pretty good job of precluding it, with test cases, wide review, multiple implementations, formal verification, and so forth. And when something slips by, many eyes & many implementations make a consensus fix very fast. No one has 'fat-fingered' the major blockchains in a long time! Some proprietary/permissioned chains have had problems. And stuff as complicated as smart contracts can go awry in subtle ways. But NOTAM seems to be just a simple text log! Distributed consensus inherently achieves one-source-of-truth without single-point-of-failure. As the notices relevant to individual flight-paths are inherently geo-local, with many independent submitters (like airports), any routing "through the FAA in DC" introduces risks – even if the FAA has final authority over who (which keys) can add entries. Yes, Bitcoin's consensus state is relatively simple – but also far more compicated than NOTAM's even-simpler message. And continually redundantly verified & replicated by many independent actors & codebases, very successfully, for 10+ years.