7

TWO questions on Neutrino::

1) Could Neutrino technically as side-effect, incentivize centralization of the bitcoin network? Or other formulation: ...hinder higher degree of decentralization?

Why I am asking: This article by Dorier pointed me to this thoughts. https://medium.com/@nicolasdorier/neutrino-is-dangerous-for-my-self-sovereignty-18fac5bcdc25

He basically says neutrino users are still not FULL NODES. Therefore doesnt make sense to switch from SPVs or webwallets to neutrino enabled wallets....

Could the technical knowledgable members here maybe do an explanation, why Dorier might come up with this thesis, what technical arguments are speaking for it? Or do you think its a baseless thesis?

2) He basically says, why do we need neutrino, its essentially the same as SPV... Why is there technical advantages with Neutrino, what are its differentiators to SPV?

Thank you

8

Dorier is correct that Neutrino/SPV nodes are not full nodes, because they do not verify the entirety of the blockchain, leaving potential room for attack. However, the portrayal that Neutrino is no better than other SPV modes is not correct.

Neutrino is a form of SPV which improves greatly over other implementations in regards to privacy. All SPV modes inherently leak some hints about transactions you wish to receive because the information must be queried. Neutrino improves over previous SPV modes by limiting precision of information leaked to the blocks which contain the transactions they are concerned with. A full node does not leak any information because all blocks are archived and no querying needs to occur.


The trouble with SPV nodes is that they only verify that transactions have occurred using some SPV proofs, but they do not guarantee that you are on the correct, most proof-of-work chain. Any single deviation of the full validation rules could fork off onto a separate chain, where the full nodes would reject the chain which SPV users might follow.

To give a concrete example, the maximum block size is part of the validation rules. A full node will never accept a block which is over the allowed size. An SPV node may accept any sized block as truthful, because it doesn't know the block size and cannot measure it - it only receives the block header and it must trust the servers delivering the block header information to have properly validated the information.

The only way to counter this is to perform all of validation rules expected by a full node, which includes the block size, and therefore, requires you to receive all of the transactions in a block to measure its size.

Another validation not performed by current SPV modes is the rules regarding the coinbase transaction, which mints new coins. Deviation from this rule could lead to inflation of the supply of coins on the chain followed by an SPV node, who would be none the wiser.


The above do not mean that SPV nodes are inherently bad or must necessarily be avoided - but highlights that there is an attack surface which SPV nodes are vulnerable to, but which full nodes are immune to by design.

The concern that Dorier and others have, is that if it becomes commonplace to ditch running full nodes because of the expectation that a Neutrino node is good enough, then full nodes might begin dropping off the network and leaving fewer and fewer entities responsible for the validation of the full set of rules. If an overwhelming majority of nodes simply follow the rules of a few validators, then protection of the economic majority against inflation and block size expansion would be weakened compared to a network where a majority of people validate all of the rules.

  • 1
    "A full node does not leak any information because all blocks are archived and no querying needs to occur." Seems like technically, all querying occurs, and thus no information is leaked because there is no division into queried/not queried. – Acccumulation Apr 24 at 21:46

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.