Author

Topic: Why didn't satoshi implement reward system for bitcoin node runners? (Read 300 times)

legendary
Activity: 2856
Merit: 7410
Crypto Swap Exchange
I think you misunderstood what i said. By considering IP range/block, that would force attacker to have diverse collection of IP address which make the attack more costly. So the software wouldn't connect to multiple IP in close range (e.g. 10.10.2.2 and 10.10.253.253).
That would mean only one customer per ISP can get paid to run a node. One way or another, this is a terrible "solution" for something that isn't even a problem.

Good point. I forgot about rewarding node when creating earlier reply.

I think you misunderstood what i said. By considering IP range/block, that would force attacker to have diverse collection of IP address which make the attack more costly. So the software wouldn't connect to multiple IP in close range (e.g. 10.10.2.2 and 10.10.253.253).

OK, but what would be the most feasible IP subnet to restrict?

/8 is too wide (and obviously won't do).

/24 is too narrow given the size of the Bitcoin network and will probably end up accomplishing nothing.

Even having max one connection per /16 subnet is going to create issues with syncing for some unfortunate users, who will have to spend a bit more time downloading more slowly.

Honestly i don't know which subnet most feasible. But it seems Bitcoin Core these days use combination of /16[1], ASN[1] and various protocol[2] (such as IPv4, IPv6 and Tor).

Although having said all that, someone could just purchase 1024 IP addresses at many different cloud computing vendors in different regions and even if the simulation only runs for an hour or something, the effects of it being used maliciously will easily be seen by at least part of the network.

And as i stated earlier, it should be more expensive than buying bulk of IP address on certain range.

[1] https://github.com/bitcoin/bitcoin/pull/16702
[2] https://github.com/bitcoin/bitcoin/pull/27213
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I'm struggling to imagine how you could verify evidence for "Bitcoin node running".
It gets even more interesting to do it in a decentralized system: millions of nodes will have to verify millions of other nodes.
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Quick thought: even if you wanted to implement this rewarding system, are we sure it's even technically possible? Verifying evidence that you've worked in Proof-of-Work is as easy as passing an input through SHA256d. I'm struggling to imagine how you could verify evidence for "Bitcoin node running".

Hell, is it even technically possible to prove you own an IP address?
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I think you misunderstood what i said. By considering IP range/block, that would force attacker to have diverse collection of IP address which make the attack more costly. So the software wouldn't connect to multiple IP in close range (e.g. 10.10.2.2 and 10.10.253.253).
That would mean only one customer per ISP can get paid to run a node. One way or another, this is a terrible "solution" for something that isn't even a problem.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
I think you misunderstood what i said. By considering IP range/block, that would force attacker to have diverse collection of IP address which make the attack more costly. So the software wouldn't connect to multiple IP in close range (e.g. 10.10.2.2 and 10.10.253.253).

OK, but what would be the most feasible IP subnet to restrict?

/8 is too wide (and obviously won't do).

/24 is too narrow given the size of the Bitcoin network and will probably end up accomplishing nothing.

Even having max one connection per /16 subnet is going to create issues with syncing for some unfortunate users, who will have to spend a bit more time downloading more slowly.

Although having said all that, someone could just purchase 1024 IP addresses at many different cloud computing vendors in different regions and even if the simulation only runs for an hour or something, the effects of it being used maliciously will easily be seen by at least part of the network.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Most ISPs do not give IPv6 addresses to home users so those won't be able to connect to IPv6 or vice-versa, but a server environment tends to come with both IPv4 and IPv6 addresses, so we are potentially looking at Sybil attacks becoming more subsidized on IPv6-only nodes if that happens.

Such sybil attack could be limited by considering IP range or block (or even ASN) when selecting which node to connect and ban.

Yes, but the average person does not know which IP ranges are bots. Hell, I don't think I would be able to identify malicious bot connections from normal human connections (the user agent can be doctored into a legit Bitcoin Core client as you know). And it's not like this data can just be hard-coded into the Bitcoin codebase, because the IP addresses are constantly changing with new ones being created.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
Btw is that possible to give one node 10,000 different IP addresses? Btw in this case, won't you have to pay for each IP?

IPv4 addresses are more expensive than IPv6 addresses so what would most likely happen if someone wanted to buy a bunch of IP addresses is that they would stockpile IPv6 addresses.

Most ISPs do not give IPv6 addresses to home users so those won't be able to connect to IPv6 or vice-versa, but a server environment tends to come with both IPv4 and IPv6 addresses, so we are potentially looking at Sybil attacks becoming more subsidized on IPv6-only nodes if that happens.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Cost to run a Bitcoin full node is small and you don't need to have ASICs like Bitcoin miners to create hash rate and mine blocks or confirm transactions. Miners do the hardest task and they need to have powerful computational power to solve puzzles for finding new blocks, confirming transactions in mempools.
I'd say it's the other way around: the hash rate is high because miners earn money. If nodes would earn money, running a node would be futile, you'd need to run thousands of nodes to earn money, and we'd say nodes are expensive to run.

Quote
If a network is attacked, it is because of network low hash rate that makes it more vulnerable to 51% attack. If 51% attack happens, Bitcoin full nodes can not save the network or you.
Without attacks and competition, one computer could run the entire Bitcoin network at difficulty 1.
hero member
Activity: 1722
Merit: 801
It's very important to run bitcoin node to increase the security of transactions, to help the decentralisation of bitcoin and make it even more secure. There are so many benefits for bitcoin network to run bitcoin node that it would require from me to write a big article.
Cost to run a Bitcoin full node is small and you don't need to have ASICs like Bitcoin miners to create hash rate and mine blocks or confirm transactions. Miners do the hardest task and they need to have powerful computational power to solve puzzles for finding new blocks, confirming transactions in mempools.

If a network is attacked, it is because of network low hash rate that makes it more vulnerable to 51% attack. If 51% attack happens, Bitcoin full nodes can not save the network or you.

How many Bitcoin confirmations is enough?
https://jlopp.github.io/bitcoin-confirmation-risk-calculator/
https://web.archive.org/web/20181231045818/https://people.xiph.org/~greg/attack_success.html
legendary
Activity: 2912
Merit: 2066
Cashback 15%
Btw is that possible to give one node 10,000 different IP addresses? Btw in this case, won't you have to pay for each IP?
Some people/organisations already have access to thousands of IP addresses.

And with IPv6 which allow far higher total IP address, even individual could buy IPv6 in bulk. My quick search show there's website which offer 64K IPv6 only for 49 EUR/month.

In a way that would still be better than the IPv4 situation though, where you have a handful of incumbents controlling large swaths of the address space. (ignoring that public IP address space is centrally allocated in the first place)
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
Running nodes doesn't necessarily strengthen robustness of the network. If you're running 10 full nodes under the same computer, there is no added robustness comparably to just running one. Even though you can't confirm there is such a thing right now, financially rewarding someone for running a node would incentivize it.

And no, we don't need more full nodes. There are dozens of thousands listening, and even more non-listening.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Btw is that possible to give one node 10,000 different IP addresses? Btw in this case, won't you have to pay for each IP?
Some people/organisations already have access to thousands of IP addresses.
legendary
Activity: 3430
Merit: 10505
The disadvantages of providing financial incentive to run a full node are more than their advantages. That is because it is very difficult to verify if a node you are connecting to is an actual full node or not. It can be faked rather easily and any kind of verification process would just keep increasing the cost of running a full node. Even if we found a way to make sure it is an actual full node, we still can't verify if node A and node B are different entities because one node operator could spin up multiple sockets through IP masks that would look different from the perspective of someone connecting to them.

Not to mention that Bitcoin is not proof of stake or space, etc. it is proof of work which means the only incentive is to the miners that are actually and verifiably spending computing power to perform "work".

P.S. There are about 20k listening nodes but there are more than that running full nodes (about 50k in total)
https://luke.dashjr.org/programs/bitcoin/files/charts/historical.html
legendary
Activity: 2170
Merit: 1789
Yes but if other people also run 10,000 nodes, you are making fifty cents and as the number of node runners increases, the reward decreases.
There is no way running 10k nodes is easy to do for most people. Maybe you'll find 1 hundred or so users or businesses who can do that. I don't think you can discourage centralization by doing that.

Btw in this case, won't you have to pay for each IP?
I believe it depends on how you do that, but it doesn't matter for those who can since their capital can afford that. CMIIW.
hero member
Activity: 2198
Merit: 847
Let's say, 1 bitcoin is created every 24 hours and each node runner gets a fair share of it. I can't understand how would it lead to a centralisation. Reward is not big enough to make it worthy to run lots of virtual servers but reward is enough to keep a fairly big number of people running nodes. There are people who spend days on faucet websites to get some cents and I believe these people would run node in that case. Also, many kids would run nodes to get a dollar or two. I still think low reward would lead to a better decentralization.
If one node earns you a dollar, 10,000 nodes earn you $10k. And all you need to do is give one node 10,000 different IP addresses.
That's why Bitcoin relies on proof of work: it can't be faked.
Yes but if other people also run 10,000 nodes, you are making fifty cents and as the number of node runners increases, the reward decreases.
Btw is that possible to give one node 10,000 different IP addresses? Btw in this case, won't you have to pay for each IP?
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
Let's say, 1 bitcoin is created every 24 hours and each node runner gets a fair share of it. I can't understand how would it lead to a centralisation. Reward is not big enough to make it worthy to run lots of virtual servers but reward is enough to keep a fairly big number of people running nodes. There are people who spend days on faucet websites to get some cents and I believe these people would run node in that case. Also, many kids would run nodes to get a dollar or two. I still think low reward would lead to a better decentralization.
If one node earns you a dollar, 10,000 nodes earn you $10k. And all you need to do is give one node 10,000 different IP addresses.
That's why Bitcoin relies on proof of work: it can't be faked.
hero member
Activity: 672
Merit: 855
Let's say, 1 bitcoin is created every 24 hours and each node runner gets a fair share of it. I can't understand how would it lead to a centralisation. Reward is not big enough to make it worthy to run lots of virtual servers but reward is enough to keep a fairly big number of people running nodes. There are people who spend days on faucet websites to get some cents and I believe these people would run node in that case. Also, many kids would run nodes to get a dollar or two. I still think low reward would lead to a better decentralization.

With over 20000 nodes available will that be enough to go even start off,  that will be 0.00005 bitcoin at the current number which if you look again is still insignificant except maybe for year. Then we will be spending around 365 bitcoin a year aside the block reward giving to miners from the number of total supply we have, then the mining will take a shorter time to reach than we have now. This will actually make a significant change in the network and should we reduce that amount from the block rewards that will cause the amount to be small and that is where the real problem is if there are few miners due to the reward not been a huge incentive to them.

Let me ask how will you give out the reward, is it that when you have the node no need to come alive everyday or it will be given to who stay alive all day?

And when does this reward stops? When the total number of bitcoin are mined? If so then we could back to se the reduce number of runners again
hero member
Activity: 2198
Merit: 847
I think a lot of people would run bitcoin node even for some small rewards and that would benefit bitcoin.
I can't find my old post on the subject, but it would be very easy to spin up thousands or even millions of virtual servers for this purpose. It will most likely lead to a few large parties controlling the majority of nodes, which is the opposite of decentralization.
Let's say, 1 bitcoin is created every 24 hours and each node runner gets a fair share of it. I can't understand how would it lead to a centralisation. Reward is not big enough to make it worthy to run lots of virtual servers but reward is enough to keep a fairly big number of people running nodes. There are people who spend days on faucet websites to get some cents and I believe these people would run node in that case. Also, many kids would run nodes to get a dollar or two. I still think low reward would lead to a better decentralization.
legendary
Activity: 3290
Merit: 16489
Thick-Skinned Gang Leader and Golden Feather 2021
I think a lot of people would run bitcoin node even for some small rewards and that would benefit bitcoin.
I can't find my old post on the subject, but it would be very easy to spin up thousands or even millions of virtual servers for this purpose. It will most likely lead to a few large parties controlling the majority of nodes, which is the opposite of decentralization.
legendary
Activity: 1568
Merit: 6660
bitcoincleanup.com / bitmixlist.org
The reward for running a node is increased financial security of the crypto asset that is being validated, in this case, Bitcoin. Bitcoin price will increase through other names. Node operators are not in this for the money but because they believe in the fundamental importance of Bitcoin to the world.

If Bitcoin nodes followed a reward system then it would only attract get-rich-quick grifters, and only for a short period of time, then Bitcoin would've failed like all of these shitcoins in the wild.
legendary
Activity: 1512
Merit: 4795
There are over 20000 node runners in the world. Is that not enough? If there are insufficient node runners, it would have been better if you ask this question, but you ask the question when everything is running smoothly in a well decentralized way.

Not everyone can run their own node. If you can not run your own node, you can still be using Tor to connect to SPV wallets like Electrum. You can also have more than one wallet and use different location for each.
hero member
Activity: 2198
Merit: 847
It's very important to run bitcoin node to increase the security of transactions, to help the decentralisation of bitcoin and make it even more secure. There are so many benefits for bitcoin network to run bitcoin node that it would require from me to write a big article. To sum up, it strengthens the robustness of the network and that's one of the most important part but I often see that people don't run bitcoin node because they don't want to let it take some space in their computers and also don't want to spend days to download bitcoin blockchain. They prefer to use lightweight wallet like Electrum. To my mind, it's okay to use Electrum on your smartphone but at the same time I think that by relying on other nodes, we aren't doing good for bitcoin. Wouldn't it be a good idea if satoshi also implemented reward system in running a bitcoin node? For example, every 24 hours, each node runner would receive its share from 1 bitcoin or something like that. No one would be able to make money from it but I think a lot of people would run bitcoin node even for some small rewards and that would benefit bitcoin. What do you think about that?
Jump to: