Pages:
Author

Topic: How Many Full Nodes Does Bitcoin Need? (Read 1417 times)

legendary
Activity: 1456
Merit: 1000
October 13, 2016, 10:54:47 AM
#31
All P2P network start (and work flawless) with many alone users.

Bitcoin is like all P2P network, i don't work with datacenters (or miners).
That's why you can not shutdown (or down a datacenter by the law).

That's why Wallets without blockchain work now (mobile phone).
Because of the 8 connexions on full blockchain node.

And the BAN function (with timing) on the Bitcoin Core is a good tool to acheive this.

the reason why nodes with less than 8 connections can be seen as bad, is to do with the 6 degrees of separation theory. or coders use the 8 links of connectivity theory. (where if you know 6/8 people and those people know 6/8 people.. the whole world knows each other within a certain number of hops to each other. the less people you know the more hops of those limited people it requires to find a link to everyone)

lets say each node had 3 connections
M->3->9->27->81->243->729->2187->6561
it takes 8 relays/hops to get to over 6000 nodes.. lets say it took 2 seconds per relay/hop to transfer data. thats 16 seconds before everyone has the data

now say each node has 9 connections
M->9->81->729->6561
it takes 4 relays/hops to get to over 6000 nodes. where with a 2 second per hop/relay. thats 8 seconds before everyone has it

now lets say there was 19 connections
M->19->361->6859
3 hops/relays to get to everyone within 6 seconds

when it comes to block solutions 16 seconds feels like an eternity however, 6 seconds or 8 seconds are better for the network.
in a perfect world. everyone being a supernode of ~ 80 connections which is ideal
M->80->6400
taking 2 hop and only 4 seconds to get to everyone

so the less connections you have the less nodes get the data sooner.
however if there is a FAIR mix of super nodes(80) and casual nodes(3) the average time the whole network getting the data is between 4seconds-16seconds.

but having an entire network of just casual nodes(3) would be 4x slower to cover the network as a supernode(80)

Bitcoin should have a new president every year. you should be the first.
legendary
Activity: 1512
Merit: 1012
October 12, 2016, 06:11:42 PM
#30
good for all that propagation (in Bitcoin Network) is not a line ... but an octopus.



so, the actual 6000 nodes (7 connexions) can handle 42 000 connexions per second.

and, when you manage a node, you can reach 10 request on the same second (you can see this easly with spam attack on your debug.log).

so, 420 000 connexions per second is the MINIMAL potential of the Bitcoin Network.

You can't shutdown this, now.
And it's good, it's the evolution of real thing that it serve the humanity to have valuable base.
legendary
Activity: 4424
Merit: 4794
October 12, 2016, 06:03:55 PM
#29
All P2P network start (and work flawless) with many alone users.

Bitcoin is like all P2P network, i don't work with datacenters (or miners).
That's why you can not shutdown (or down a datacenter by the law).

That's why Wallets without blockchain work now (mobile phone).
Because of the 8 connexions on full blockchain node.

And the BAN function (with timing) on the Bitcoin Core is a good tool to acheive this.

the reason why nodes with less than 8 connections can be seen as bad, is to do with the 6 degrees of separation theory. or coders use the 8 links of connectivity theory. (where if you know 6/8 people and those people know 6/8 people.. the whole world knows each other within a certain number of hops to each other. the less people you know the more hops of those limited people it requires to find a link to everyone)

lets say each node had 3 connections
M->3->9->27->81->243->729->2187->6561
it takes 8 relays/hops to get to over 6000 nodes.. lets say it took 2 seconds per relay/hop to transfer data. thats 16 seconds before everyone has the data

now say each node has 9 connections
M->9->81->729->6561
it takes 4 relays/hops to get to over 6000 nodes. where with a 2 second per hop/relay. thats 8 seconds before everyone has it

now lets say there was 19 connections
M->19->361->6859
3 hops/relays to get to everyone within 6 seconds

when it comes to block solutions 16 seconds feels like an eternity however, 6 seconds or 8 seconds are better for the network.
in a perfect world. everyone being a supernode of ~ 80 connections which is ideal
M->80->6400
taking 2 hop and only 4 seconds to get to everyone

so the less connections you have the less nodes get the data sooner.
however if there is a FAIR mix of super nodes(80) and casual nodes(3) the average time the whole network getting the data is between 4seconds-16seconds.

but having an entire network of just casual nodes(3) would be 4x slower to cover the network as a supernode(80)
legendary
Activity: 1512
Merit: 1012
October 12, 2016, 05:40:25 PM
#28

I don't agree with this.



All P2P network start (and work flawless) with many alone users.

Bitcoin is like all P2P network, i don't work with datacenters (or miners).
That's why you can not shutdown (or down a datacenter by the law).

That's why Wallets without blockchain work now (mobile phone).
Because of the 8 connexions on full blockchain node.

And the BAN function (with timing) on the Bitcoin Core is a good tool to acheive this.
legendary
Activity: 4424
Merit: 4794
October 12, 2016, 05:01:24 PM
#27
lauda still hasnt thought outside of the box.

2,5000,000,000 nodes all running one code base is far worse than just 1250 codebase A,  1250 codebase B, 1250 codebase C, 1250 codebase D,
with none of the 4 codebases getting above 50% dominance

its not just distribution that needs to be thought about, its diversity too.
the distribution is more about removing the chance of DDoSing, data loss and viral manipulation.. by taking out all nodes at once.
the diversity is more important as it decentralizes the ownership and control of bitcoin code from internal attackers/manipulators

but if we must talk only about the numbers.
well there are 200 countries, worse case having just 4 nodes(different codebases) per country, is still attackable.. interpol can just ask each country to raid 4 locations each so totals of 1000 nodes is not a good plan.

so we need enough nodes to ensure that a single/sustained attack in the network or physical world cannot take all the nodes out at once. so thats a many thousands of nodes spread out over many countries, where those nodes also diversify what codebase they are using too

at the moment with 5000 nodes, diversity is more critical than distribution... which my first point proves. because at 5000 nodes with a majority using one code base.. the single codebase becomes the weak point of attack

hero member
Activity: 2128
Merit: 530
PredX - AI-Powered Prediction Market
October 12, 2016, 04:03:53 PM
#26
I don't think there should be a number, the higher the number the better it is for me
legendary
Activity: 1456
Merit: 1000
October 12, 2016, 03:45:00 PM
#25
i run a full node the cost in ireland is minimal.  it is basically dirt cheap as long as you have a new computer.  like 90gb is nothing these days when you are getting 2 TB of drive space

Can you report back your bandwidth use, outgoing in particular?
hero member
Activity: 1106
Merit: 521
October 10, 2016, 02:21:34 PM
#24
i run a full node the cost in ireland is minimal.  it is basically dirt cheap as long as you have a new computer.  like 90gb is nothing these days when you are getting 2 TB of drive space
legendary
Activity: 2674
Merit: 3000
Terminated.
October 10, 2016, 01:52:02 PM
#23
It's not about quantity, but about quality, even though we can't let total bitcoin full nodes is too few.

In past, we can see lots of full bitcoin nodes because blockchain size was very small and bitcoin qt was the most popular wallet, but most of them weren't good nodes because they're average user and don't run full nodes 24/7.
The thing is that those nodes are still helpful to the network, even if they operate only for a few hours per day (assuming that they have their port forwarding properly set up).

Also, in future i think numbers of bitcoin full nodes will be decreased because there'll more transaction which means full nodes needs faster computing, internet connection and good storage capacity as well.
Obviously everything runs better on workstations, servers and such. However, that doesn't mean that we need to limit the decentralization to such.

So, i think total full nodes about few hundreds to few thousands are fine as long as all of those full nodes runs smoothly and ready to handle more transaction after blockchain size have been solved.
"Few hundreds" is definitely way under what I'd consider acceptable.
legendary
Activity: 2674
Merit: 3000
Terminated.
October 10, 2016, 07:58:38 AM
#22
I think that in total we're going to need in excess of 16,000 nodes, similar to what the survey is saying, however for now I think having between 1,000 and 2,000 is pretty good overall for the network. If we can kick it up a notch from there it'll be even better, but it will make sure nothing is getting overworked.
The numbers that you think are "pretty good overall" are useless as they aren't based on any testing methodology, but rather a 'gut feeling'.

It's a shame running a node doesn't actually hold any incentives aside from a 'feeling good for helping' feeling.
You're thinking from it from a limited perspective though. I think that being able to use a decentralized network such as Bitcoin should be considered an incentive from the user-perspective. Then you have businesses, tech-savy users, hobbyists, etc. who all have different *incentives* to run a node.

I run a full node, and I'm not even sure why. It's obvious why so many people don't even bother.
There is no incentive to buy a machine for the sole purpose of running a node, indeed. However, if you have a spare and resources to run one, why not?
sr. member
Activity: 292
Merit: 252
I miss when crypto was about decentralisation.
October 10, 2016, 07:45:06 AM
#21
It's a shame running a node doesn't actually hold any incentives aside from a 'feeling good for helping' feeling.

I run a full node, and I'm not even sure why. It's obvious why so many people don't even bother.
legendary
Activity: 4424
Merit: 4794
October 06, 2016, 07:48:21 PM
#20
the issue is not about node count. its about decentralization. which the only solution is stopping one codebase dominating.
which in a utopian dream of living under a rainbow, would be preventing any single codebase from dominating the rules.

at the moment the only mechanism is by having lots of nodes to stop competing nodes dominating. but by the lack of understanding by most, who only trust one codebase they are actually causing domination.

so bitcoins decentralization is not technically decentralized.

the other issue is the 6th degree of separation theory.
which is important because if it takes 2 seconds to send a block of data(slow connection), where each second is critical to the mining race of which block gets accepted as the new blockheight. then we shouldn't delay all nodes from getting the data asap.
EG
say there are only 3100 nodes
if each node had 5 connections. then within 5 hops of relaying data, all 3100 nodes would get it(atleast 10seconds relaytime)
if each node had 8 connections. then within 4 hops of relaying data, all 3100 nodes would get it(atleast 8seconds relaytime)
if each node had 15 connections. then within 3 hops of relaying data, all 3100 nodes would get it(atleast 6seconds relaytime)
if each node had 56 connections. then within 2 hops of relaying data, all 3100 nodes would get it(atleast 4seconds relaytime)

but if there were 16,000 nodes
each node would need 127 connections to get the data relayed to all nodes in 2 hops(atleast 4seconds relaytime)
each node with 6 connections to get the data relayed to all nodes in 6 hops(atleast 12seconds relaytime)

so again amount of nodes does not make the network more secure.

its not an amount, its diversity that we should be concentrating on.
legendary
Activity: 1456
Merit: 1000
October 06, 2016, 05:58:23 PM
#19
While conducting a casual survey into how many people use Bitcoin, the question of how many nodes do we need arose.
This is scientific question, not smth u can ask anyone for his opinion. Well u can like u did, but results will be worthless.
Simple answer is as many as possible.
But how many Bitcoin actually NEED? We can calculate that and there is only one true answer.

What's your calculation method, if you don't know how many users there are?
legendary
Activity: 1218
Merit: 1007
October 06, 2016, 05:33:40 PM
#18
While conducting a casual survey into how many people use Bitcoin, the question of how many nodes do we need arose.

Here is how many reachable nodes are on the network supporting these users, along with the original version release dates:

The key question is is a little complicated: how many full nodes do we need for the current users, how many do we need for double the current users; how many do we need for 100m users; and how many do we need for double that again?

Rather than ask those questions first, I thought it would be interesting to get a common base for how many nodes do we need for the current user base of between 2m to 10m going into a growth period which might see numbers go up to 30m?

Thanks to Lauda for reminding me about this post from Gavin:


https://www.reddit.com/r/Bitcoin/comments/1scd4z/im_running_a_full_node_and_so_should_you/cdw3lrh?context=3



Lets ignore pruning; segwit, etc. Those are fantastic technological advances, that I would call tricks of the trade to make everyday users lives easier. The backbone of the network is always going to be full nodes.
I think that in total we're going to need in excess of 16,000 nodes, similar to what the survey is saying, however for now I think having between 1,000 and 2,000 is pretty good overall for the network. If we can kick it up a notch from there it'll be even better, but it will make sure nothing is getting overworked.
legendary
Activity: 2296
Merit: 1014
October 06, 2016, 05:31:41 PM
#17
While conducting a casual survey into how many people use Bitcoin, the question of how many nodes do we need arose.
This is scientific question, not smth u can ask anyone for his opinion. Well u can like u did, but results will be worthless.
Simple answer is as many as possible.
But how many Bitcoin actually NEED? We can calculate that and there is only one true answer.
legendary
Activity: 1456
Merit: 1000
October 06, 2016, 05:22:40 PM
#16
High bandwidth needs and overall size is becoming a barrier to firing one up - not yet, but every day we move closer to that position.
legendary
Activity: 3080
Merit: 1688
lose: unfind ... loose: untight
October 05, 2016, 12:09:45 PM
#15
Do we really want to exclude "common people" without technical knowledge? Should we not make "hosting a node" as easy as possible, for
everyone to be able to run a node?

"...should be a simple as possible, and no simpler than that" - A. Einstein

Quote
The more nodes we have, the stronger the decentralization.

Agreed, but...

Quote
In the P2P Torrent networks, the software are made very simple, and anyone can participate.

Of course all can participate - and the leechers far outnumber the seeders. This, in a use case that by necessity makes fewer demands on the operator than does Bitcoin.

Quote
I say, bring on the "user-friendly" one click solution, for the non-technical people out there.  Roll Eyes

Sure - wake me when it occurs. (protip: if you're seeking a solution that incentivizes a higher percentatge of users to become nodes, it ain't never gonna happen [<-double negative employed in ironic fashion])

Quote
My guess, 10 000 nodes would be a good start.. Grin

My view is all is fine as long as there are no prohibitions upon anyone firing up a node.  As long as participation is not barred, I am unconcerned about how many participate. As I can always fire one up (actually, I already do, but that's another matter).
legendary
Activity: 2674
Merit: 3000
Terminated.
October 05, 2016, 12:53:40 AM
#14
here we go again..the doomsday dreamer not reading the point.
Having 3 genuine node operators has nothing to do with Sybil attacks. They're likely going to come afterwards with third party actors.

but in a scenario of no sybil attack ability.. 3 nodes could functionally allow the network to continue.
They could, in a optimal scenario where we are living under a rainbow.

but lauda wont accept group dominance being a technical form of sybil, because he cant take off the fanboy hat to think logically that his groups dominance has technical negatives of being the attack he is doomsdaying.
Misleading.

Should we not make "hosting a node" as easy as possible, for everyone to be able to run a node? The more nodes we have, the stronger the decentralization.
I'd like to see a user-friendly, node-only client that is as secure as Bitcoin Core. We could surely diversify the network with such a client. I don't need the wallet functionality on mine (I did disable it).
legendary
Activity: 4424
Merit: 4794
October 04, 2016, 02:41:13 PM
#13
Do we really want to exclude "common people" without technical knowledge? Should we not make "hosting a node" as easy as possible, for

everyone to be able to run a node? The more nodes we have, the stronger the decentralization. In the P2P Torrent networks, the software are

made very simple, and anyone can participate. I say, bring on the "user-friendly" one click solution, for the non-technical people out there.  Roll Eyes

My guess, 10 000 nodes would be a good start.. Grin

i agree, we should have many varients of nodes.
technical ones that dont have much of a GUI because API calls and command prompts are better- for technical people
friendly ones that have GUI with one click solutions because they are better- for average joe

along with ensuring that no dev team dominates.

just having "core" nodes as the dominant node doesnt solve anything for security or usability
or on the flipside
just having "user-friendly" nodes as the dominant node doesnt solve anything for security or usability
legendary
Activity: 1904
Merit: 1074
October 04, 2016, 02:23:36 PM
#12
Do we really want to exclude "common people" without technical knowledge? Should we not make "hosting a node" as easy as possible, for

everyone to be able to run a node? The more nodes we have, the stronger the decentralization. In the P2P Torrent networks, the software are

made very simple, and anyone can participate. I say, bring on the "user-friendly" one click solution, for the non-technical people out there.  Roll Eyes

My guess, 10 000 nodes would be a good start.. Grin
Pages:
Jump to: