Author

Topic: Thoughts on node count for a decentralized network (Read 228 times)

legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
*words*

Please stop monging up a decent thread with your conspiracy nonsense and inane "celebrity" references.  Some of us are tired of hearing the same old crap every time you post.  I'd honestly rather read what the spammers have to say at this point.  It's getting beyond ridiculous now.  For me to believe anything you say, I would first have to see you as a respectable person.  I don't.  Quit while you're behind, already.
newbie
Activity: 98
Merit: 0
Good article indeed. I too think that a fair numbers of nodes do a great help to keep the decentralized nature trait of a network. I also agree with you that cost of nodes also bears a great impact on network.
full member
Activity: 236
Merit: 100
One of the "not laying on the surface" reasons could be that people are eventually afraid of cryptocurrency delay in the world so they would put a giant amount of money and effort to create a master node and it will be worth less in the end.
legendary
Activity: 4410
Merit: 4788
It's likely that the myriad hardforks occurred precisely because some Bitcoin users are openly hostile to other dev teams.  Multiple teams with their ideas at least being heard and considered, but sharing the same chain and moving forwards together, is arguably less messy than having to fork away because they know there's zero chance their view is being taken on board.  If we don't want to see another dozen "Bitcoin Etceteras", perhaps we need to learn to be a little more tolerant of alternative clients.  If they fork away and try to pretend they're the "real" Bitcoin, then by all means accuse them of the "hostile takeover/power grab/coup/whatever", which normally gets volleyed at a new team as soon as they create some code that isn't pre-approved by someone else's preferred dev team.  But if they don't fork away, just consider them as an alternative viewpoint that people have the option of supporting.  Provided their client isn't full of bugs and security vulnerabilities, then they aren't doing any harm.

If we claim that Bitcoin is all about permissionless freedom, why aren't we capable of allowing alternative clients to coexist in peace?  

bitcoin cash IS the same cartel as bitcoin core. follow the money..(DCG.CO)
   part 2 of the drama is no one should own "bitcoin" but by playing that KardashianB says they are 'it'..
   and then kardashianA pretends theres going   to be expensive court cases to ensure kardashianA holds the "it" title.
   end result A then owns something that was prviously unowned.
   same thing with craig wright. no one owns the 2009 'satoshi' stash.. craig gts friends relative to drum up drama. (neither have privkeys or 2009 involvement)
   craig then pretends lots of expensive court cases.
   end result craig hopes the court cases/social drama alone wins him title of satoshi and ownr of coins.. even with no PROOF no  signature no privkeys

the 3 card trick is to give the illusion of free choice.
BLOQ's segwit2x was just a ruse to get segwitx1 active.
cash was a way to get core opposers off the core network
end result core get what they want even though they only had 35% segwitx1 support

but your last sentance i agree. we should allow alternative clients on the same network to coexist in peace and each client could should have its own 'BIP' system where its not sheeping core . but letting the community choose.

emphasis. CORE should not shepherd the rules.

the real thing i find funny is cores flip floppyness
originally, consensus/compromised to yes segwit 2x.. next luke JR. "i have no say in core so i cant agree to anything.. next luke orchestrates MANDATORY UASF(technically UAHF)
the only 'clients' that are not REKT/told to F**K off are those in the pockets of DCG.CO

satoshis concensus algorythm (worth you rsearching) allows for peaceful co-existance. but by REKTing teams away and mandating pools follow rule X bypasses consensus. and leads to no REAL free choice.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
what would be more decentralised is have MANY FULL NODE implementations released by many different teams. and all teams have their own proposals lists. and the only time bitcoins mainnet upgrades is when there is ACTUAL consensus. by everyone finding a common ground and each finding a contribution/consideration/compromise that the whole community can agree on gets the best for everyone.

don't you think this will slow own the development process both harder and slower?
i know it would be more decentralized and i actually would love to see other implementations, specially in other programming languages so at least i can understand the code more, but i think having multiple teams may make things messier.

It's likely that the myriad hardforks occurred precisely because some Bitcoin users are openly hostile to other dev teams.  Multiple teams with their ideas at least being heard and considered, but sharing the same chain and moving forwards together, is arguably less messy than having to fork away because they know there's zero chance their view is being taken on board.  If we don't want to see another dozen "Bitcoin Etceteras", perhaps we need to learn to be a little more tolerant of alternative clients.  If they fork away and try to pretend they're the "real" Bitcoin, then by all means accuse them of the "hostile takeover/power grab/coup/whatever", which normally gets volleyed at a new team as soon as they create some code that isn't pre-approved by someone else's preferred dev team.  But if they don't fork away, just consider them as an alternative viewpoint that people have the option of supporting.  Provided their client isn't full of bugs and security vulnerabilities, then they aren't doing any harm.

If we claim that Bitcoin is all about permissionless freedom, why aren't we capable of allowing alternative clients to coexist in peace?  
newbie
Activity: 40
Merit: 0
The cost of runining full nodes becoming cheap will come with time I think. As of now, we are also a part of an ecosystem and it is not allowing us to have cheaper options to run full nodes to help the community to have the option to send/receive coins trustlessly through their full nodes. The topic is very thoughtful and I think the tech industry is already working on it too so that we can have better experience on the blockchains.
legendary
Activity: 4410
Merit: 4788
what would be more decentralised is have MANY FULL NODE implementations released by many different teams. and all teams have their own proposals lists. and the only time bitcoins mainnet upgrades is when there is ACTUAL consensus. by everyone finding a common ground and each finding a contribution/consideration/compromise that the whole community can agree on gets the best for everyone.

don't you think this will slow own the development process both harder and slower?
i know it would be more decentralized and i actually would love to see other implementations, specially in other programming languages so at least i can understand the code more, but i think having multiple teams may make things messier.

you mean the 2 year social drama mess
or
you mean the 2 year protocol stagnation while core messed around and flipped flopped back and forth with the notion of segwit2x but ultimately core killed off 2x and now everyone is stuck with 1x

imagine 2015
other teams like xt/classic/unlimited they had thier own proposals. and they had no heavy mandatory deadlines of threats.
when something didnt get great % they went back and tried something else.

now if the core shill drama wasnt around to REKT/('f**k off the network') and instead it was just left as open choice then the teams would see after a few months of only getting 35%-50% they should have gone back to the drawing board and make something the community did want. (which came as a segwit2x in december 2015(yes core would have got segwit sooner if they just stuck with the 2x))
but then early 2016 core said no..

imagine november 2016
core wanted segwit 1x. but wanted it by christmas. .. christmas: 25% .. core didnt go back to the drawing book. they plodded on. then they started their REKT campaign.. and then got the partners(bloq) to pretend there was a segwit2x back on the table as a option. but as soon as the segwit element was activated. the 2x element died out and was told was a attack, and needed REKTing

now imagine if core didnt do all the 3 card trick REKTing. and instead actually did release a segwit2x.. because even as far back as 2015 thats what the community wanted/agreed/compromised to. we would have had segwit2x in 2016 without a mandatory deadline, without 2 years of drama and without the state where if the network wanted another limit increase to 2mb(legacy)8mb(SW) it would not involve a 2 year fight.
summary
core could and should have worked with the commnity and settled with the communities consensus compromise agreed in late 2015 as it would have actually got their commercial tool (sgwit) activated sooner and without headaches.

and other node brands would still be alive on the mainnet instead of being REKT off to altcoins
legendary
Activity: 4410
Merit: 4788
its not a case of numbers

its a case of diversity.
meaning there could be 10 nodes or 10,000 nodes.

but if all the 10,000 nodes are run by people close to a corporation thats funded the peopls employers/friends.
<...>

Yep, "distributed" is not the same as "decentralized."
More full nodes mean the network is more distributed, which doesn't care about who controls the nodes.

Vitalik has explained about three types of decentralization, i.e., architectural, political, and logical.

Quote
https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274
Blockchains are politically decentralized (no one controls them) and architecturally decentralized (no infrastructural central point of failure) but they are logically centralized (there is one commonly agreed state and the system behaves like a single computer).

the DATA is distributed.
the nodes are distributed.
the rules/protocol is centralised.

do you know why satoshi disapeared in 2010.
many people had their own node and were making their own tweaks. satoshi was working from a repo that was not github. but when people started asking satoshi what roadmap satoshi should choose, he didnt want the pressure of deciding and didnt want to have to co-ordinate /review everyones own tweaks to make sure they all complied.
it was then in 2013 that things really centralised. where people instead of taking some bas line code and then making their own tweaks started to be told to only trust a central REPO and to follow certain guidelines and moderation process of a certain repo if they wanted a chance of getting a feature added to the network.

example 1. everyone follows the same rules.
example 2. who's rules. .. CORES ROADMAP
as i rambled on before if those nodes had lets say a diversity of 10+ different FULL NODE implementations where the other 9 didnt use BIPs(bitcoin cores proposal gateway) but had their own proposal gateways. then the rules proposal process would be decentralised. because consensus would choose which rule activates. not developers
 that way its not a cores way or stagnate. (or more precisely stagnate because of cores way) where there was actual onchain free choice of options a,b,c,d,e,f. (instead of choose Core or F**K off the network(ill let you choose if **= OR or UC))
then the rules/protocol would be decentralised.
but august 207 proved that cores paid devs have control and even faked choice with their 3 card trick and to have a consensus bypassing mandatory upgrade that was a cor roadmap result. where opposition were literally threatened off the network if opposing it.
newbie
Activity: 30
Merit: 0
Having devices like a smartphone or tablet are not very useful for running full node. Also not everyone owns a PC anymore as people have moved on to other devices that are portable and easy to use like laptop or tablets. So, I don't see any chance of SPV not being needed in the future rather users will always be in favor for SPVs.
legendary
Activity: 3472
Merit: 10611
what would be more decentralised is have MANY FULL NODE implementations released by many different teams. and all teams have their own proposals lists. and the only time bitcoins mainnet upgrades is when there is ACTUAL consensus. by everyone finding a common ground and each finding a contribution/consideration/compromise that the whole community can agree on gets the best for everyone.

don't you think this will slow own the development process both harder and slower?
i know it would be more decentralized and i actually would love to see other implementations, specially in other programming languages so at least i can understand the code more, but i think having multiple teams may make things messier.
sr. member
Activity: 784
Merit: 250
Definitely high-quality posts here from legendary accounts. Very informative.

Here's my thoughts in this matter. Node counts matters and also who established these nodes. If these nodes come from independent parties and well distributed around the world, that is totally decentralized. But if these nodes, no matter how many are they, are linked to only few, then it is not decentralized anymore.
newbie
Activity: 4
Merit: 0
The innovation in Bitcoin is decentralized consensus. Because of this, we are able to have a decentralized network that transfers value. I believe we all agree that a good number of full nodes (whether that be owned by miners or by users) are needed to keep the decentralized nature of this network.

However, there are plethora of disagreements on how much is needed to keep this network decentralized. In my opinion, we should aim high in order to keep the network decentralized and thus should do all we can to make it easier for anyone to have full nodes. If the cost of running a full node is so cheap and so fast, SPVs wouldn't even be needed; this removes the need for many things such as the inefficient (and not working) Bloom filters. The thing that stops individuals from running full nodes is how long it takes for the initial synchronization process. To conclude, imo, cost of full nodes should be so cheap that every wallet would be a full node that has its own full copy of the blockchain (you could prune if storage is the problem).

If we don't aim to have as much full nodes as possible, that means that there is a "good enough". Where would this "good enough" be and what are the reasons you came to this conclusion?

Any thoughts are very welcome and appreciated.

I agree that the more people there are running nodes, the more decentralized the network is (from one perspective: one could argue that decentralization comes in many forms ie broad distribution of tokens, broad distribution of hashing power etc)

However, I don't think there's a hard number to be decided upon. Maybe representing the number as a percentage would be a better option, but even then I'm at a loss for what's an appropriate number.

If the cost of running a full node is so cheap and so fast, SPVs wouldn't even be needed; this removes the need for many things such as the inefficient (and not working) Bloom filters. The thing that stops individuals from running full nodes is how long it takes for the initial synchronization process.

Not necessarily.  It's worth considering that not everyone has a PC or similar device they can dedicate to the task.  I know plenty of people where they just own a tablet or netbook that wouldn't really be suitable and then other things like smartphones and gaming consoles, which aren't of much use in running a full node either.  The idea of everyone having a "home computer" has been somewhat diluted as of late.  People seem to prefer their portable devices now.  Because of this, SPV is always going to be a significant proportion of the userbase.

It's plausible that in the near future people will be able to run nodes from their phones or tablets.

P.S. i strongly recommend you to move this thread to Development & Technical Discussion to avoid spam and get better feedback Smiley

That's one option, but I'd like to see if it's possible to reclaim the main Bitcoin Discussion forum with a few decent topics.  We can't just abandon every board when it gets spammed.  If this topic starts to be filled with low quality content, simply press the "Report to moderator" link for the offending post and mark it as low quality. 
The innovation in Bitcoin is decentralized consensus. Because of this, we are able to have a decentralized network that transfers value. I believe we all agree that a good number of full nodes (whether that be owned by miners or by users) are needed to keep the decentralized nature of this network.
I agree, however the community have hard time agreeing how much total nodes count considered as "good enough".

I'd argue that, regardless of what people think a safe number should be, it's less about reaching an agreement on what that number is and more of an "encourage what you can, but accept it for what it is" kind of situation.  Even if we did all know what this "good enough" number was, we don't have any kind of direct control over it.  Nor should we.  But I'd like to think that the path we're on at the moment, with numerous optimisations being worked on to make transactions smaller and more resource-efficient, plus allowing for off-chain transactions, is the right way to encourage a healthy node count.  What more can we really do?  Ultimately, we have to let people use Bitcoin in the way they want to use it.  If they want to run a full node for the extra privacy and security, great.  If they want to rely on SPV, that's cool too.  It's not something we should try to force.

You're a hero.

Your statement about letting people use Bitcoin how they want to use it couldn't be more true. Let the network adapt to the network.
copper member
Activity: 2324
Merit: 2142
Slots Enthusiast & Expert
its not a case of numbers

its a case of diversity.
meaning there could be 10 nodes or 10,000 nodes.

but if all the 10,000 nodes are run by people close to a corporation thats funded the peopls employers/friends.
<...>

Yep, "distributed" is not the same as "decentralized."
More full nodes mean the network is more distributed, which doesn't care about who controls the nodes.

Vitalik has explained about three types of decentralization, i.e., architectural, political, and logical.

Quote
https://medium.com/@VitalikButerin/the-meaning-of-decentralization-a0c92b76a274
Blockchains are politically decentralized (no one controls them) and architecturally decentralized (no infrastructural central point of failure) but they are logically centralized (there is one commonly agreed state and the system behaves like a single computer).
legendary
Activity: 4410
Merit: 4788
its not a case of numbers

its a case of diversity.
meaning there could be 10 nodes or 10,000 nodes.

but if all the 10,000 nodes are run by people close to a corporation thats funded the peopls employers/friends. lets call this corporation DCG.co and lets call all the employers of businesses this list
https://dcg.co/portfolio/

and all the friends that would always download the software of thier friends and employers without caring about the rules change... then its not really decentralised.... its just distributed

what would be more decentralised is have MANY FULL NODE implementations released by many different teams. and all teams have their own proposals lists. and the only time bitcoins mainnet upgrades is when there is ACTUAL consensus. by everyone finding a common ground and each finding a contribution/consideration/compromise that the whole community can agree on gets the best for everyone.
without any mandatory bilateral splits based on the cries of thos who only got 35% not wanting try try something different or come back to a cnsensus compromise

once you learn the difference between dcentralised and distributed you would understand my points
once you understand how true consensus works ou would understand my points
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
P.S. i strongly recommend you to move this thread to Development & Technical Discussion to avoid spam and get better feedback Smiley

That's one option, but I'd like to see if it's possible to reclaim the main Bitcoin Discussion forum with a few decent topics.  We can't just abandon every board when it gets spammed.  If this topic starts to be filled with low quality content, simply press the "Report to moderator" link for the offending post and mark it as low quality.  


The innovation in Bitcoin is decentralized consensus. Because of this, we are able to have a decentralized network that transfers value. I believe we all agree that a good number of full nodes (whether that be owned by miners or by users) are needed to keep the decentralized nature of this network.

I agree, however the community have hard time agreeing how much total nodes count considered as "good enough".

I'd argue that, regardless of what people think a safe number should be, it's less about reaching an agreement on what that number is and more of an "encourage what you can, but accept it for what it is" kind of situation.  Even if we did all know what this "good enough" number was, we don't have any kind of direct control over it.  Nor should we.  But I'd like to think that the path we're on at the moment, with numerous optimisations being worked on to make transactions smaller and more resource-efficient, plus allowing for off-chain transactions, is the right way to encourage a healthy node count.  What more can we really do?  Ultimately, we have to let people use Bitcoin in the way they want to use it.  If they want to run a full node for the extra privacy and security, great.  If they want to rely on SPV, that's cool too.  It's not something we should try to force.

legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
If the cost of running a full node is so cheap and so fast, SPVs wouldn't even be needed; this removes the need for many things such as the inefficient (and not working) Bloom filters. The thing that stops individuals from running full nodes is how long it takes for the initial synchronization process.

Not necessarily.  It's worth considering that not everyone has a PC or similar device they can dedicate to the task.  I know plenty of people where they just own a tablet or netbook that wouldn't really be suitable and then other things like smartphones and gaming consoles, which aren't of much use in running a full node either.  The idea of everyone having a "home computer" has been somewhat diluted as of late.  People seem to prefer their portable devices now.  Because of this, SPV is always going to be a significant proportion of the userbase.

newbie
Activity: 26
Merit: 0
Just a quick reminder that the pure nr of nodes is not the most important thing here. F.ex., if all nodes run on AWS, or run by a few companies/entities, that's still a central point of failure, even if there are many nodes. Geographical location is somewhat important as well - not only to avoid points of failure but also influental on propagation times (although I'm not sure if that's actually true or not, and even if it is, it's probably only about milliseconds).

One could even argue for importance of nodes distribution between different cultural groups, but here we would be already entering some rather philosophical grounds, I guess.
newbie
Activity: 23
Merit: 0
The innovation in Bitcoin is decentralized consensus. Because of this, we are able to have a decentralized network that transfers value. I believe we all agree that a good number of full nodes (whether that be owned by miners or by users) are needed to keep the decentralized nature of this network.

However, there are plethora of disagreements on how much is needed to keep this network decentralized. In my opinion, we should aim high in order to keep the network decentralized and thus should do all we can to make it easier for anyone to have full nodes. If the cost of running a full node is so cheap and so fast, SPVs wouldn't even be needed; this removes the need for many things such as the inefficient (and not working) Bloom filters. The thing that stops individuals from running full nodes is how long it takes for the initial synchronization process. To conclude, imo, cost of full nodes should be so cheap that every wallet would be a full node that has its own full copy of the blockchain (you could prune if storage is the problem).

If we don't aim to have as much full nodes as possible, that means that there is a "good enough". Where would this "good enough" be and what are the reasons you came to this conclusion?

Any thoughts are very welcome and appreciated.
Jump to: