In what way is that an "outright lie"? Running a full node protects your privacy. It also makes your wallet more secure, which it does talk about as well. The article does not just talk about privacy.
No, running a full node does not protect your privacy. Contrary to a lightweight that connects to supernodes (e.g. Mycelium) where you lose privacy to some entity (i.e. the operator of the supernode), With a full node you lose privacy globally as today the network sees the originating IP for a transaction. Because statistically the "Relayed by IP" information is now unmasked to the world.
However, I am NOT advocating the lightweight/supernode concept. Just debunking the privacy claims.
How are those not full nodes anymore? None of those things (pruning, limiting connects, limiting bandwidth) are part of the definition of a full node (
https://en.bitcoin.it/wiki/Full_node#What_makes_a_full_node.3F). The only thing that makes a full node "full" is that it has to download, verify, and validate every single block and transaction. Pruning still does that, it downloads every block and transaction.
So... if all nodes out there were "full nodes" according to your definition (and probably according to the bitcoin.it wiki, which currently shows only a Error 524 cloudflare) - where would the "every block" come from? If all nodes today turned on pruning, bitcoin could never ever add a new full node again.
After it checks them, the data is deleted because it isn't necessary to store all of that. It simply won't be able to bootstrap another node, but that behavior is not part of what defines a full node.
Oh. So now we are in the "define that word" game. What will we call nodes "that are able to bootstrap full nodes"? Hypernodes?
I'm fine with that. Let's incentivize only those.
So again, how are they not full nodes?
See above. Apparently we are talking about some other name now. Because there clearly is a difference between "full nodes" and "more full nodes". And if you - just for a second - forgot about nitpicking and remembered the true reason why we have this discussion in the 1st place (ensuring a robust network), you would probably start to see value in the "more full nodes".
Actually they could be used in a sybil attack against one node, where those fake nodes take up all of the connections of a node and serve that node an alternate blockchain.
True. How is that different from the situation today? Does "incentive" make a difference there?
Furthermore, there could be fake nodes that relay, but don't check. They could just be extra bandwidth that sends blocks and transactions around, but it isn't helpful if those fake nodes are not checking the blocks and transactions to make sure that they are valid. So they pretend to be a full node, but aren't actually doing the job a full node is supposed to.
Actually those nodes would do more harm than good, because without dropping invalid tx they could cause kind of epileptic brainstorm to the bitcoin network, where a malevolent attacker would feed invalid tx and rely on these nodes to amplify his spam.
How about this:
I will call the nodes that IMHO would deserve an incentive "pillar nodes". These are nodes, that
a) can bootstrap any other node, i.e. carry all blocks
b) do validate transactions
c) maybe some more requirements about throughput/latency...
d) are available 24/7 (or sufficiently close to it)
Let me compare the situation to the electric grid. A blackout is a bad thing. Even more so, because there can be a cascade of events leading to a blackout in some geographically extensive area. Some power plants and/or grid lines go down, causing overload, causing shutdowns, causing more shutdowns. Nearly ALL modern power plants cannot start without power.
There are some, that can. I know of a hydroelectric power plant that is designated to be able to start up a nuclear power plant in case everything else (grid, generators, ...) went black. Because hydroelectric power plants can start delivering power "into the night".
I hope it is clear where I am heading with this.
In the early days of Bitcoin, a "full node" actually meant a node containing ALL blocks. It meant validating transactions. It even meant mining. The only thing it never meant was 24/7.
People did run full nodes, because it was not a big deal (I had a 200GB HDD in 2010 and the blockchain was like 1 GB in 2012) and there was an incentive: mining This incentive is now gone, the blockchain today is 85GB and I have purged my wallet to my home server, because I will certainly not let it occupy my quite expensive 512GB NVMe SSD.
Running a node similar to what it used to be back then (= not crippled) has become a PITA nowadays. You basically have one core constantly busy, around 750GB of monthly traffic, and 85GB of disk space, constantly rising.
How long do you expect this will go on with people running "nodes like that" for free?
If your answer to this problem is "then don't run nodes like that" (which at the moment I'm afraid is just what you're saying), then unfortunately you're advocating Bitcoins demise in the long term.
There is a deanonymization because there is a list of nodes that have relayed the transaction. The issue comes in with the node that created the transaction. That node would be the first node to attach its fingerprint to the list. Thus all of its peers, when they receive the transaction, can see that only one node has relayed that transaction. It will also know which peer relayed that transaction with one node on its list so it knows the ip address of the person sending the Bitcoin in that transaction.
Ok. I see that now. Even though the fingerprint does not contain the IP, it can be derived from the connection info. If you see above the lightweight/supernode concept that is e.g. with Mycelium -
that is actually something that would ensure the senders anonymity in this case. Again, I'm not advocating this. You have to trust someone, which is not quite the concept we would like to have.
How about this:
A "pillar node" is a node that
a) has all blocks - can bootstrap anyone
b) verifies transactions
c) maybe some more requirements about throughput/latency...
d) is available "24/7" (say - at least 99% of the week)
e) is purely altruistic: does not have a walletA corollary to e) would be "full nodes containing a wallet cannot add any info to the tx" - for their own good.
Now if some "pillar node" got a tx without a fingerprint, it could be from the originating IP, but effectively all it knows is that the originating IP does have a wallet or (because that should be optional) simply forfeits any potential incentive or just relayed the tx from another wallet-node that did the transaction. The deanonymization problem should be gone with that.
Rico