4
$\begingroup$

Straight to the point, cut out the backstory:

If blockchain is so secure and difficult to hack why don't the military spaceship use it for logging important and also non essential events, navigation, message transactions and operation of the vessel?

$\endgroup$
14
  • 3
    $\begingroup$ Look at it the other direction. What problems does blockchain solve to a single ship that might be solved more easily using other methods? For example, why are these military spaceships so insecure and easily hackable in the first place? Also, what good is a blockchain with (effectively) a single node? $\endgroup$
    – user535733
    Commented Nov 29, 2019 at 2:38
  • 14
    $\begingroup$ If I may flip this around: what good is block chain? What does it really do for you? Other than Bitcoin, blockchain has been a solution looking for problems for about a decade now. $\endgroup$
    – Cort Ammon
    Commented Nov 29, 2019 at 6:29
  • 5
    $\begingroup$ I'm voting to close this question as off-topic because this question seems to be mainly about understanding a technology and its possible applications. There's other stacks dedicated to this very dubject that can provide better and more thorough answers than we could ever want. $\endgroup$
    – dot_Sp0T
    Commented Nov 29, 2019 at 8:32
  • 2
    $\begingroup$ Blockchain is overhyped. Also, it grows stronger the wider it's spread, while you don't want to spread your military data everywhere, even encrypted. It's also really expensive in both money and energy to maintain. $\endgroup$
    – Gloweye
    Commented Nov 29, 2019 at 10:50
  • 4
    $\begingroup$ This question shows a complete lack of understanding of what block chain technology is for. Block chain technology is intended only and only for maintaining the integrity of a distributed database where the parties hosting the database do not trust each other. It has no applicability to maintaining the integrity of a centrally managed database. Voting to close as showing insufficient research. $\endgroup$
    – AlexP
    Commented Nov 29, 2019 at 14:16

7 Answers 7

7
$\begingroup$

Blockchains only make sense when you need to ensure the integrity of, well, a chain.

In the most general case, the way a blockchain works is that each block contains a data payload, and a verification hash, which is a fixed-size summary of

  1. The payload of this block, and
  2. The entirety of the preceding block.

Because the hash of the preceding block was based on the entirety of the block before that, and so on, the hash for any given block depends on the payloads of all previous blocks. That means it is very difficult to alter a block far back in the chain, because you would have to update every subsequent block as well. The older a block is, the harder it is to alter. However, newer blocks are easy to alter, and it is easy to produce alternate histories (essentially producing a block tree), and using a blockchain in an of itself is no defense against hacking. Blockchain applications (like, say, Bitcoin) thus all require some additional method of establishing concensus on what the most recent block is, because the security of a blockchain depends on age and there is no inherent protection on that most recent block. Additionally, a lot of the security of, e.g., Bitcoin, also depends on the distributed nature of the particular blockchain in use; if the data is spread over hundreds or thousands of different clients, it becomes completely impractical to alter the data on >50% of them; but if you are dealing with a localized log, it is much easier to rewrite a huge chunk of history to account for whatever changes you might want to make to a single old block.

So, if you want to ensure that nothing has been removed from old logs, then using a blockchain data structure might be one component of the security measures for your ship's log--but it would be stupid to make it the only security measure, and other approaches to data integrity make blockchain largely superfluous in those circumstances.

$\endgroup$
7
  • 2
    $\begingroup$ Incidentally, you just also described the data inegrity mechanism of version control systems such as git. Really, if you want to ensure log integrity, you'd be pretty dumb to not use something like that. (Not necessarily as the only measure, as noted, but it's a useful measure that's dead simple to employ.) $\endgroup$
    – Matthew
    Commented Nov 29, 2019 at 5:28
  • 1
    $\begingroup$ @Matthew Indeed I did! But you'll note that git fully embraces the tree structure. It makes no attempt to enforce a unique chain structure. And it even includes methods of intentionally re-writing history. So, if you need a reason to not use blockchain, it's perfectly reasonable to just say "we don't need to, 'cause the stuff we do need already has that covered", even if it is simple. Especially if you don't actually care about chain integrity (say, if you are transmitting logs over an unreliable channel and require resyncing), just individual document integrity. $\endgroup$ Commented Nov 29, 2019 at 5:49
  • $\begingroup$ @Matthew git and most blockchains are built on the same underlying principle, the Merkle tree. Its no surprise they look similar. $\endgroup$ Commented Nov 29, 2019 at 11:06
  • 2
    $\begingroup$ @LoganR.Kearsley git, like blockchains, is just a means of tracking history. Sure, you can fork the structure and fiddle with it as much as you like, but you cannot do so without people noticing and if you want your version of history to become everyone's version of history, you need to reach consensus. The differences are minimal compared to the similarities. $\endgroup$ Commented Nov 29, 2019 at 11:07
  • $\begingroup$ @StarfishPrime People will only notice if you actually have distributes storage--just like a blockchain. And again, the means of reaching consensus is independent of the hash-chaining technology. If you use git's mechanism, then it remains easy to hack--people may notice that there were changes, but they won't be able to tell if they were legitimate or not. $\endgroup$ Commented Nov 29, 2019 at 15:20
6
$\begingroup$

In practice, the reason they don't use blockchain is the same reason they don't use vacuum tubes. By the time you're thinking in terms of military spaceships, blockchain will be some forgotten old reference only of interest to those studying the history of computing.

Be very careful putting fine detail on the cutting edge of present technology in a future scenario.

$\endgroup$
1
  • 2
    $\begingroup$ People too enamoured of the technological or social trends of the day find their work seriously afflicted by zeerust. Seems like it should be obvious, but... $\endgroup$ Commented Nov 29, 2019 at 10:55
5
$\begingroup$

Well, as a programmer, I can easily give you two reasons.

First, it would be extremely difficult to modify data in the log. Say your hypothetical "Cpt. Kirk" gets pissed at the science officer (let's call him "Spock") while inebriated. He then puts an extremely ill-thought-out entry in our hypothetical log, saying some... ah... unprintable things about "Spock". Later he decides he wants to delete the entry, forcing his sysadmin ("Scotty") to spend three days removing the entry from the log. When the ship (the "Enterprise") gets back to base Murphy's Law kicks in, causing "Kirk's" superiors ("Starfleet") to find the one reference that "Scotty" missed. As a result, "Kirk" is reprimanded for his ill-thought-through actions, and "Scotty" is court-martialed for tampering with the log. While in theory a log should not be modified, in reality a captain probably does not want embarrassing or fallacious data in there.

On the other hand, there is no reason to use blockchain in the first place, as "Cpt. Kirk" would almost definately be required to keep an analog back-up in his safe.

On the same note, plain encryption is probably a better option, as while blockchains do get some of their security from being hard to modify, it is actually this spread out over several separate computers all operating at once that gives blockchain its security. That is why cryptocurrencies pay people to use their computers as transaction-recorders, instead of just getting one big supercomputer.

EDIT: Kudos to @LoganR.Kearsley for pointing out that packet size does not go up over time.

$\endgroup$
12
  • 2
    $\begingroup$ Clearly the ship's log needs one of those "are you sober enough to do math" authenticators Google added to their email. $\endgroup$
    – Cadence
    Commented Nov 29, 2019 at 2:07
  • 1
    $\begingroup$ The entries do not need to contain the data from all previous entries; they just contain a hash of all of the previous entries' data, which is constant in size. $\endgroup$ Commented Nov 29, 2019 at 2:34
  • $\begingroup$ @Cadence: I was just using that as an example. Irregardless, yes: they do need a sobriety test. $\endgroup$ Commented Nov 29, 2019 at 5:10
  • 1
    $\begingroup$ @Graham It is a word, and has been since 1795, even if you aren't a fan of it :) $\endgroup$ Commented Nov 29, 2019 at 13:54
  • 1
    $\begingroup$ If we were religiously deferential to "most dictionaries", @Graham, we wouldn't have such excellent words as "cromulent" in increasing usage. Indeed, if we all worshipped at the altar of prescriptivism, language wouldn't exist at all (chicken meet egg). Be less boring :) $\endgroup$ Commented Nov 30, 2019 at 1:49
4
$\begingroup$

Blockchain tech is about maintaining integrity across a distributed system, which is why it's used for decentralised transaction processing. Every node in the system has to agree on the history and what the definitive version of the blockchain is, which can be a pretty laborious task - one of the reasons Bitcoin's network has trouble processing the kind of transaction rates it's been seeing in boom times.

It doesn't really help if you're maintaining logs on your ship's computer in a situation where your ability to communicate with HQ is limited, because you can rewrite a blockchain relatively easily provided nobody else has seen it yet. Once other parties have seen the chain, any different version you try to push will be obviously different, but until you've transmitted it to base you can merrily rewrite it as much as you like.

Of course, the logs could be distributed within the spacecraft's systems, but given that the engineers on board probably include a few computer specialists capable of dismantling the system software right down to the lowest level and rebuilding it, that is unlikely to prove too much obstacle to a crew really motivated to alter their logs. If the crew doesn't have people like that on board, good luck dealing with a software bug you find when you're 45 light years from home and your hyperdrive won't boot up.

$\endgroup$
3
$\begingroup$

What evidence do you have that they do not?

If blockchain protection becomes the standard way to protect and insure important documents and everybody has access to it and uses it as a matter of course, then it just wouldn't be mentioned by narrator or character. Just as you would usually not say that someone wrote "with a ballpoint pen", or wore "leather shoes".

Blockchain would only be mentioned in a story if someone had a reason for not using it while everyone else was.

$\endgroup$
1
$\begingroup$

Blockchain is only "secure" and "difficult to hack" when it's distributed over a lot of systems. The "truth" in a blockchain system is the truth most of the systems which calculate the blockchain agree on.

So if you want to manipulate a blockchain, you need to hack over 50% of the systems to have the whole system assume a new truth and hack 100% to destroy all evidence that a manipulation might have taken place.

As you can see, using a blockchain on a single system gives you no security at all.

$\endgroup$
-1
$\begingroup$

Energy consumption

Blockchain is HUGELY energy intensive (it was estimated that Bitcoin's annual carbon emission is 20-22 Million Tonnes - which, if it were a nation would equal carbon emissions of Sri Lanka).

Based on Moore's law, due to the increase of processing power, modern day cryptographic algorithms have to keep adding more bits to their moduli in order to increase the brute force protection. (it costs significantly cheaper to brute-force a SHA-1 today than it did five years ago).

In the future, processing power would be significantly higher, meaning significantly higher moduli for encryption (think SHA-32768). From a real-time perspective, encryption of these payloads is the same, but from an energetic perspective, the cost to decrypt the numerical data of the payload is HUGE. This would result in an explosion of energy demands for performing ledger-signing for very trivial things, thus would not be deemed necessary.

$\endgroup$
1
  • $\begingroup$ The reason why Bitcoin is so energy intensive is that it has a bunch of nodes that are handling complex calculations. The single-node energy costs are actually rather small; you can run a highly energy-efficient Raspberry Pi as a node without even having to overclock it. $\endgroup$ Commented Dec 7, 2019 at 23:17

Not the answer you're looking for? Browse other questions tagged .