Post
Topic
Board Bitcoin Discussion
Merits 10 from 5 users
Re: Validating vs mining nodes, really a myth ?
by
figmentofmyass
on 14/02/2019, 21:51:14 UTC
⭐ Merited by LoyceV (5) ,Halab (2) ,squatter (1) ,o_e_l_e_o (1) ,xandry (1)
Hey guys,

i was pretty sure that validating nodes give us some kind of security even if they don't mine.
But now i got into a lot of discusssions with these BCH/SV guys and not 100% anymore Cheesy How does a full node prevennt double spending, its accepting the longest chain no matter what no?

full nodes cannot prevent a double-spend attack because double-spend attacks are 100% compatible with the protocol. it's one of the weaknesses of proof of work consensus. our nodes verify that miners are building on the chain with most cumulative work. that chain could be one where miners just committed a double-spend attack.

this is supposed to be mitigated by providing mining incentive---inflation and fees provide miners with compensation for honest mining. committing double-spend attacks costs money and carries risk of failure.

What else are they validating. Does a node operator has to do manual auditing of blocks to confirm no double spend happened?

they are validating every transactions and block against the consensus rules---bitcoin's rules. one of the most sacred rules is the 21M cap on supply. so for example, a full node would reject any block that pays more than 21 million bitcoins in an output---that would be an obvious attempt to break the rules by over-inflating the supply.

so what is true or wrong about this article from this Faketoshi Craig ?

https://medium.com/@craig_10243/the-myth-of-the-full-validation-node-d7db52748649

non-mining full nodes do not actively affect the consensus (they do not mine blocks) but they passively affect the consensus by forcing miners to act honestly. to use the earlier example, if miners tried to fork the protocol to inflate the supply beyond 21M coins, SPV (non-validating) nodes would follow miners and would have no idea about the theft that was occurring. fully validating nodes would reject any such fork, which prevents miners from attempting it. if miners tried, they would waste money mining an invalid chain which would be rejected by a network of full nodes.