Author

Topic: Do pruned nodes help the network? (Read 209 times)

legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
August 26, 2022, 04:17:05 AM
#14
This isn't accurate. To prevent fingerprinting, pruned node only serve latest 288 blocks.
I thought 288 was a variable that could change at the start.

No, it's also part of networking service NODE_NETWORK_LIMITED[1].

What kind of service you're talking about? AFAIK you can't serve BIP 37/157 request with pruned node.
I mainly had the initial syncing in mind considering that AFAIK pruned nodes store all block headers so they can still provide that to SPV clients that are syncing.

Considering that pruned nodes store chainstate, the SPV clients should technically be able to ask a pruned node if a UTXO is still unspent or receive a set of UTXOs that belong to their address. Although pruned nodes don't support such messages.

I see. But NODE_NETWORK_LIMITED BIP[2] mention pruned node/peers can relay header, unless i misunderstood it.

[1] https://developer.bitcoin.org/reference/p2p_networking.html#version
[2] https://github.com/bitcoin/bips/blob/master/bip-0159.mediawiki#motivation
legendary
Activity: 3472
Merit: 10611
August 26, 2022, 10:35:08 PM
#13
I see. But NODE_NETWORK_LIMITED BIP[2] mention pruned node/peers can relay header, unless i misunderstood it.
I can't say based on the BIP or the code but from experience I have requested block headers from nodes advertising NODE_NETWORK_LIMITED flag, even the older block headers, by sending a header locator while syncing and they responded with old headers that they shouldn't have the corresponding block for.
legendary
Activity: 3472
Merit: 10611
August 25, 2022, 10:18:50 PM
#12
This isn't accurate. To prevent fingerprinting, pruned node only serve latest 288 blocks.
I thought 288 was a variable that could change at the start.

What kind of service you're talking about? AFAIK you can't serve BIP 37/157 request with pruned node.
I mainly had the initial syncing in mind considering that AFAIK pruned nodes store all block headers so they can still provide that to SPV clients that are syncing.

Considering that pruned nodes store chainstate, the SPV clients should technically be able to ask a pruned node if a UTXO is still unspent or receive a set of UTXOs that belong to their address. Although pruned nodes don't support such messages.
legendary
Activity: 2212
Merit: 7064
August 25, 2022, 11:49:23 AM
#11
Yeah, anything that requires motion is going to be the biggest power consumptions. So, ideally you'd be running it on a SD card potentially, and without a fan. Then, you'll have the least power consumption as possible.
Raspberry Pi 400 works like that, there is no fan just one big metalic heatsink, and it's not spending more than 5w according to various tests, that is much less than any laptops.
I don't know any modern laptop without fan (except some with ARM processors like Pinebook or MNT reform) and I think it wont last very long without fan cooler.
35w or 45w is standard for processors but you can always tweak settings in BIOS and make it draw less power with underclocking.

If the CPU doesn't overheat without the fan, it can't draw that much power. I've seen laptops with CPUs that take 45W, those wouldn't last without a working fan.
Those laptops with 45w CPUs also needs stronger power adapters, usually stronger than 90w and you can't charge laptop battery without them.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
August 25, 2022, 08:37:35 AM
#10
I suppose you're running it on a Linux system, without running the software on that device that's connected to the internet? Hey, you've been doing it for a while so nothing wrong with your approach, I was just wondering, since I'm very cautious of unknown applications, even when running on Linux. Strictly downloading the software, isolating it, so that it doesn't compromise to machine or the network. Network is the weakest point in your process I'd assume, but if you aren't executing it on a internet connected device, then I suppose the risk is minimal anyway.
So you mean my local network could be at risk? That wasn't on top of my list of concerns, but I guess it's possible. I wouldn't know how to avoid that though, given that I have to download the blockchain.

Quote
Yeah, anything that requires motion is going to be the biggest power consumptions. So, ideally you'd be running it on a SD card potentially, and without a fan.
If the CPU doesn't overheat without the fan, it can't draw that much power. I've seen laptops with CPUs that take 45W, those wouldn't last without a working fan.
staff
Activity: 3304
Merit: 4115
August 25, 2022, 06:41:37 AM
#9
I use CoinMarketcap.com to find the "official" website, and then just download the wallet from there. With VPN, of course.
I suppose you're running it on a Linux system, without running the software on that device that's connected to the internet? Hey, you've been doing it for a while so nothing wrong with your approach, I was just wondering, since I'm very cautious of unknown applications, even when running on Linux. Strictly downloading the software, isolating it, so that it doesn't compromise to machine or the network. Network is the weakest point in your process I'd assume, but if you aren't executing it on a internet connected device, then I suppose the risk is minimal anyway.

I expect the CPU to matter much more than anything else. Rule of thumb: if it needs a fan, it's not good.
Yeah, anything that requires motion is going to be the biggest power consumptions. So, ideally you'd be running it on a SD card potentially, and without a fan. Then, you'll have the least power consumption as possible.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
August 25, 2022, 06:37:13 AM
#8
Old laptops are good for running untrusted wallets though, that's what I do:
All this fits on 160 GB Smiley
Just out of curiosity, how are you handling the downloading, and transferring of these untrusted wallets?
I use CoinMarketcap.com to find the "official" website, and then just download the wallet from there. With VPN, of course.

Can you estimate how much electricity is spent for running pruned node compared to running normal laptop system?
I don't think the pruned node adds much to the power consumption, it's the fact that it's on 24/7 instead of being tucked away in a drawer that adds to the cost.
Let's take a small old laptop and assume it takes 15W. That's 130 kWh/year. I've seen quotes of people paying $0.05 per kWh, but here new contracts go around €0.80 nowadays. So I guess it depends on where you are. Chances are a VPS is cheaper if you pay those very high rates.

Might be something I'm interested in doing though. If anyone has any thoughts on the best way of going about measuring the consumption of both, I'd like to hear them.
I expect the CPU to matter much more than anything else. Rule of thumb: if it needs a fan, it's not good.
legendary
Activity: 2212
Merit: 7064
August 25, 2022, 06:35:14 AM
#7
You could probably measure this by getting one of those power consumption plug ins, and running both a pruned, and full node for an extended time. I doubt anyone has looked as this though.
I have one of this devices you can plug in electric socket and measure how electricity is spent by any device, but I never tested this with laptop running bitcoin node.
If someone wants to save on electric bills I would rather use Raspberry Pi, that spends much less than any laptop but downside is much slower cpu speed.
Bigger older screens with higher resolution needs more power, but you don't really need screen all the time.
staff
Activity: 3304
Merit: 4115
August 25, 2022, 06:19:29 AM
#6
Can you estimate how much electricity is spent for running pruned node compared to running normal laptop system?
I think old laptops spend a lot of energy for screens and processors, but turning off screen can reduce consumption.
Used RAM is cheap so I don't think that would be a problem, if it's not soldered and can be upgraded.
You could probably measure this by getting one of those power consumption plug ins, and running both a pruned, and full node for an extended time. I doubt anyone has looked as this though. I imagine the differences aren't all that much in terms of energy consumption. Especially if you're running it on a cmd line based system, rather than a graphical interface.

Might be something I'm interested in doing though. If anyone has any thoughts on the best way of going about measuring the consumption of both, I'd like to hear them.
legendary
Activity: 2212
Merit: 7064
August 25, 2022, 06:17:33 AM
#5
Hello, I've an old laptop which I can let open 24/7, but it has low storage (160 GB), so I can't run a full node. Does a prune nodes helps the network, if I allow incoming connections?
How old is your laptop exactly, what processor it has, and is 160 GB storage SSD or HDD?
It's sure safer to run pruned node than regular spv wallets with using someone else node, but I am not sure how much this contributes to the network.

I wouldn't run a laptop just for this. It's not worth the electricity, and considering it has a small disk, it's probably low on RAM too.
Can you estimate how much electricity is spent for running pruned node compared to running normal laptop system?
I think old laptops spend a lot of energy for screens and processors, but turning off screen can reduce consumption.
Used RAM is cheap so I don't think that would be a problem, if it's not soldered and can be upgraded.
staff
Activity: 3304
Merit: 4115
August 25, 2022, 06:16:13 AM
#4
Yeah, to put it basically. Although, less than a full node. Unless you want to do it as a hobby, we probably would prefer full nodes to pruned nodes. Although, it's not like the network is in dire need, so while every node does count, it really depends on what your motivations are. You aren't going to earn from it, and you aren't going to be giving the full benefits to the network, however you will be providing more of a contribution by running a pruned node, than without running one at all.

So, it depends on your situation, and whether or not you can justify the costs associated with running a pruned node, whether it's worth it or not.

Old laptops are good for running untrusted wallets though, that's what I do:
All this fits on 160 GB Smiley
Just out of curiosity, how are you handling the downloading, and transferring of these untrusted wallets? I usually do it via Qubes OS so everything is isolated, and no need for a old computer, unless of course you want physical isolation, which is always going to be theoretically better than virtualisation.
legendary
Activity: 3472
Merit: 10611
August 25, 2022, 03:52:25 AM
#3
"help the network" is a broad spectrum. There is a bunch of things that a bitcoin node does. One of them is to send historical blocks to other peers, which a pruned node can not do.

Other than that a pruned node does everything else:
- It enforces the consensus rules by downloading and verifying everything and rejecting anything that is invalid (eg. an invalid tx sent to its mempool).
- It can validate and relay transactions and help propagate then through the network
- It can validate and relay new blocks and blocks in recent history (like past 1-2 days) depending on the dedicated disk size
- It can show support about changes like soft forks we rarely have
- And of course it helps keep Bitcoin network decentralized
- They can even provide some services to light clients (I don't think they do though, they just can)
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
August 25, 2022, 12:44:19 AM
#2
I tested this a while back, and it did upload more than it downloaded per day. But it will take a long time to "make up" for the 450 GB it has to download first.
I wouldn't run a laptop just for this. It's not worth the electricity, and considering it has a small disk, it's probably low on RAM too.

Old laptops are good for running untrusted wallets though, that's what I do:
I've added this to my toolbox for my Fork Claiming Service: a space laptop with 2 Linux distributions installed in dual boot. The first is to work on, the second doesn't have internet and now has 5 partition images:
1. A fresh installation with VPN
2. A fresh installation with VPN and BCH full client, synced up to 2010, and set to prune. And BCH's Electrum Fork.
3. A fresh installation with VPN and BTG full client, synced up to 2010, and set to prune. And BTG's Electrum Fork (using wine).
4. A fresh installation with VPN and BCD full client, synced up to 2010, and set to prune. And BCD's Electrum Fork.
5. A fresh installation with VPN and eCash full client, synced up to 2010, and set to prune. And eCash'es Electrum Fork.
The laptop doesn't have enough disk space to keep all full clients.

This setup makes it much easier to handle Forkcoins: I restore the partition I need, boot into it, import the address/pubkey, and let it sync. When done, I take it offline, enter the private key, and create a raw transaction to transfer funds. After that, I boot into the second Linux distribution to overwrite the first partition. This makes offline signing relatively easy without ever risking the private key to untrusted software.
All this fits on 160 GB Smiley
jr. member
Activity: 43
Merit: 25
August 25, 2022, 12:36:36 AM
#1
Hello, I've an old laptop which I can let open 24/7, but it has low storage (160 GB), so I can't run a full node. Does a prune nodes helps the network, if I allow incoming connections?
Jump to: