<blockquote>
<p><strong>the blockchain is in essence a distributed ledger</strong></p>
</blockquote>
<p>It is more accurate to think of it as a <em>replicated journal</em> for the following reasons:</p>
<ul>
<li>unlike a distributed database, individual nodes hold a full copy (replica) of the whole data, not some coordinated subset of it.</li>
<li>Ledger and Journal are accounting terms. The Blockchain is a simple list of transactions in approximate chronological order. Just like an accounting journal. There are no accounts and no balances so it is unlike an accounting ledger.</li>
</ul>
<blockquote>
<p><strong>how does systems implemented using blockchains prevent erroneous transaction based on their outdated, and not yet up to date view of the network?</strong></p>
</blockquote>
<p>The answer depends on what you mean by an erroneous transaction.</p>
<p>A network node that does not yet have the latest block of the blockchain will reject (or put aside) any transactions that depend on outputs of transactions in the missing block.
So it errs on the side of caution.</p>
<p>It will still reject new transactions that <em>erroneously</em> attempt to spend outputs of older blocks it knows about which have already been spent.</p>
<p>It will still reject new transactions that break any of the rules that don't depend on knowledge of prior transactions.</p>
<p>Bitcoin nodes don't need to know about people or balances because Bitcoin is electronic <strong>cash</strong> not an electronic <em>bank account</em>. Just as the person who sells you a cup of coffee doesn't care about your name or your bank balance, they only care that the coins you gave them look and feel genuine.</p>

CC BY-SA 4.0
2021-03-19T11:09:01.433Z
2021-03-19T11:22:56.683Z
2021-03-19T11:22:56.683Z
RedGrittyBrick
<p>This question borders along the line of cryptography and distributed systems, but I guess I have a strong chance of getting an answer if asked here. So here goes:</p>
<p>I understand that the blockchain is in essence a distributed ledger, and nodes taking part in both validation and just performing transaction do this based on their own copy of the distributed ledger.</p>
<p>Since this is distributed I assumed at any given point in time, not all node would have exactly the same data, as it takes some time for changes to propagate throughout the whole network.</p>
<p>Given this characteristics of distributed systems, the question then is, how does systems implemented using blockchains prevent erroneous transaction based on their outdated, and not yet up to date view of the network?</p>
<p>How does this problem get resolved?</p>

<consensus>
How does the blockchain prevent transaction based on outdated note
Finlay Weber
# How does the blockchain prevent transaction based on outdated note

(Asked by: username_0 on 2021-03-19)

This question borders along the line of cryptography and distributed systems, but I guess I have a strong chance of getting an answer if asked here. So here goes:

I understand that the blockchain is in essence a distributed ledger, and nodes taking part in both validation and just performing transaction do this based on their own copy of the distributed ledger.

Since this is distributed I assumed at any given point in time, not all node would have exactly the same data, as it takes some time for changes to propagate throughout the whole network.

Given this characteristics of distributed systems, the question then is, how does systems implemented using blockchains prevent erroneous transaction based on their outdated, and not yet up to date view of the network?

How does this problem get resolved?

**Tags:** consensus


---

## 1 answers

### Answer by username_1 on 2021-03-19. Score: 1

> **the blockchain is in essence a distributed ledger**

It is more accurate to think of it as a *replicated journal* for the following reasons:

* unlike a distributed database, individual nodes hold a full copy (replica) of the whole data, not some coordinated subset of it.
* Ledger and Journal are accounting terms. The Blockchain is a simple list of transactions in approximate chronological order. Just like an accounting journal. There are no accounts and no balances so it is unlike an accounting ledger.

> **how does systems implemented using blockchains prevent erroneous transaction based on their outdated, and not yet up to date view of the network?**

The answer depends on what you mean by an erroneous transaction.

A network node that does not yet have the latest block of the blockchain will reject (or put aside) any transactions that depend on outputs of transactions in the missing block.
So it errs on the side of caution.

It will still reject new transactions that *erroneously* attempt to spend outputs of older blocks it knows about which have already been spent.

It will still reject new transactions that break any of the rules that don't depend on knowledge of prior transactions.

Bitcoin nodes don't need to know about people or balances because Bitcoin is electronic **cash** not an electronic *bank account*. Just as the person who sells you a cup of coffee doesn't care about your name or your bank balance, they only care that the coins you gave them look and feel genuine.


---

