1

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?

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.