4

I've been reading on light node and many have pointed out that the light node doesn't have the full blockchain and is riskier because they can't verify the transactions fully.

First, we can verify or validate the transaction on the website. I don't understand why do we need a full blockchain if we are not mining.

Second, doesn't miner verify the transactions before including into the block? In addition to that, the process of validating the block served like a double validation?

Third, when the block is added to the network, isn't it a third validation?

Forth, when the block has several more confirmations, isn't that a forth validation?

In this case, why do we need a full ledger? After a certain time lapse, many of the preceding blocks are seem redundant.

A light node, although doesn't have the full ledger since the genesis block, keeps a section of the most recent blocks, isn't that sufficient?

Why would a light node be riskier? Realistically, what are the chances of receiving incomplete or invalid blocks?

  • I am not implying full node is not necessary. I am wondering why is it riskier as a light node and the need of having a full ledger if you are not mining. Shouldn't the validation protocols sufficient to prevent fraudulent transactions? The full ledger is only an additional/optional step and without that will not actually make you riskier than a full node. – Samantha Nov 22 '18 at 8:08
3

First, we can verify or validate the transaction on the website. I don't understand why do we need a full blockchain if we are not mining.

What website? There's no website that defines the blockchain. All blockchain explorers just show the information. If you are relying on a website to check that your transaction is valid, then that is a central point of failure. What if whatever website you are using mistakenly says an invalid transaction is valid? Do you just blindly trust the website? This has happened many times in the past, especially with blockchain.info.

The whole point of the blockchain is to remove central points of failure and to remove trust in third parties. Relying on a website to tell you what is correct defeats that purpose.

Second, doesn't miner verify the transactions before including into the block? In addition to that, the process of validating the block served like a double validation?

Miners are supposed to verify transactions before including them in a block. Just because they are supposed to verify does not mean that they actually do. Just accepting a transaction that has been included in a block does not guarantee that the transaction is valid. What if a miner included an invalid transaction?

Again, the point of a blockchain is to remove trust in third parties. By trusting miners to have validated transactions, you are trusting a third party. Verifying a block after you receive it from someone else removes that trust in a third party because you yourself has checked that the block is valid.

Third, when the block is added to the network, isn't it a third validation?

Forth, when the block has several more confirmations, isn't that a forth validation?

Kind of (to both). But again, you yourself are not verifying the blocks if you are not running a node. You are trusting that someone else has verified the blocks. That is trust in a third party, which is what the blockchain is designed to avoid.

A light node, although doesn't have the full ledger since the genesis block, keeps a section of the most recent blocks, isn't that sufficient?

Why would a light node be riskier?

No. If I had sufficient hash rate, I could produce a block that has an invalid transaction and send it directly to your light node. This block with the invalid transaction that spends a nonexistent input and could be something that defrauds you. If you have not verified the entire blockchain and constructed the UTXO set, then you do not know that the transaction is invalid because it spends an nonexistent input. You cannot verify this for yourself. You are trusting a miner that the transactions is valid. This is riskier because you could inadvertently accept an invalid transaction and thus lose money.

Realistically, what are the chances of receiving incomplete or invalid blocks?

Pretty low. But the whole point of the blockchain is to remove centralization and trust in third parties. By using a light node, you are now trusting third parties and this increases your risk for being defrauded.

  • I understand your point on 'trust' and eliminate 'intermediary' but realistically, isn't that duplicating effort and a waste of resources? – Samantha Nov 22 '18 at 5:34
  • 2
    @Samantha yes, it is a duplicate effort relative to a centralized system where you just trust the central third party to behave honestly (eg Paypal), but I wouldn't say it is therefore wasteful - it just uses more resources in order to achieve a different goal. Building a networked system of value where you don't have to trust a third party is non-trivial, and the solution provided by Bitcoin allows users to independently validate the state of the network. As a user, you can trust someone else to do this validation for you, or you can do it yourself. – chytrik Nov 22 '18 at 6:18
  • I understand this is based on the concept of blockchain. Let's not take into consideration to trust or not to trust. Technically, based on the validation protocols, is there a need to use the full ledger to validate? – Samantha Nov 22 '18 at 7:50
  • 3
    Also, don't forget that the reason you can trust miners (by using light clients) is because they have an incentive to validate transactions before including them in a block. The reason that they have that incentive is because people (but perhaps not you) do run full nodes and would reject their blocks. While you, personally, may not actually have much reason to run a full node, the ecosystem as a whole very much does. – Pieter Wuille Nov 22 '18 at 7:54
  • 1
    It is certainly not a needed step for everyone. But it is absolutely essential that enough parties do, otherwise the protections for everyone disappear. – Pieter Wuille Nov 22 '18 at 9:08

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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