A blockchain is a file that contains data and hash codes. The hash codes ensure data hasn’t been corrupted.
A hash is an interesting thing. A hash function converts a string of any length into a fixed length hash code. Hash codes were initially designed to work with a hash table. A hash table provides fast data lookups at the expense of increased memory use. Blockchains don’t care about hash tables, so we can ignore that.
Many hash functions exist. In fact hash functions existed before they were known as hash functions. The earliest types were checksums or cyclical redundancy checks. These were used in communication to determine if information arrived intact. Their use has expanded considerably since then. Many hash functions are treated as one way encryption in addition to their use in cryptography.
Blockchains were first published in the 1980s. However they are simple so have probably been reinvented many times. Blockchains contain fixed length entries, otherwise known as a block. Each block includes a hash code for the previous block. This hash code is calculated using the entire block, which includes the previous hash code. So blocks are chained together using hash codes. That’s where it gets its name.
Some people mistakenly believe that blockchains secure the data stored within. This is simply not true, because an application could rewrite part of the file then recalculate all hash codes for the rest of the file. Blockchains are incapable of securing data. Only data redundancy can secure data.
Some modern applications, such as cryptocurrency, utilize blockchains. They use hash codes to ensure data hasn’t been corrupted or tampered with, and they use them to decide which block of transactions to select. Once enough transactions have accumulated, each crypto server tries to create their own blocks, since that’s how the server generates money. Crypto systems can apply an arbitrary rule to select new blocks, such as using the hash code with the lowest value.
In concept, a blockchain is just a specialized log file. Both are read and append-only files. The entries in a blockchain are simply more specialized. It is one potential tool in a vast set of tools. It is not suitable for all applications, as some supporters claim. Each application should be independently evaluated to see if blockchains are suitable. This is true for all algorithms, not just blockchains.