There are now people, maybe a majority of Bitcoiners, who genuinely believe that spinning up non-mining nodes helps secure the network. How do we undo this? I mean, that's just technically wrong and yet so many people now believe it. Running a non-mining node has close to zero effect on the network, it's something you should do for yourself, to validate transactions. Rant over.
Why do I care? There are literally people now wasting time and money running multiple non-mining nodes in their basement thinking they are contributing to the network.
Happy to debate if someone has real arguments in favor of non-mining nodes "securing" the network.
There are now people, maybe a majority of Bitcoiners, who genuinely believe that spinning up non-mining nodes helps secure the network. How do we undo this?
Non-mining nodes do help secure the network in a number of ways:
  1. They improve privacy for everyone, by increasing the k-anonymity set of Bitcoin nodes.
  2. If needed, non-economic nodes can be quickly turned into economic nodes by changing wallet settings.
  3. They make it harder to perform node-level Sybil attacks, especially in circumstances where the attacker needs diverse IP address space.
  4. Running a node helps people learn more about how Bitcoin works.
  5. Running nodes normalizes running Bitcoin nodes, pushing back at narratives painting nodes as "money transmission" or similar nonsense.
  6. Publicly accessible nodes help other nodes stay in sync by providing bandwidth. This is particularly helpful if you run an archival node, especially with block filters turned on.
If you've got some spare hard drive space, you should run a node. It doesn't even matter if it's publicly accessible or not. Bitcoin Core is just software. You can run it on your laptop just fine (a pruned mode needs just ~10GB of space). I have Bitcoin Core on all my laptops and desktops.
If you have some spare money, go ahead and buy a raspberry pi or a mini-PC and run a node full time. At worst you'll learn a little bit about Linux and system administration, which is always a useful skill.
There are literally people now wasting time and money running multiple non-mining nodes in their basement thinking they are contributing to the network.
Yes, multiple nodes on one internet connection doesn't help others much, if at all. But very few people are doing that, and the few who are aren't significantly harming anyone else. This isn't a problem worth complaining about.
reply
Non mining nodes secure your own bitcoin, so you can tell if you actually received your coins or not.
reply
Yes, they assure that they are sending/receiving bitcoins in a completely secure way.
reply
reply
Bingo.
reply
Non-mining nodes do help secure the network if the purpose is self-hosting a wallet.
There are 3 main power sources in Bitcoin ecosystem, they exist in a balance-of-power arrangement (similar to 3 branches of govt):
  • Miners
  • Developers
  • Wallets
By "running your own node" (and hosting your wallet therein) you are keeping check on Miners / Developers. Miners can't come up with crazy ideas that widely used wallets will ignore....similarly Developers can't come up with crazy ideas if either Miners or Wallets refuse to install their code....
reply
Wouldn't those nodes be more credible? Since they are not receiving rewards.
reply
I agree with your rant.
Don't forget to say that most of these clueless "node runners" where bombarded with videos and podcasts and marketing shills for all those RPi "nodes" from the 2020-2021 era selling them these "machines" as being the ultimate node machines.
In the end was all about selling hardware and make a buck.
You will never see from these hardware sellers and so called "node software" promoters that in order to run a fully public node that really help the network you would need to do some configurations and have some SPECIFIC hardware and connection.
  • port 8333 open and configured specified number of outbound connections allowed. This will imply to have a good RAM machine and a good internet connection, in order to be able to share the seeding blocks to other many nodes. A RPi will just die if you open that outbound to unlimited connections.
  • a good size of local mempool configured. The default 300MB size of the mempool sometimes is not enough. A 2GB mempool on a RPi node is just killing it, instantly.
  • bitcoin.conf must be configured with maxuploadtarget and maxconnections in order to "help the network". Otherwise is worthless, just a personal node that doesn't count.
reply
The default 300MB size of the mempool sometimes is not enough.
It's plenty enough, and it's quite rare to have a good reason to change it. The main purpose of the mempool is simply to help transactions be propagated for the purpose of being mined, by storing what transactions have already been propagated. Transactions with low fees aren't going to be mined soon, if ever, so there aren't good reasons to propagate them or store them in mempools. Propagating them is generally just a waste of your peers' bandwidth.
bitcoin.conf must be configured with maxuploadtarget and maxconnections in order to "help the network". Otherwise is worthless, just a personal node that doesn't count.
Huh? The defaults for both those options work fine for the vast majority of people. If anything, we're better off if a large number of people run a lot of smaller nodes. That makes deanonymizing Bitcoin transactions by tracing them to their origins much harder than a small number of big nodes.
port 8333 open and configured specified number of outbound connections allowed.
Having nodes that aren't publicly accessible improves privacy for everyone by making it harder to identify peering connections, again making it harder to trace transactions back to their source.
reply
reply
Don't non-mining nodes contribute towards consensus? I mean isn't that how user activated soft forks work? My understanding is that in 2017 non-mining nodes essentially voted against the majority of miners to activate the SegWit soft fork.
I think it depends on what type of security you are talking about. Obviously non-mining nodes don't contribute towards double-spend / 51% attack resistance, but they do certainly have influence over the network, in a way securing the protocol from centralized changes.
I definitely agree that multiple nodes controlled by one person doesn't help secure the network any more than running a single node.
reply
This is my understanding as well.
Miners create new blocks
If a miner wins a block and enter transactions rejected by the nodes, the block will be rejected and thus lost the block rewards.
reply
It depends on how you define "secure the network."
Your own node relays transactions, manages a mempool, allows you to privately access and verify chainstate, and validate your own transactions, among other things. It's a pre-requisite to route lightning payments and help build out a credible decentralized medium of exchange functionality for btc, which accelerates its monetization. Collectively, these are all important for the socio-technical ecosystem that btc functions in and is composed of.
Btc is more than just a technical specification. Not understanding that is to miss most of the important things about it.
reply
the more the better, but one per user is enough
reply
It secures the network by validating consensus rules for your own sake and for the sake of everyone connected to you. If node runners were to drop their nodes, they’d lose their voice in consensus and nodes following different consensus rules (that might power multiple different wallets) could force their own agendas.
The whole point of Bitcoin is to be able to have regular people audit the chain. If more hashrate is given to a chain that can make Bitcoin at-will, none of the people they’d transact with would respect their proposed balance. So in a way running a node secures the network by having someone you transact with notify you if you’ve drifted from the consensus rules and vice-versa.
reply
Bitcoin miners AND Bitcoin nodes secure the network. it's a shared responsibility with a lot of nuance.
reply