We can generate and verify transactions without blockchain - why do we need it? I can generate a transaction, broadcast it to the network, it can be verified multiple times etc.
Let's look at what happens without the blockchain:
You create a transaction and it is relayed through the network. Every node that receives it updates their ledger to reflect your transaction. So far, so easy.
Now, while you're using the network playing fair, there is Mallory, another user, that likes to break things. Instead of just sending his transaction, he sends two conflicting versions of the same transaction (a "doublespend") at the same time to half of his peers each. These peers do the same as before: They update their ledger and pass the transaction along. However, half the network receives one version, and considers the second invalid and vice versa.
Now, the network is split: Their ledgers are no longer synchronized. Mallory can now send a transaction building on one of the two previous and only half the network will accept it as valid.
This "doublespending problem" is what the blockchain solves for us: The mining process elects a node to author a block containing his version of the past few minutes. As there is only one author elected every ~10 minutes, these blocks can be passed through the network easily before the next is discovered.
As the author can only have accepted one of the two conflicting versions into his recount, all the other nodes know which transaction to accept and which one to drop.
Thus, the blockchain allows us to synchronize the state of the network under adversarial conditions.
- Brings everyone on the same page.
- No central decision maker.
- Every new node can catch up to the current state deterministically without trusting someone not to lie to them.