Pages:
Author

Topic: Validating vs mining nodes, really a myth ? - page 2. (Read 594 times)

full member
Activity: 608
Merit: 100
February 15, 2019, 06:34:30 PM
#12
I feel that doing an audit is very necessary, so we can find out about system errors or weaknesses, and I think that is very useful.
legendary
Activity: 4396
Merit: 4755
February 15, 2019, 05:24:03 PM
#11
khaos read some code
Quote from: Khaos77
Little secret for you, You are always trusting someone else,
Run a non-mining node and you are trusting the Mining Nodes that you sync with.
Connect to two different block explores and you are trusting the Mining Nodes, they sync with.
Either way , you're trusting the Mining Nodes.   Smiley
^ wrong

little secret. learn orphan, learn reject, learn consensus, learn honest nodes, learn symbiosis, learn byzantine generals.

if you sent me a block i can reject it if it doesnt fit the rules.. i dont blindly accept it
if i see out of 8 peers that 6 are showing blockheight 600,000 and 2 are showing blockheight 599,500
im gonna grab data from the 6 nodes that are at 600,000.
and then im gonna do my own checks, my own validations and only trust the data i find that is valid
i do not just grab the data and pass it on.

seriously go read some code or get a better node if all you have is a relay/repeater node (much like fibre)

lets word it another way
mining nodes are the U.S Fed Mint.. one day they accidently put pink ink into the printers instead of green. and then send out pink bank notes.

non minting users dont just accept it. they check the note see its not green and reject it.
soon enough mining nodes realise they screwed up and certain serial number range is invalid, they orphan out that serial number pink notes and again start the serial number range using green ink

if they carried on with pink ink. shops would just wait for the green bank notes and reject pink notes. because everyone is under the understanding that only green inked notes are tender.

you are foolish if you think mining nodes can just mint what they like and users accept it.
you really need to do some research.
read code.. not reddit/twitter/medium

...
i think the context of the medium article your misunderstanding is this

in 2009-2011 a "full node" done dozens of jobs
in 2011-2012 a "full node" done slightly less than dozens of jobs and things like CG miner done a couple jobs
in 2013+ a "pool node" done slightly less than dozens of jobs and ASIC done a couple jobs
in 2013+ a "non mining node" done slightly less than dozens of jobs

the misunderstanding is that calling nodes after 2011 a full node.. is less than accurate. because no nodes do the full job list. different things work symbiotically to get the whole list complete but no single node does it all, thus the terminology of "full node" becomes vague

but that DOES NOT mean that non-mining nodes do not validate and decide. and does not mean in a 'honest node' consensus network that non-mining nodes are not part of the symbioses.

without non mining nodes to be the auditors of mining nodes. people end up having to BLINDLY trust mining nodes.
mining nodes without non-mining nodes would then be on a central rampage of doing as they please knowing merchants blindly trust mining nodes.

but the reality is bad blocks do get rejected, orphaned by user nodes and if repeat offending active rules the nodes sending out offending rulebreaking data get banned.

learn about the symbioses of consensus on a honest node network
read some code. not medium/reddit/twitter

legendary
Activity: 4396
Merit: 4755
February 15, 2019, 04:33:42 PM
#10
@Franky1,

Like many you confuse personal verification of a transaction for network validation.

Coinbase is verifying their personal block receipts match their internal ledger , nothing more,
and if Coinbase does turn off their non-mining node it has no effect what so ever on the greater network,
it only disables their wallet service, and to be honest they could easy replace it by using two separate block explorers.
By using two separate block explorer services, they could verify their companies receipts on multiple sources ,
instead of relying on a singular internal source more vulnerable to Sybil attack.

Blocks are only truly Validated , when another mining node includes that previous block with their new block.
IE: each additional confirmation by a mining node inclusion when they create a new block is what truly Validates the previous block.
IE: Proof of Work  Wink

nope
if your full node only validates the transactions of blocks. then you need a better node.


non mining nodes are symbiotic to mining nodes.
firstly coinbase dropping its full node status and just using xplorers not only then destroys the zero trust thing.. it also makes the explorers more centralised if all merchants started trusting the explorers.

secondly its not just the block data but also the whole chain height, hashes and such it compares to peers to ensure that there is a majority in favour of one rather than another.

this is why people say having 8 diverse nodes to compare and get data. so that there is something to compare and contrast the blockheights chaintips etc. and then when it comes to how many nodes you connect to, to send data out.. well if ur a home user keep it lower, to lessen your 'bandwidth' cries

you do realise. if all 20 pools made a bad block. the network would reject them all.. and just wait for a good block..
meaning mining nodes cant spend their funds withiin the network.

mining pools can continue on building blocks ontop of their own blocks but will never get to spend them. thus mining nodes end up being honest and following the network rules to get the network to accept their blocks so that every non mining node has them and then as such the non mining nodes follow the most complete(heighest) chain they can see from their peers. they all come to a agreement. and as such mining nodes get to spend their funds.

again if you think a non mining node just tx validates. then you need a better node
again if you think a non mining node just tx stores. then you need a better node
again if you think a non mining node just tx/block relays. then you need a better node

there is a significant reason to have blockheights, chain tips, blockhashes. to ensure peers all agree on a clear majority
legendary
Activity: 4396
Merit: 4755
February 15, 2019, 02:28:55 PM
#9

Non-mining nodes relay blocks according to their consensus rules
,
they are nothing more than a personal copy of the blockchain / transaction receipts.

Non-mining nodes can only relay block data, Validation & Creation of blocks only occurs on Mining nodes.
Want proof , turn off your non-mining nodes, any effect of the network will not even be noticed.

Network will continue on , normally because the mining nodes do all of the work.

mining nodes:
validate
collate(block create)
relay

non-mining nodes:
validate
relay

take coinbase.com. get them to turn off their non-mining nodes and you will soon realise that MINING NODES cant spend their blockrewards on coinbase.com because coinbase.com cant see or trust that a miner has value to spend.
non mining nodes do validate.
..
how ever there are some software that just relay. such as matt corrallos 'fibre' and also some lite nodes designed specifically to just relay out data unchecked independantly.
....
also.
if one mining node made block X with an error
if one mining node made block Y with without an error

with coinbase.com's NON-mining node. would validate both attempts(if both received near same time and Y has not yet been built on to be defined as a clear winner) and when when validated deem block Y the winner. and as such Block Y can happily be placed as the next block coinbase keeps. thus allowing the miner of Y to spend the block reward. where as mining node X will get forgot/rejected
....
also
because coinbase.com has a chain that includes block Y.. and other peers see that coinbase and N other peers also have Y then the consensus is that the chain containing block Y is more acceptable to everyone compared to that the one node trying endlessly to push block X. eventually the one node endlessly pushing X would get banned from being a connected node if it made too many push requests

...
also
whn the MINING nodes want to make the next block. they see many peers have chosen Y. and thus its best they build a block on Y to avoid orphan event

.. also
non-mining nodes do check with their peers what best chaintip, height and blockhash to follow and wouldnt really bother even trying to look at a chain containing X if Y has more acceptance amongst peers and also Y is ahead with other blocks now above it and the network building on further.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
February 15, 2019, 02:12:49 PM
#8
and to all those that try to play the situation i explained off as some craig wright(scammer 2015+) thing..
satoshi(real bitcoin creator 2008-2010) said about issues of home users bottlenecking the network
and also core/blockstream dev Pieter Wuille did too...

https://bitcoin.stackexchange.com/questions/8109/how-does-one-attain-1-000-connections-like-blockchain-info/8140#8140
"Please don't change this, as there is no need. Connectable peers on the network are a scarce resource, and essential to the decentralization. If people go try connect to all of them like some sites do, we'll very quickly run out.

In case you're a merchant or miner, you perhaps want to set up a few fixed connections to trusted others (see the -addnode command line/config option), but having more connections does not mean stronger verification (the reference client always verifies everything) or even faster relaying (as you'll slow down by distributing new blocks and transactions to all your peers). It is mostly a matter of providing a service to the network"

..
so yea
by making too many un-needed connections which not only bring out the "my bandwidth usage is high costing me money" cries. but also the recievers of your data are only getting a smaller % of your speed as its diluted across too many connected nodes.

I've seen you post some manipulative bullshit before, but this is a new low.  There is a clear and obvious distinction between "don't change the default settings for your node in a way that would waste connections" and "nodes aren't needed".  

The only rational conclusions are that you are either:

a) being manipulative, or
b) you're simply too stupid to understand what Pieter Wuille is talking about  
legendary
Activity: 4396
Merit: 4755
February 15, 2019, 01:18:10 PM
#7
and to all those that try to play the situation i explained off as some craig wright(scammer 2015+) thing..
satoshi(real bitcoin creator 2008-2010) said about issues of home users bottlenecking the network
and also core/blockstream dev Pieter Wuille did too...

https://bitcoin.stackexchange.com/questions/8109/how-does-one-attain-1-000-connections-like-blockchain-info/8140#8140
"Please don't change this, as there is no need. Connectable peers on the network are a scarce resource, and essential to the decentralization. If people go try connect to all of them like some sites do, we'll very quickly run out.

In case you're a merchant or miner, you perhaps want to set up a few fixed connections to trusted others (see the -addnode command line/config option), but having more connections does not mean stronger verification (the reference client always verifies everything) or even faster relaying (as you'll slow down by distributing new blocks and transactions to all your peers). It is mostly a matter of providing a service to the network"

..
so yea
by making too many un-needed connections which not only bring out the "my bandwidth usage is high costing me money" cries. but also the recievers of your data are only getting a smaller % of your speed as its diluted across too many connected nodes.
legendary
Activity: 4396
Merit: 4755
February 15, 2019, 01:07:17 PM
#6
imagine a home user with 5mb connection but 100 nodes connected.. thats 0.05mb per node (sending ~1.2mb 100x)
imagine a home user with 5mb connection but 2 nodes.. thats 2.5mb per node(sending 1.2mb 2x)

the second option is better for home user as the block is sent in seconds to just 2 users meaning speedy. also its only 2.4mb total instead of 120mb total.

now imagine it from the receiver side.. imagine a merchant was connected to a home node. the merchant wont want to get data at 0.05mb speed they would prefer 2.5mb speed
so not only will the home user benefit by lowering nodes connected but also the people on the other end would benefit too
its far better that a home user only connects to 1-2 nodes for own benefit and have just enough for own NEED, and let the merchants that have a higher NEED do the higher node connected higher bandwidth/sped connections. as they NEED it more

For that very reason I was inquiring about the usage of maxconnections with low values. If i understand correctly, using the value 10 would give me 8 nodes to connect to while allowing 2 nodes connect to me. The default is 125 which would allow 117 people to connect to me while i connect to 8 nodes.

125 connections might be a bit too much for a poor 1mbps down 300ish kbps up link...

exactly, lower the count down and youll save alot of bandwidth, thus allowing the speed you do have to be more concentrated on those that NEED connections

legendary
Activity: 2030
Merit: 1569
CLEAN non GPL infringing code made in Rust lang
February 15, 2019, 11:46:33 AM
#5
imagine a home user with 5mb connection but 100 nodes connected.. thats 0.05mb per node (sending ~1.2mb 100x)
imagine a home user with 5mb connection but 2 nodes.. thats 2.5mb per node(sending 1.2mb 2x)

the second option is better for home user as the block is sent in seconds to just 2 users meaning speedy. also its only 2.4mb total instead of 120mb total.

now imagine it from the receiver side.. imagine a merchant was connected to a home node. the merchant wont want to get data at 0.05mb speed they would prefer 2.5mb speed
so not only will the home user benefit by lowering nodes connected but also the people on the other end would benefit too
its far better that a home user only connects to 1-2 nodes for own benefit and have just enough for own NEED, and let the merchants that have a higher NEED do the higher node connected higher bandwidth/sped connections. as they NEED it more

For that very reason I was inquiring about the usage of maxconnections with low values. If i understand correctly, using the value 10 would give me 8 nodes to connect to while allowing 2 nodes connect to me. The default is 125 which would allow 117 people to connect to me while i connect to 8 nodes.

125 connections might be a bit too much for a poor 1mbps down 300ish kbps up link...
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
February 15, 2019, 10:05:43 AM
#4
Non-Mining Nodes don't validate anything,
they only RELAY blocks according to their consensus rules, they don't validate anything at all.
Which is why non-mining nodes don't really matter and their is no security advantage to having more non-mining nodes.

If nodes just blindly relay, then why wouldn't they relay an invalid block?  You said it yourself, they relay blocks which conform to consensus.  Which means non-mining nodes are enforcing consensus rules.

You are free to believe the misguided notion that non-mining nodes don't matter, but you won't find much support for that kind of foolishness here.
legendary
Activity: 4396
Merit: 4755
February 15, 2019, 04:33:12 AM
#3
mining nodes validate the transactions they receive, and collate them into blocks. they then create an identifier of the collated block, and send that to a bunch of ASIC machines which then make a more secured, harder to break identifier for the block.

the block with this strong identifier is sent out to the network.
the network then validate it all and if all is good, the network(non mining nodes) retain that block and also relay it on.
if a node (mining or not) was to send a bad block to another node it would get rejected

the nodes that retain the block(a good honest list of blocks that all meet the rules.) would if all nodes done the same find that all their identifiers match, making it easier and non-controversial for new blocks to be added on. as new blocks also contain identifiers of the previous block. thus making a chain of blocks that continually grow, because everyones list of blocks match

the symbiosis:
mining nodes validate and collate data into blocks. but non mining nodes validate and retain good list of blocks.
if blocks are bad then a miner will find their block is not in the list, and as such merchants/exchanges/shops/services wont see their block and thus the miners cant spend the rewards with said merchant.

its not a non mining vs mining node debate many should concern themselves about. because they are both symbiotic and rely on each other.
mining nodes make the blocks. non-mining nodes view whats in a block to know funds have moved/spent/spendable

the real debate is about merchant/service nodes(non mining) being more important than home user nodes(non mining), on the bases that:
miners dont really spend funds to home users. so miners dont care to send blocks to home users
merchant nodes usually have business rated internet and NEED to monitor/view hundreds of payments a day.
home users only care about 1-2 a day, and usually only have home rated internet

thus home users requirement to:
validate thousands of tx a block is not personally something they NEED
retain thousands of tx a block is not personally something they NEED
and with home rated internet. if they did set node connections to 10-100 would find the bandwidth used to be a seed for others is not something that is a benefit to anyone on the sending or receiving side

imagine a home user with 5mb connection but 100 nodes connected.. thats 0.05mb per node (sending ~1.2mb 100x)
imagine a home user with 5mb connection but 2 nodes.. thats 2.5mb per node(sending 1.2mb 2x)

the second option is better for home user as the block is sent in seconds to just 2 users meaning speedy. also its only 2.4mb total instead of 120mb total.

now imagine it from the receiver side.. imagine a merchant was connected to a home node. the merchant wont want to get data at 0.05mb speed they would prefer 2.5mb speed
so not only will the home user benefit by lowering nodes connected but also the people on the other end would benefit too
its far better that a home user only connects to 1-2 nodes for own benefit and have just enough for own NEED, and let the merchants that have a higher NEED do the higher node connected higher bandwidth/sped connections. as they NEED it more
legendary
Activity: 1652
Merit: 1483
February 14, 2019, 04:51:14 PM
#2
Hey guys,

i was pretty sure that validating nodes give us some kind of security even if they don't mine.
But now i got into a lot of discusssions with these BCH/SV guys and not 100% anymore Cheesy How does a full node prevennt double spending, its accepting the longest chain no matter what no?

full nodes cannot prevent a double-spend attack because double-spend attacks are 100% compatible with the protocol. it's one of the weaknesses of proof of work consensus. our nodes verify that miners are building on the chain with most cumulative work. that chain could be one where miners just committed a double-spend attack.

this is supposed to be mitigated by providing mining incentive---inflation and fees provide miners with compensation for honest mining. committing double-spend attacks costs money and carries risk of failure.

What else are they validating. Does a node operator has to do manual auditing of blocks to confirm no double spend happened?

they are validating every transactions and block against the consensus rules---bitcoin's rules. one of the most sacred rules is the 21M cap on supply. so for example, a full node would reject any block that pays more than 21 million bitcoins in an output---that would be an obvious attempt to break the rules by over-inflating the supply.

so what is true or wrong about this article from this Faketoshi Craig ?

https://medium.com/@craig_10243/the-myth-of-the-full-validation-node-d7db52748649

non-mining full nodes do not actively affect the consensus (they do not mine blocks) but they passively affect the consensus by forcing miners to act honestly. to use the earlier example, if miners tried to fork the protocol to inflate the supply beyond 21M coins, SPV (non-validating) nodes would follow miners and would have no idea about the theft that was occurring. fully validating nodes would reject any such fork, which prevents miners from attempting it. if miners tried, they would waste money mining an invalid chain which would be rejected by a network of full nodes.
newbie
Activity: 17
Merit: 0
February 14, 2019, 08:21:41 AM
#1
Hey guys,

i was pretty sure that validating nodes give us some kind of security even if they don't mine.
But now i got into a lot of discusssions with these BCH/SV guys and not 100% anymore Cheesy How does a full node prevennt double spending, its accepting the longest chain no matter what no ?
What else are they validating. Does a node operator has to do manual auditing of blocks to confirm no double spend happened?

so what is true or wrong about this article from this Faketoshi Craig ?

https://medium.com/@craig_10243/the-myth-of-the-full-validation-node-d7db52748649

pls not (only) hate, give me some answers i can learn from to understand it better.

Cheers  Grin

Pages:
Jump to: