The following guide mentions that blockchains allow digital information to be distributed but not copied:

By allowing digital information to be distributed but not copied, blockchain technology created the backbone of a new type of internet.

I thought that blockchains were copied to computers, making them synchronized.


Blockchain will not make a lot of sense until the "lightbulb" moment. It's rather hard to describe. A lot depends on the level of detail sought after. I'll try a big-picture approach with an emphasis on sync. It might help you decipher the details.

Blockchain solves the "double-spend" problem. https://en.bitcoin.it/wiki/Double-spending. In simple terms, the problem is to define some sort of digital asset that can be passed from person to person like currency but can only be spent once per person (otherwise, it would cease to function as currency).

Blockchain solves by recording a history of transactions, secured by consensus. Consensus means a majority of nodes agree with the same detailed history.

We start with an initial state where Alice, Bob and Carl all have 0.

  1. Alice wins 20 by mining a block. Her award is recorded in the block she herself mined. Mining is part of the consensus process. Bob and Carl agree Alice's transaction block is valid, therefore, she received the scheduled award.
  2. Alice gives Bob 3. Alice, Bob and Carl all agree this is permissible because Alice has 20.
  3. Carl mines a transaction block. The block is a list of proposed transactions that Carl thinks are valid, in a specific order. Carl's block includes Alice's gift of 3 to Bob. Alice and Bob agree Carl's block is valid, therefore, Alice has 17 left and Bob has 4. Since Carl mined a block, his award is part his block. He gets 20.
  4. A little while later, Bob mines a block. Bob's block appends to Carl's block which is itself appended to Alice's block. Everyone likes and accepts Bob's block. More blocks get appended with more transactions, accepted by a majority of the nodes. Alice's gift to Bob (step 2) has multiple "confirmations". There is a mounting consensus (blocks after her transaction) that agree her transaction is part of the history. Each new block creates exponentially higher improbability that the consensus will reverse, find the transaction invalid, and return the 3 "coins" from Bob to Alice.

From this history of everything that happened in the order that it happened, all participants who join the network compute for themselves the current world state. It is, by definition, the initial state plus all the changes in the order (sequence) that the changes unfolded.

The process is a lot like a DB log that can be replayed to construct the end state. Nodes independently validate the transactions.

The details of consensus and mining are interesting and intricate. A lot of it is about repelling intentional attacks. The upshot is that everyone witnesses everything and it is unlikely a falsified transaction can endure. There is no authoritative source of the "official" transaction log. The design guides everyone toward eventual consensus. Basically, everyone can see that a majority of peers agree on specific facts of history.

There's no actual "coin". It's more like a spreadsheet. Alice can send coins to Bob, and the rest of network verifies that the transaction was signed with Alice's secret key because only she's allowed to do that. If they don't see that signature, then they will agree that the transaction should not be allowed. If they do see the signature, then they will agree that the transaction is part of the consensus history with obvious changes to both balances.

Ethereum takes this idea of blockchains and distributed consensus and moves beyond a simple ledger of account balances and gives us a Turing-complete virtual machine that grinds along running smart contracts backed by distributed consensus. Everyone agrees about what the contracts did. Indeed, everyone runs the transaction through their own copy of the contract to see for themselves what the contract does in each instance. They arrive at an opinion about the world state because it's the only possible outcome. Honest actors and defect-free software should be in agreement.

Hope it helps.


Every individual node calculates the entire chain by itself given the transactions, or, if it receives a hash and the block can easily verify the block and accept it. In this way every node separately verifies the chain. Thus a huge amount of security.

There is no process that says "give me a copy of the chain, and I'll trust that it's right." First of all, where would that copy come from? Secondly, single point if failure. Copying and therefore trusting would defeat the purpose.

  • Then what is synchronization of the blockchain? Isn't that copying the chain? I always see "Imported new chain segment" in my console. Jun 12 '17 at 5:49
  • Not copying. Individual verification. Jun 12 '17 at 5:51
  • It's probably the word syncing that's confusing. It's syncing by verification as opposed to syncing by copying. Jun 12 '17 at 5:52
  • Where does the distribution come from, then? Jan 18 '18 at 0:06
  • Blockchain is more of a Replica of ledger than Copy
    – Hem M
    Jun 10 '18 at 11:02

(keeping short) Merkle Tree is your answer.

The benefit of using the Merkle Tree in blockchain is that instead of downloading every transaction and every block, a “light client” can only download the chain of block headers (replica/not a copy of data itself).

if someone needs to verify the existence of a specific transaction in a block, then he doesn’t have to download the entire block. Downloading a set of a branch of this tree which contains this transaction is enough. We check the hashes which are just going up the branch (relevant to my transaction). If these hashes check out good, then we know that this particular transaction exist in this block.

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.