I am just understanding the Bitcoin network, and now understand that every block and every transaction is propagated to every node in the Bitcoin network (not sure yet the difference between full vs. validating vs. other nodes). But my question is, why a transaction needs to be propagated and validated by every node. I get that if only 1 node were to validate someone's transaction, they could team up perhaps and so bypass the rules for the system. So everyone checking that it is acceptable means no one can cheat or team up and cheat. But wondering if there is anything else to it. I wonder why you can't just trust that the user submitting the transaction is trustworthy and their transaction is correct, or if this is the whole point of the validation mechanism.
-
trusted third parties are security holes! Bitcoins beauty is to not have such (expect partially trusting the machine it runs on and eventually the source code or binary).– Jonas SchnelliCommented Feb 17, 2019 at 18:51
-
1From your question, it sounds as if you're interested in the techniques used by XLM and XRP to validate transactions without requiring every node to agree. Whether those techniques are better or worse than Bitcoin's depends whom you ask, so you'll probably have to compare the BTC whitepaper to the XLM whitepaper and the XRP whitepaper and decide for yourself!– user58807Commented Feb 17, 2019 at 19:02
1 Answer
I think your confusion comes from a slight misunderstanding of the reason a node validates all transactions/blocks.
This validation is done so that the user running the node can join the network and verify the current state without needing to trust anyone else in order to do so. Importantly, it allows sovereignty, you do not need someone else’s permission in order to join or participate in the network.
Each node doesn’t really care if other nodes validate transactions, it just does it’s own thing and provides the user with the ability to interact with the network trustlessly. Of course, the user is benefited by joining a widely utilized network (network effects, etc), but ultimately it is in the users interest to determine the network state themselves, so that someone else can not lie to them, disallow them participation, etc.
In some sense, if you need to trust someone, then why use a blockchain at all? There are much more efficient technologies and networks that could be built, that could take advantage of efficiency gains through centralization (though through a loss of sovereignty - and it is this trade-off that makes the inefficiencies of Bitcoin worthwhile).