Pages:
Author

Topic: Why do some people believe that only the nodes miners run matter? - page 3. (Read 4811 times)

member
Activity: 168
Merit: 47
8426 2618 9F5F C7BF 22BD E814 763A 57A1 AA19 E681

The entire thesis is that if you put a huge booty in front of the mining cartel’s nose then they can set their mining nodes to use Satoshi's protocol and claim they’re doing what is correct, because Core was a trojan horse that convinced all this stupid fools to spend their BTC to “pay to anyone”.

And remember miners are entirely anonymous. Who you going to complain to when your BTC is gone? The majority of the hashrate will have been paid a huge profit and will not agree to give it back! How will you overrun their hash power? Will you USAF on a new proof-of-work hash function to turn their mining equipment into doorstops? But then your new fork will have nearly no security. So they will fuck your new coin to hell by renting GPUs. In fact, DCC has huge mining farms of GPUs ready to go for such an attack.

The powers-that-be are outwitting you fools Wake up.

[..]

And you will have no objectivity at all about what is valid, because they can turn your low security fork into dozens or maybe even 100s of forks that are valid for your node. So no transactions will confirm. The chain will be stuck. Your node will report continuous chain reorganizations and huge orphan rate.

Dude please. I don’t have time for this. If you don’t believe me, then go ahead and try it. Lol.

miners will mine the most profitable chain. An altcoin that steal segwit transactions will never be profitable to be mined, stolen coins will have no value on the market. So there is no booty, they can claim what they want, like what it is trying to do bitcoincash. Bitcoincash have little to no hashpower, less transaction than dogecoin, no one really use it, no one really want it, it is only a stupid pump and dump coin used to scam traders and investors with zero knowledge about physics.
member
Activity: 168
Merit: 47
8426 2618 9F5F C7BF 22BD E814 763A 57A1 AA19 E681

Your reply is nonsense and incorrect.

The offline node can entirely validate all the transactions, Merkle trees, block hashes, and proofs-of-work.

There’s absolute no reason to need to be online to objectively verify what transpired, unless you’re claiming that you don’t have a copy of the longest chain that was published.

So go query as many sources as you want, asking for the longest chain they have. Then verify the longest one.
we are saying the same thing, your full node don't need to be online,
what is a full node? a full node is a software that verify all blocks. It can be pruned, it don't need to be always online, my full node is not always online, it came online when I ask for the longest chain.

IOW, only one node on the entire network has to be honest in terms of saving a copy of the longest chain. Then everyone else can objectively verify offline that is indeed the longest chain and that all the data is objectively valid.
to verify offline that is indeed the longest chain, you need a full node. An spv client can not verify the longest chain.

Incorrect. P2SH is equivalent to “pay to anyone”.
p2sh like segwit are equivalent to pay to anyone only for outaded nodes.

You are incorrect. If you put a huge booty carrot out there for the mining cartels to profit on, then they have every incentive to take your donations. Read this.
My node tell me if a block is valid or not, mining cartels can mine their altcoin as long as they want. it has no value for me.!

Dude node count means nothing at all.

Distributed != decentralized. That is a fundamental error in conceptualization on your part.

It is all about who controls the mining from behind the curtain. Of course they want you to think your safe. And you have lots of nodes. That is how they fool you into donating your BTC to them.

Watch and learn next year (or when ever the SegWit booty piles up large enough). And do not whine when your BTC is “Poof it’s gone”. I tried to warn you, but you’re hard headed.
I will repeat if it is not clear, my node tell me what is valid and what is not. Miners trying to steal segwit will mine an invalid chain and my node will never consider their chain as valid because it is not, no mater how long their chain is, if it is invalid, is invalid.!
Your coins will be stolen only if you use an spv wallet trusting mining cartels.
I don't trust mining cartels, so I run a full node(it is not always online, most of the time it is offline).!!!!

Bitcoin means trust no one, I don't trust miners, I don't trust other full nodes, I will verify which is the longest valid chain and follow it.! if a chain is not valid for my node, it is an altcoin. I only trust that most people give a value to the same chain I'm following.
If people don't run a full node they can be cheated by mining cartels and give some value to a shitcoin pretenting to be bitcoin.

member
Activity: 168
Merit: 47
8426 2618 9F5F C7BF 22BD E814 763A 57A1 AA19 E681

Let me re-quote myself with bolded emphasis on the point which (I had written twice before which) explains that no one benefits from running non-mining nodes because the objectivity of the blockchain can be verified offline:

sure, validation can be done offline, you can run a pruned full node with listen=0 and not accepting incoming connections, you are not givining a fk to the bitcoin network, but does not matter, you should run a full node to verify blocks for yourself. If you don't run a full node you are not using bitcoin! if you don't run a full node you are using a slow inefficent paypal with a nerd authentication system.

Lol. Those who accept UTXO with SegWit in the transaction history (even if they obtained the BTC from an exchange) could possibly have all their BTC stolen by the miners r private keysin a future long-range 50+% attack on SegWitwithou t ever touching your wallet or you. May happen or may not happen, but of course those (i.e. Blockstream/Core) who want you to adopt SegWit will try to tell you it can never happen, yet they refuse to debate me (they’ll probably fabricate flimsy reasons to ban this account also in order to hide the debate). That is why I will be very careful about the lineage of the BTC I am holding as SegWit transaction volume ramps up. Because SegWit is pay to anyone. It totally breaks the security of proof-of-work. SegWit is like a virus so the oligarchy can steal from all the n00bs who decide to spend their BTC to SegWit “pay to anyone”.
bullshit, if a miner try to steal segwit coins his block is invalid. No way they will be able to steal coins and produce a valid block. Segwit is here to stay and my full node(not miners) tell me what is it valid and what no.!
TRB don't understand softforks so it will make users think they can spend segwit or p2sh, but they can not. I don't care what miners do, I only care what my node tell me is valid or not.

Code:
If:
  2 ⨁ 3 = 10
  
  7 ⨁ 2 = 63
  6 ⨁ 5 = 66
  8 ⨁ 4 = 96

then:

  9 ⨁ 7 = ?
9*16=144

Non-mining nodes do not matter at all w.r.t. to the consensus, as will be further discussed below.
my full node matter for me! so I can verify and not trust.!!!

I stated that running a non-mining full node provides an objective perspective on the chain. But validation of Nakamoto proof-of-work can be done offline. Propagation order doesn’t matter, so validation doesn’t need to be live.
correct, My node only broadcast my transactions, I don't care others :-D

I’m 100% for decentralization and permissionless/censorship resistance. But I am not for promulgating incorrect information. If ever I am shown to be incorrect, then I will rescind, but I can’t fathom how I could be incorrect on this issue. I have studied this.

You are wrong you told segwit will allow miners to steal bitcoins LOL, calling segwit a virus, rotfl, that's a FALSE bs. please stop spreading this propaganda bs.! It is false. there are only 12 known nodes running TRB, vs 85000 full nodes running bitcoin-core >0.15! TRB nodes can not really validate blocks, as they don't understand any softfork made since then.!
member
Activity: 187
Merit: 20
All full validating nodes, mining or not, validate all the transactions and blocks in the network and check if they follow the rules, correct?

Then I assume that that my node is as good as a miner's node.

No. Your node validates transactions but you need a base to validate them on, and that base is the history of the longest chain. That's why in a double-spend attack the attacker prepeares a fake history, then she does her 1st spend and issues a fork of the history that doesn't include her own transaction. Your full node will see the fork and trust the longest chain, which comes in this case from the attacker who then can spend her coins again.

But why do some people believe that only the miners' nodes matter and are very quick to cite this?



Is there a technicality in how the whitepaper is written?

Plus if the miners create the block and their nodes do the only validations that matter then what's the point?

"One-CPU-one vote" in his paper, Satoshi did not expect miningpools to take over. Originally it was intended that every user of full nodes particiates in maintaining the Blockchain by giving some of her CPU-power to the network and earning a reward for it. Today we have a mining industry that has no interest in the coin what so ever as long as they make profit from it. They don't even have to use the coin at all for anything else but to sell the reward for their profit.

Other protocols like PoS are more close to Satoshi's orignial intend, where everyone who has a wallet open stakes a part of their coins to keep the Blockchain running and by attacking the Blockchain they risk losing their own investment they have in the coin.
full member
Activity: 294
Merit: 104
✪ NEXCHANGE | BTC, LTC, ETH & DOGE ✪
All full validating nodes, mining or not, validate all the transactions and blocks in the network and check if they follow the rules, correct?

Then I assume that that my node is as good as a miner's node.

But why do some people believe that only the miners' nodes matter and are very quick to cite this?



Is there a technicality in how the whitepaper is written?

Plus if the miners create the block and their nodes do the only validations that matter then what's the point?

It is just a propaganda to make you doubt the tenacity of blockchain technology. If they can do that nobody is going to stop them. Just do it. Don't make false claims against distributed networks. We want action. Not empty promises and manifesto.
legendary
Activity: 2898
Merit: 1823
From @anonymint of course...

Will probably not reply to any misunderstandings or arguments spawned from this, because have too much work to do.


I have been waiting for someone to ask this question since I have the same question, and I'm just a newbie who reluctant to start a new topic.

From what I read arguments against non-mining full node, as follows:

It doesn't make the network stronger. It's actually the opposite. A non-mining full node only acts as a "witness." It doesn't have the ability to put/discard transactions in the blockchain. Thus, it only delays sending transactions to the node that really matters.

Of course it does. If a full validating node that is not a miner receives a non-valid transaction then it will not propagate it to the rest of the network.
  

True and you’re correct to imply that makes the network more resilient. Bolsters for example in protecting against DDoS attacks, because there are more nodes that an attacker would have to take down in order to partition or otherwise impact the propagation of valid data on the P2P network. You’re correct that nodes don’t forward invalid data, because doing so would allow amplification attacks and generally break the contract of mutual protection.

But on the overriding theme it appears that you and @amishmanish are trying to use that as a strawman argument in order to making an incorrect argument for the relevance of non-mining nodes.

The non-mining nodes do this work for free to protect mining nodes. The mining nodes are the only ones being paid by the consensus system. If the non-mining nodes all disappeared, mining nodes would have to set up these perpherial nodes and pay for them. Because mining nodes must have a robust P2P network in order to insure their income stream. And mining nodes probably already do control many nodes for this reason. A mining farm does not put all its hashrate behind one node on the network, lol.

So really as I already explained in my prior two curt posts in this thread, I still maintain that non-mining nodes are irrelevant.

Non-mining nodes might be viewed as irrelevant by the rest of the network but the relevance of running one should matter to you. It would also be in a Bitcoiner's self interest to do and validate his own transactions instead of relying for someone else to do them for you, which what SPV wallets do.

Maintaining censorship resistance and a sovereign asset system depends on it.

Full validating nodes also assure censorship resistance and can give checks and balances to miners' nodes.
Censorship can never be objectively proven. You seem to not be aware of the inherent limitations of triangulation due to lack of perfect network synchronization that is a fundamental fact of physics in our universe.

Non-mining nodes do not matter at all w.r.t. to the consensus, as will be further discussed below.

I stated that running a non-mining full node provides an objective perspective on the chain. But validation of Nakamoto proof-of-work can be done offline. Propagation order doesn’t matter, so validation doesn’t need to be live.

Are you saying that mining nodes can censor my transaction if I do it from my full node?

I will wait for amishmanish to reply, before doing it myself.

Plus Traxo, tell anonymint to reply himself. Thanks.
hero member
Activity: 568
Merit: 703
From @anonymint of course...

Will probably not reply to any misunderstandings or arguments spawned from this, because have too much work to do.


I have been waiting for someone to ask this question since I have the same question, and I'm just a newbie who reluctant to start a new topic.

From what I read arguments against non-mining full node, as follows:

It doesn't make the network stronger. It's actually the opposite. A non-mining full node only acts as a "witness." It doesn't have the ability to put/discard transactions in the blockchain. Thus, it only delays sending transactions to the node that really matters.

Of course it does. If a full validating node that is not a miner receives a non-valid transaction then it will not propagate it to the rest of the network.
  

True and you’re correct to imply that makes the network more resilient. Bolsters for example in protecting against DDoS attacks, because there are more nodes that an attacker would have to take down in order to partition or otherwise impact the propagation of valid data on the P2P network. You’re correct that nodes don’t forward invalid data, because doing so would allow amplification attacks and generally break the contract of mutual protection.

But on the overriding theme it appears that you and @amishmanish are trying to use that as a strawman argument in order to making an incorrect argument for the relevance of non-mining nodes.

The non-mining nodes do this work for free to protect mining nodes. The mining nodes are the only ones being paid by the consensus system. If the non-mining nodes all disappeared, mining nodes would have to set up these perpherial nodes and pay for them. Because mining nodes must have a robust P2P network in order to insure their income stream. And mining nodes probably already do control many nodes for this reason. A mining farm does not put all its hashrate behind one node on the network, lol.

So really as I already explained in my prior two curt posts in this thread, I still maintain that non-mining nodes are irrelevant.

And for propagation of new block announcements, I reiterate again that it is a measured fact that the connections are hashrate-weighted and so the mining nodes make sure they have best connectivity to the hashrate that matters and non-mining nodes have no ability to delay or impact the propagation of new block announcements if for example they disagree with something such as a protocol change in a fork.

Full validating nodes also assure censorship resistance and can give checks and balances to miners' nodes.
Censorship can never be objectively proven. You seem to not be aware of the inherent limitations of triangulation due to lack of perfect network synchronization that is a fundamental fact of physics in our universe.

Non-mining nodes do not matter at all w.r.t. to the consensus, as will be further discussed below.

I stated that running a non-mining full node provides an objective perspective on the chain. But validation of Nakamoto proof-of-work can be done offline. Propagation order doesn’t matter, so validation doesn’t need to be live.



On the other hand, if you leave only the miners to run full nodes while the rest of the world is supposed to assume they are honest, it changes everything.

I’m sorry that you force me to be argumentative. Perhaps you’re not aware of all the following points?

AFAICT, you’re again making strawman arguments.

If miners were to accept willy-nilly protocol errors (as opposed to rallying in unified hashrate around a fork of agreed protocol changes) such as minting more coinbase reward per block than allowed by the protocol, then incentives compatibility would be lost and the longest chain rule would be ambiguous because there would no longer be an exclusive incentive (i.e. no single contract) to mine on the longest chain. Miners can’t do this because they would destroy their income stream because the chain would fork off into dozens or more forks that never reconcile into a longest chain. Thus no one could spend. The consensus would not unambiguously progress forward. The only viable way for miners to fork the protocol, is by agreement of a majority of the hashrate. Period. The non-mining nodes are irrelevant. As for the politics, I discuss that below after a tangential paragraph...

Btw (and slightly off-topic), Nakamoto proof-of-work becomes incentives incompatible and will no longer converge on a longest chain when the transaction fees rise to become much larger than the block rewards. And Byzcoin is not a solution to this insoluble dilemma. This is why proof-of-work must be run by an oligarchy of miners otherwise it will fall into tragedy-of-the-commons clusterfsck. This tragedy-of-the-commons is also caused by the insoluble problem that no choice for a block size (not even Monero’s adjustment algorithm with tail reward) can resolve the game theory errors in the design. Thus the only way Nakamoto proof-of-work will continue to be incentives compatible is with an oligarchy of mining running it and extracting the maximum transaction fees that the market can bear. This is why none of us will be transacting on-chain in the future when transaction fees are $50,000. These are facts. Review the cited links if you’re not aware of all the details.

So the bottom line is that proof-of-work was designed to become fully centralized. See also the Decentralized section of @anonymint’s latest blog.

So your valid concern is that fully centralized mining could if not validated by users do some protocol errors. I never argued against this point. In my first post in this thread, I stated that running a non-mining full node provides an objective perspective on the chain. But validation of Nakamoto proof-of-work can be done offline. Propagation order doesn’t matter, so validation doesn’t need to be live.

You choose to keep ignoring the point being made on the technicality of "non-mining nodes cannot append onto the blockchain". Everyone knows that. Where do you think bitcoin derives it value from? Bitcoin does not derive its value from miners or the longest chain. It derives value from the usage and non-third party trust ensured by the PoW security that miners provide.

I do not see where I ever ignored any valid point pertaining to this thread. You seem to be implying that a user activated hard fork could work. Incorrect. I already stated that the only way it can work is by changing the proof-of-work hash function. And note that changing the proof-of-work will make the security initially very low. If the miners decide to go rogue for whatever reason they decide to, then the non-mining nodes can’t do anything about it other than announce the protocol errors to the community.

If the community decides to abandon the chain and spend their tokens to some other chain, then the miners apparently would have a reason for wanting that outcome. Perhaps they shorted their own token, so they can buy it up cheap and then stop attacking and profit on the rebound in price. There are many possible externalities and none of us are omnscient enough to fully reason about all of them a priori. For example, if the 666 coincides with Bitcoin being the world reserve currency, the world government run by the powers-that-be may not give a shit at the future juncture whether some nerds and their user activated hardfurk doesn’t agree with the global politics. For example if they debase the money supply functioning as a world central bank. Presumably at the future juncture they would have the political support to do what they want to do. The problem with your strawman theory of users uniting to defect from miner defection from ideals, is that as Vitalik had explained that altriusm-prime is an undersupplied public good. IOW, that there’s no Schelling point by which users will rally around to fight the politics. Because always users have many selfish vested interests which outweigh a collective interest. This is why democracy is always fscked.

Do you really think you are smarter than the think-tanks of the Zionists who have employed armies of those with 160 IQs. Do you think they have not thought through many of the possibilities going forward? We have some smart guys on this forum. If they dig into the details as deep as @anonymint has, they might be humbled as he has been. We’re so self-important. But we’re not! We will get our diapers changed by those powers-that-be who understand the game theory of political-economics, unless perhaps we wise up and stop pretending to ourselves that it’s so simple.

Devil in the details. Please open your mind and dig into.
legendary
Activity: 2898
Merit: 1823
There's more to it than this but the basic reason people want to run their own node is trust. Your own node can validate all transactions. If you rely on other peoples nodes then you are putting trust in them to validate transactions on your behalf.

<...>
If there were no non-mining nodes at all, miners would have total control of the Blockchain. They can essentially work together and change the protocol rules of Bitcoin and its not what we want.

<...>
1. Know which one is longest chain, it's really useful when chain-split occurred unintentionally. The example is Bitcoin-qt upgrade 0.8 in 2013.
2. Detect invalid transaction in block, since you can't detect it only from block header which SPV uses.
3. Know that other nodes/miners change their Bitcoin protocol intentionally.

<...>
The supporters of big blocks believe that there is no danger in relegating all mining and consensus power to specialized hardware manufacturers like Bitmain. The reason they cite is that miners have incentive to keep the structure intact and to not attack the chain. They assume that the miners or miner community have no reason to attack the chain completely neglecting the possibility of takeover and disruption by authoritarian governments or other political upheavals.
<...>

<...>
Being forced to connect "directly to a trusted mining full node" is exactly where Bitcoin would become permissioned. You now have a single node that you put your trust into and if they deny your transaction your shit out of luck.
Going through "a maze of 'non-mining full nodes'" that you don't need to trust is the only way to make sure your transaction actually gets propagated across the network and thus relayed to all -- or at least most -- miners. Not just that the ones that you "trust".
I also don't see how having the sender connect directly to mining nodes would make accepting 0-conf transactions safer for the recipient, as even within a network of mining nodes only, the recipient has no guarantee that all miners have received the same transaction. Worse, still, the recipient's "trusted mining node" may not even be aware of an ongoing double spend attack.
The question of node updates aside, the drama of recent times was more a question of politics and self-governance, rather than technology.

<...>
Full validating nodes also assure censorship resistance and can give checks and balances to miners' nodes.
<...>
That is the road to centralization and that would be bad for Bitcoin.
That's my understanding.

I think now I have a better understanding about this issue. The opposing parties of non-mining nodes have the underlying assumption (hypothetical) that miners will never cheat. Miners will never destroy their own investment, therefore users can trust mining nodes.

They also discounted the reality that mining has become more centralized over the years by the mining cartel. The "one CPU one vote" as Satoshi envisioned does not apply anymore.

Quote
That being said, efforts to validate transactions and detect invalid transactions in the blocks are just a waste of time since users can trust mining nodes.

But you do not have to. You can validate them yourself by running a full node.

Quote
Meanwhile, the supporting parties of non-mining nodes have the underlying assumption (hypothetical) that there is a probability of cheating and a possibility of takeover and disruption by authoritarian governments or other political upheavals.

That is too much but yes, it would be better for the users to validate transactions and check if they follow the rules. It is also good for maintaining decentralization.

Quote
I guess parties who against the non-mining nodes would have their "Oh Shit" moment when their hypothesis could be proven false.

It is false. Anyone should have that choice and ability to validate transactions and blocks, mining node or not. Anyone who convinces you "no" should be validated. Hahaha.
legendary
Activity: 1904
Merit: 1159
the point is not to prevent mining nodes from seeing those blocks, rather it is so that miners who are using a different blockchain from the rest of the network (which occurs regardless of block propagation times) are mining useless coins.
Your statement does not make non-mining nodes relevant. Nor does it refute the point that was being made, which is that non-mining nodes are irrelevant. What can they impact? They can’t even impact propagation delay.

The statement does exactly that. You choose to keep ignoring the point being made on the technicality of "non-mining nodes cannot append onto the blockchain". Everyone knows that. Where do you think bitcoin derives it value from? Bitcoin does not derive its value from miners or the longest chain. It derives value from the usage and non-third party trust ensured by the PoW security that miners provide.

Non-mining full nodes are supposed to be run by 1.) Users 2.) Merchants/ Small businesses 3.) Exchanges. Those are the entities that give it value. Transactions rejected by such full nodes have no takers because they will appear invalid to the users, exchange & merchants . That is why miners will never dare mine a chain separate from that acceptable to the rest of the world, i.e. "Non-mining Full nodes".

On the other hand, if you leave only the miners to run full nodes while the rest of the world is supposed to assume they are honest, it changes everything. That is why it is stressed that you should be running a full node if you can afford to.


hero member
Activity: 568
Merit: 703
The time to propagate blocks is completely unrelated to this. How does taking more time for a block to reach a non-mining node matter?
It’s the converse implication that matters and was the point being made. That is that non-mining nodes are irrelevant because they can’t insert themselves into the hashrate-weighted network to cause propagation delay between mining nodes.

The block propagation time is completely irrelevant

Incorrect. Any delay for mining nodes on receiving a new block is some lost profit. The selfish mining attack exemplifies that delayed (withheld in that case) blocks matter for profit.

the point is not to prevent mining nodes from seeing those blocks, rather it is so that miners who are using a different blockchain from the rest of the network (which occurs regardless of block propagation times) are mining useless coins.
Your statement does not make non-mining nodes relevant. Nor does it refute the point that was being made, which is that non-mining nodes are irrelevant. What can they impact? They can’t even impact propagation delay.

I believe it has been shown that most nodes are at most one or two hops from a miner. That and the fact that nearly all miners connect directly to each other reduce the value of non-mining nodes as part of the consensus protocol.

That agrees with our point.
member
Activity: 322
Merit: 54
Consensus is Constitution
mu enrico,

no that is not it at all.  Realists realize that non mining nodes are good for the node holder and network, but not by validating the network.  The point that those of us who don't idolize non mining nodes is we realize that they have no vote in the consensus of the blockchain and so if they found something wrong in the network, they would be powerless to change or fix it.  However miners do have the power to fix problems in the blockchain.
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
I think now I have a better understanding about this issue. The opposing parties of non-mining nodes have the underlying assumption (hypothetical) that miners will never cheat. Miners will never destroy their own investment, therefore users can trust mining nodes. That being said, efforts to validate transactions and detect invalid transactions in the blocks are just a waste of time since users can trust mining nodes.

[...]

It is worth noting that there's a difference between trusting mining nodes in general (ie. the network as a whole) and specific, individual nodes (ie. a directly connected trusted mining node). Being able to trust the network as a whole while not having to trust individual miners is why decentralization is so fundamental. If you have to rely on trusted individual miners you might as well stop using cryptocurrencies altogether.
copper member
Activity: 2324
Merit: 2142
Slots Enthusiast & Expert
There's more to it than this but the basic reason people want to run their own node is trust. Your own node can validate all transactions. If you rely on other peoples nodes then you are putting trust in them to validate transactions on your behalf.

<...>
If there were no non-mining nodes at all, miners would have total control of the Blockchain. They can essentially work together and change the protocol rules of Bitcoin and its not what we want.

<...>
1. Know which one is longest chain, it's really useful when chain-split occurred unintentionally. The example is Bitcoin-qt upgrade 0.8 in 2013.
2. Detect invalid transaction in block, since you can't detect it only from block header which SPV uses.
3. Know that other nodes/miners change their Bitcoin protocol intentionally.

<...>
The supporters of big blocks believe that there is no danger in relegating all mining and consensus power to specialized hardware manufacturers like Bitmain. The reason they cite is that miners have incentive to keep the structure intact and to not attack the chain. They assume that the miners or miner community have no reason to attack the chain completely neglecting the possibility of takeover and disruption by authoritarian governments or other political upheavals.
<...>

<...>
Being forced to connect "directly to a trusted mining full node" is exactly where Bitcoin would become permissioned. You now have a single node that you put your trust into and if they deny your transaction your shit out of luck.
Going through "a maze of 'non-mining full nodes'" that you don't need to trust is the only way to make sure your transaction actually gets propagated across the network and thus relayed to all -- or at least most -- miners. Not just that the ones that you "trust".
I also don't see how having the sender connect directly to mining nodes would make accepting 0-conf transactions safer for the recipient, as even within a network of mining nodes only, the recipient has no guarantee that all miners have received the same transaction. Worse, still, the recipient's "trusted mining node" may not even be aware of an ongoing double spend attack.
The question of node updates aside, the drama of recent times was more a question of politics and self-governance, rather than technology.

<...>
Full validating nodes also assure censorship resistance and can give checks and balances to miners' nodes.
<...>
That is the road to centralization and that would be bad for Bitcoin.
That's my understanding.

I think now I have a better understanding about this issue. The opposing parties of non-mining nodes have the underlying assumption (hypothetical) that miners will never cheat. Miners will never destroy their own investment, therefore users can trust mining nodes. That being said, efforts to validate transactions and detect invalid transactions in the blocks are just a waste of time since users can trust mining nodes.

Meanwhile, the supporting parties of non-mining nodes have the underlying assumption (hypothetical) that there is a probability of cheating and a possibility of takeover and disruption by authoritarian governments or other political upheavals.

I guess parties who against the non-mining nodes would have their "Oh Shit" moment when their hypothesis could be proven false.
member
Activity: 322
Merit: 54
Consensus is Constitution
So the deal is this.  Let's say your full node finds a flaw in bitcoin.  How would you get everyone to accept this?  Well what you do is you have to get your corrected ledger to be accepted by the network.  How do you do this?  You have to fork the current chain where it went wrong and replace it with another corrected chain, and the chain must be longer than the one you are replacing since that is the requirement the protocol sets for a ledger to be accepted.  

So in other words, you have to win blocks for your version of the correct ledger to be accepted by the network.  And to win blocks you must be mining.

You finding a flaw doesn't mean diddly in other words.  You have to put your money where your mouth is and that is by getting your ledger accepted by the network which requires winning blocks.

Also non mining full nodes make the network slower but more robust.  So it is positive in my opinion and you can also be assured you can send and receive bitcoin whenever and wherever you want.  With a SPV wallet you have to hope that other nodes even allow you to connect and sometimes they don't.
legendary
Activity: 2898
Merit: 1823
I have been waiting for someone to ask this question since I have the same question, and I'm just a newbie who reluctant to start a new topic.

From what I read arguments against non-mining full node, as follows:

It doesn't make the network stronger. It's actually the opposite. A non-mining full node only acts as a "witness." It doesn't have the ability to put/discard transactions in the blockchain. Thus, it only delays sending transactions to the node that really matters.

Of course it does. If a full validating node that is not a miner receives a non-valid transaction then it will not propagate it to the rest of the network.

Full validating nodes also assure censorship resistance and can give checks and balances to miners' nodes.

Quote
Parties who against the non-mining full node often cite Satoshi's mail "Only people trying to create new coins would need to run network nodes.  At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware.  A server farm would only need to have one node on the network and the rest of the LAN connects with that one node."

Source:
https://medium.com/@olivierjanss/why-non-mining-full-nodes-are-a-terrible-idea-ad3c49f7a7b6
https://www.mail-archive.com/[email protected]/msg09964.html

That is the road to centralization and that would be bad for Bitcoin.

That's my understanding.
legendary
Activity: 4522
Merit: 3426
I believe it has been shown that most nodes are at most one or two hops from a miner. That and the fact that nearly all miners connect directly to each other reduce the value of non-mining nodes as part of the consensus protocol.

However, I feel that the reduced value in that role does not diminish the importance of a wallet's ability to validate the blocks and transactions it receives.
staff
Activity: 3458
Merit: 6793
Just writing some code
Craig Wright[1] had documented that a new block propagates within roughly 1 second to something on the order of ~98% of the hashrate. But the 1000s of nodes in the remaining ~2% of the hashrate can see significant delays. Mining nodes prioritize their connectivity to nodes which generate block solutions, because being late on mining a new block solution costs money.

Thus non-mining nodes are essentially ignored by the consensus system of Nakamoto proof-of-work. That is why user activated fork is nonsense. The only way the non-mining users can overrule the miners is to change the proof-of-work hash of the system (which is centralization because voting and politics is centralized manipulation).

Your non-mining full node can enable you to objectively validate transactions (which is not possible in ANY proof-of-stake systems), but can't have any appreciable impact on the consensus.

[1] Yeah I know he makes mistakes and is irritating, but a few of his points are correct.
The time to propagate blocks is completely unrelated to this. How does taking more time for a block to reach a non-mining node matter? If that non-mining node rejects the block, and if enough non-mining nodes reject the block, then the miners are still on a fork that is not being used so their coins are effectively worthless. The block propagation time is completely irrelevant; the point is not to prevent mining nodes from seeing those blocks, rather it is so that miners who are using a different blockchain from the rest of the network (which occurs regardless of block propagation times) are mining useless coins. Block propagation time has nothing to do with consensus.
hero member
Activity: 568
Merit: 703
Craig Wright[1] had documented that a new block propagates within roughly 1 second to something on the order of ~98% of the hashrate. But the 1000s of nodes in the remaining ~2% of the hashrate can see significant delays. Mining nodes prioritize their connectivity to nodes which generate block solutions, because being late on mining a new block solution costs money.

Thus non-mining nodes are essentially ignored by the consensus system of Nakamoto proof-of-work. That is why user activated fork is nonsense. The only way the non-mining users can overrule the miners is to change the proof-of-work hash of the system (which is centralization because voting and politics is centralized manipulation).

Your non-mining full node can enable you to objectively validate transactions (which is not possible in ANY proof-of-stake systems), but can't have any appreciable impact on the consensus.

[1] Yeah I know he makes mistakes and is irritating, but a few of his points are correct.
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
From what I read arguments against non-mining full node, as follows:

It doesn't make the network stronger. It's actually the opposite. A non-mining full node only acts as a "witness." It doesn't have the ability to put/discard transactions in the blockchain. Thus, it only delays sending transactions to the node that really matters.

[...]

I doubt that having a multitude of non-mining full nodes makes the network slower. If anything it makes the network more resilient and possibly less prone to orphaned blocks due to enabling multiple network paths to and between mining nodes.


Either way, I've looked through the medium post you are referring too, and I don't think their arguments hold quite up:

It prevents Bitcoin from scaling

Running full nodes (or the discussion about the need for full nodes) does not prevent Bitcoin from scaling. Keeping blocks small is what enables people to run full nodes, which is necessary to keep the network censorship-resistant. (Cue the whole small blocks vs big blocks discussion all over again)

Other scaling solutions exist (eg. Lightning) that do not require pruning the network down to a handful of datacenters.

It is also worth noting that the network congestion didn't last, showing that increasing the block size now would have been too early. Also the drop of Bitcoin's dominance below 50% is more likely due to the growth of the cryptocurrency market in general, rather than people fleing from Bitcoin in earnest.


They make the network insecure

Being forced to connect "directly to a trusted mining full node" is exactly where Bitcoin would become permissioned. You now have a single node that you put your trust into and if they deny your transaction your shit out of luck.

Going through "a maze of 'non-mining full nodes'" that you don't need to trust is the only way to make sure your transaction actually gets propagated across the network and thus relayed to all -- or at least most -- miners. Not just that the ones that you "trust".

I also don't see how having the sender connect directly to mining nodes would make accepting 0-conf transactions safer for the recipient, as even within a network of mining nodes only, the recipient has no guarantee that all miners have received the same transaction. Worse, still, the recipient's "trusted mining node" may not even be aware of an ongoing double spend attack.


It makes upgrades harder

It does indeed make network upgrades harder. However I'd still argue that in the case of decentralized, immutable blockchains network upgrades shouldn't come too easy -- otherwise we'd just have auto-updating nodes, which is something that Core has explicitely decided against for fear of centralization.

The question of node updates aside, the drama of recent times was more a question of politics and self-governance, rather than technology.
legendary
Activity: 1904
Merit: 1159
This is one of the main arguments we all come across from those who feel there is no problem in any increase in block size. Moore's law being the other. The supporters of big blocks believe that there is no danger in relegating all mining and consensus power to specialized hardware manufacturers like Bitmain. The reason they cite is that miners have incentive to keep the structure intact and to not attack the chain. They assume that the miners or miner community have no reason to attack the chain completely neglecting the possibility of takeover and disruption by authoritarian governments or other political upheavals.

A non mining full node helps one to verify transactions as they accept only well-formed transactions that follow all the rules. Imagine a small merchant that decides to use a cryptocurrency for his business. Does he need to be a mining node? Not necessarily. On the other hand, does he need the ability to independently verify his transactions? Does he need to ensure that all incoming transactions follow the consensus rules as agreed by the code and there are no unknown changes made to it?? The answer to that would be yes. Both of these are things that only a full node can do. Now imagine thousands of these merchants and users running their own non-mining full nodes while a centralized only-mining entity decides to change the rules and propagate a chain with an increased reward. All those "users and merchants" reject those transactions. The changed transactions become part of the longest chain nonetheless because, well, mining nodes decide what appends on to the blockchain. But if those transactions are rejected by the merchants and users running non-mining full nodes, do they have any value, despite being part of the longest chain?? I don't think so. This is the only way to ensure that mining nodes stay in line even when they don't want to or are being forced not to.

Far too many problems in this world have happened because people are told that they should have no problem in relegating responsibility to a trusted organization. Take an example of any trusted authority in the world and you can find numerous examples where that power has been abused to suppress the common man. Tax authorities, Legislatures, Regulators in education, health and insurance, all of them have abused their power because "They are supposed to act as per the rules".

The whole point of bitcoin and being your own bank was to change this paradigm. Running a full node (mining/ non-mining) does ensure that.
Pages:
Jump to: