Post
Topic
Board Development & Technical Discussion
Re: Can I just run a pruned node without downloading historical data?
by
PrimeNumber7
on 10/10/2021, 23:40:56 UTC
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.
In my opinion, this is a more significant change than you might think. Lots of nodes might decide to use this method, leaving only a small number of nodes holding the entire blockchain. While with a perfect implementation of your above suggested idea, it might not be an issue if one day nobody has the whole blockchain anymore, I believe such a big change (and possible risk) can't be justified since HDDs are so, so cheap.
Storing the entire blockchain will provide businesses the opportunity to profit, for example by serving ads to users viewing transactions on a block explorer, analyzing previous transactions (similar to the work done by chainanalysis).

I think my proposal would remove nearly every barrier someone has to running a full node, and that people using light nodes would go down to nearly zero. I also think over the long run, if bitcoin were to see widespread adoption, it is going to see a much higher percentage of transactions conducted via their phone, either on-chain transactions or transactions on an L2 type network such as LN. I don't see any reasonable way to run anything resembling a full node on a phone without the ability to not download the entire blockchain.

Further, there is no reason why I need to know about someone buying coffee in 2014, or about every single transaction in the 2015 spam attack, or any other subsequent spam attack. The reason why I need to validate these transactions today is that these transactions must be validated in order to validate subsequent blocks.

I don't like to share too much personal information; in fact I don't even know myself what constitutes how much data usage. I'm not a Netflix subscriber though. I would like to watch more movies but I never have the time. However, there are many more data hogs apart from Netflix binge-watching. Non-exhaustive, generic list: video calls / meetings (they were a thing before COVID Grin), software updates, cloud backups, working via VNC, simply large file downloads like ISOs, watching documentaries, high-bitrate audio streaming, downloading games (modern games can easily hit 100GB each), playing those games, cloud-connected security cameras - just to name a few. I don't know how much this list applies to developing countries or how much their average bandwidth usage is, though, to be honest.
I think a lot of your examples would probably constitute "business" use, although most residential ISPs would probably not especially care if someone was doing any of the above except for the ISO files if they are downloaded on any kind of regular basis. Perhaps someone who is working from home might reasonably use 350 GB+ of bandwidth using his work computer, depending on the specific setup, and how much of his day is made up of meetings that must take place via video.

I think, for the most part, most of your above list is probably not very commonly used in third-world countries.