A word on security

Miners decide which block to “bet” on to become the longest chain

In systems like Bitcoin or Ethereum, a single chain of blocks each contain sets of transactions. The network makes forward progress one block at a time (at a given average timeframe), which means the maximum number of transactions the network can process for that timeframe is limited to the transactions within one block.

At any given time, the network on average produces not one but many blocks (how frequently this happens depends on the specifics of a given blockchain). In single-chain systems, miners are actively selecting which block they wish to accept (bet on) and build on for the next blocks in the network. Eventually, only the longest chain on the network, where the largest number of miners have chosen to make their bets on, will win out, and the rest of the blocks on other chains are thrown away, essentially wasted work.

Blockchain isn’t a chain, more like a tree, with branches being discarded constantly

Hence, despite descriptions of a blockchain as a single chain, it in fact looks more like a tree, with many branches. All but one single branch will survive, the rest are discarded.

An attacker that tries to cheat the network will typically attempt to rewrite history by trying to beat the rest of the network in building the longest branch and inserting malicious transactions into blocks on that branch. For example, attacker A buys something from B and sends B 1 coin. B gives A the goods it purchased. A then attacks the network and creates a longer chain which has it send the coin not to B but to C. In this scenario, A now has the goods from B, but B never received payment.

One way that many classic single chain networks use to ameliorate malicious branching is to simply slow down the network progression. This reduces the likelihood that an attacker could, with much less resources, leverage temporary information asymmetry created by networking delay to mislead honest nodes into betting on its malicious branch. In BTC for example, they adjust the proof of work puzzle difficulty to set an average time between blocks, and make sure this delay is far longer than the time it would take for a block to propagate throughout the network to every node.