The cost of hardware is not the only cost of running a full node. Users must also have an internet connection that is sufficient to handle block downloads and the initial blockchain sync. For most of the "first world", this is not an issue as users will have an existing broadband connection they use and need for other reasons. There are "data caps" in some parts of the world that limit the amount of data a customer can transfer per month without paying an overage fee. If you have a data cap, there is a good chance the 350 GB initial blockchain download will exceed your cap, as there are very few legitimate reasons to need to download that much data in one month (the initial blockchain download is probably the only legitimate reason for most non-business users of an internet connection).
You're right; if we look at sites like
https://bitnodes.io/ it is clear
BTC full nodes should be more decentralized, especially in developing countries.
[img width=512 ]https://i.postimg.cc/nzrTR66C/image.png[/img]
https://bitnodes.io/This is now going a bit off-topic, we could create a new topic for 'bringing BTC full nodes to developing countries' to gather ideas
But a few thoughts:
If they don't run a full node (this topic is about pruned nodes), the decentralization is not really better; it's just maybe better for them (anonymity when looking up blockchain information). If there's no way to get an uncapped data connection, it might be an idea to sell / gift HDDs with blockchain sync on them to such countries. They should download Core and verify it themselves; then the software will verify all blocks when starting up, so the users don't really run a risk there of 'trusting someones IBD'.
A pruned node is technically a full node, although with slightly less functionality, such as the ability to rescan the blockchain for transactions.
When I purchase hardware with the intention of using it for anything to do with bitcoin/crypto, I will purchase hardware that could potentially be (and most often is) used by someone who is not using the hardware to handle bitcoin/crypto transactions. This reduces the risk of someone tampering with the hardware who is targeting someone who is a bitcoin user. If someone is selling HDDs with the blockchain pre-loaded, there is the risk to the buyer that the seller has put some kind of malware on the HDD designed to steal the buyer's private keys.
I
suggested upthread that blocks contain a hash of the UTXO set. This could potentially be done via a softfork, for example by requiring coinbase transactions to have a OP_RETURN transaction with this hash. Nodes must already store the current UTXO set in order to check if a particular transaction is valid or not.
A node can obtain the actual UTXO set as of block
x from a third party, calculate the hash of the UTXO set it was provided, and compare this to the hash contained in block
x it receives from its peers. The node will also look at subsequent blocks to see how the UTXO set changed according to the blocks, calculate the hash, and validate accordingly. As long as the node is not being subjected to a Sybil attack, I would confidently say the node has sufficient information to know if a transaction is valid or not.
With regards to legitimate use of bandwidth: way back, when I started my first Bitcoin node, I checked my family's monthly data consumption to see if it would jump up significantly with a node running, and it was ~300GB of all legitimate data
So it's not unreasonably much. There are also schools, student dorms etc. which share a connection and go terabytes per month at least. But I agree; some places indeed don't offer unmetered, so we need a solution for that, which still allows people to have the full blockchain locally.
I am not sure where you live, or how big your family is. My guess is that a big chunk of your data usage is from various streaming services. Streaming a video in 720p (HD) uses about 0.9 GB per hour, and streaming in 2k (higher quality HD) uses about 3 GB per hour. That works out to about 2.7 hours of 720p per day (assuming a family of four), or around 50 minutes of streaming per day at 2k. I don't think spending 2-3 hours/day watching Netflix is something I would want to be spending my time doing, but I also don't think it would be totally unreasonable.
I don't think there are a lot of people in third-world countries spending $14/month on Netflix though.