<p><strong>Let's look at what happens without the blockchain:</strong><br>
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.  </p>

<p>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.</p>

<p>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.</p>

<hr>

<p>This "doublespending problem" is what the blockchain solves for us: The mining process elects a node to author a block containing <em>his</em> 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.</p>

<p>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.</p>

<p><strong>Thus, the blockchain allows us to synchronize the state of the network under adversarial conditions.</strong></p>

<p>I.e.:</p>

<ul>
<li>Brings everyone on the same page.</li>
<li>No central decision maker.</li>
<li>Every new node can catch up to the current state deterministically without trusting someone not to lie to them.</li>
</ul>

CC BY-SA 3.0
2016-10-30T23:03:33.747Z
that does make sense
nix
CC BY-SA 3.0
2016-10-30T23:56:13.257Z
Or, to put it more simply, to know which of two or more valid, but conflicting, transactions to trust.
David Schwartz
CC BY-SA 3.0
2016-10-31T00:01:00.917Z
IMO, probably good to include that it enables independent nodes to re-construct the latest state of the network from genesis in a trustless manner.
rny
CC BY-SA 3.0
2016-10-30T22:41:31.843Z
2016-10-31T15:06:07.127Z
2016-10-31T15:06:07.127Z
Murch
<p>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.</p>

CC BY-SA 3.0
2016-10-31T02:14:03.097Z
The blockchain in Bitcoin allows nodes to *make sure they know about everything that has happened*. Without it, it would be too easy to make a node think something hasn't happened when it has.
Criticize SE actions means ban
<transactions><blockchain>
Why do we need blockchains?
nix
# Why do we need blockchains?

(Asked by: username_0 on 2016-10-30)

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.

**Tags:** transactions, blockchain

> **Comments:**
> **username_1**: The blockchain in Bitcoin allows nodes to *make sure they know about everything that has happened*. Without it, it would be too easy to make a node think something hasn't happened when it has.  

---

## 1 answers

### Answer by username_2 on 2016-10-30. Score: 14 | Accepted answer

**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.**

I.e.:

* 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.

> **Comments:**
> **username_0**: that does make sense  
> **username_3**: Or, to put it more simply, to know which of two or more valid, but conflicting, transactions to trust.  
> **username_4**: IMO, probably good to include that it enables independent nodes to re-construct the latest state of the network from genesis in a trustless manner.  

---

