Post
Topic
Board Bitcoin Discussion
Re: Why Bitcoin Core Developers won't compromise
by
AgentofCoin
on 19/05/2017, 06:22:37 UTC
Without the full nodes rejecting the non signaling segwit blocks, the miner would not have decided to forked. Without him forking, the market would not be able to determine the outcome.
So essentially your proof of power of full nodes is: full nodes have power over miners, because full nodes have power over miners.
No, seriously.  You talk about a "proof of power" and you assume in your proof what you need to prove Smiley
...
Full nodes have the power to accept or deny the miners work.
... for themselves.

No, that is what you wish to believe.

The economy and community does not follow the miners, they only
follow valid work. If the miners wish to consistently mine in opposition
of the verifying node network, then they will lose everywhere except
amongst themselves. Their recent work becomes worthless and will be
orphaned. The economy and community rejects that recent work.



If majority of the Full Node network denies a certain block, that
block is considered invalid and other miners will ignore that invalid
work.
Why would they ?  They receive each-others' blocks.  If your node considers that block invalid, it doesn't propagate it. Concerning that block, it is as if your node was offline.  If your node is off line, miners don't stop mining.  If 90% of all non-mining full nodes are switched off in half an hour, miners will continue mining.  A full node that refuses a block on the block chain, is like a node that is switched off.  If it doesn't receive another block (from a miner) that is built on the last block that he accepted, it will stop building its own copy of a block chain, and that's it.   On the network, that node will be "silent" now (apart maybe from block requests of the block he refused).  It is like a node that fell behind.

The only thing miners care about, is that their block is accepted by OTHER MINERS, so that it gets included in the sole chain that is out there.  And as time is money for miners, they don't wait for that block to hop happily through the P2P network, they try to catch it from the source: their peers, directly.

They only receive each others blocks for expedited mining, not for verification.
The verification is done individually (and sometimes not at all) as well as by the
verifying node network. If all miners say the work is valid, yet the verifying node
network says it is not, the exchanges and community are alerted and stops since
the miners are building a bad chain. It is then possible that the miners caused this
invalidated chain either on purpose as a collective attack or as a mistake.

This exactly happened in the past (was a miner mistake then) and the economies
and community stopped transacting and rolled back their work (orphaned that chain).
The verifying node network saw that they were not validating their work (built bad chain)
and stopped everyone from using that chain. Your attempted argument now ignores
this historical event that proves my viewpoint. Your argument contradicts what did occur
in the past and what the community lived and learned from.



It is essentially a "Veto Power". The miner's work is not always
correct (though they try to be, otherwise they lose their reward). When
the block is propagated, it is spread throughout the network to
determine if a "Veto" is needed. Majority of the time, it is not needed.
Nope.  What you call "veto power" is the "consensus decision mechanism".  Now, in bitcoin, that consensus decision mechanism is solely decided by PoW.  In other words, the sole entities that have veto power are the miners that decide to build on YOUR block or on ANOTHER block that is valid according to THEIR rules.  If they decide that that block is valid according to their rules, and they decide to build on it, that block is now part of the block chain, and no other miner will put that into question.  If he does, systematically, he has FORKED OFF and decided to make a new chain.  

Nope. You have confused and combined two individual systems.
You have combined PoW with verification. They are separate systems and not
contingent upon the other. One involves computational hashing work and the
other involves validation of origins. Your understanding of modern mining is
incorrect.

You ignore that miners can create bad blocks and other miners could choose
to build on those bad blocks, thus creating bad chains. In those events, where
is the "Veto Power"? Where is the "checks & balances"? That is performed by
the Verifying Node network and you're purposefully ignoring that aspect for the
sake of your misunderstood argument.



If many full nodes decide to use OTHER VALIDATION RULES than the rules that the miners use to accept their peers' blocks (which is what we are talking about), then these full nodes will simply receive the same block chain as anyone else, but will stop at the first block that is not in agreement with their local rules.  At that point, that node stops.  Nothing more.  This will not influence the miner's decisions to accept, or not, their peers' blocks: in fact, they are not even AWARE of it.  If your node stops because its hard disk is full, or because it has a rule set that is different and refuses a block, for the miners, there's no difference. You are not part of the system that is part of the consensus decision mechanism.  Bitcoin is designed that way: that mechanism is only working with PoW.  You don't have any.  And they don't need you to transmit blocks.  They get them from one another.  If you stop transmitting, that's stopping nobody.  Which is what your node will do: stop.

This comment is irrelevant and in a way actually proves my point. Miners are
blind to the realities of the network and how it functions, and instead are only
concerned with the "rat race" that they conduct between themselves. They have
existed in this ignorant state for so long, they have deluded themselves into thinking
they are the controllers of the chain based upon outdated and incorrect Bitcoin theory.

The reality is that they are just one component in the blockchain system. Verifying
Nodes came about and become more important in time, while these miners ignored
everything other than the nonce. They are effectively five years behind everyone else.

To answer your question, if miners all created bad blocks and the verifying node
network detects this and stop relaying those blocks, the correct answer is the first
miner to notice this Verifying Node Network rejection and begin to rework on the last
valid block, is first to get more bitcoins when the chain needs to flip over
. Those miners
who wish to charge forward on the bad chain, requiring everyone else including the
economies to follow them, will quickly discover no one behind them and that token
being worthless. Miners are not loyal to each other, but should only be loyal to the
validated chain. The Verifying Node network maintains the validated chain.

Your argument assume full miner obedience to each other miner, which either means
you believe the majority of miners are in secret collusion (an attack vector) or do not
understand what their power actually is. You cite PoW as if it is the only law, but that
is incorrect. PoW does not actually determine valid work, but is only "busy work".



If miners choose to ignore what the full node network consensus is
saying and choose to continue to build upon the invalid block, thus
creating an invalid chain, that would be an attack (or a mistake
because miners are not checking other miners work, but trusting
them) on the network and the markets could react by selling, since
Bitcoin's Consensus Mechanism has been proven to be faulty.
You can also say: if a lot of nodes on the network stop, but the miners (who are the defining entities of the network consensus, especially if that consensus is "keeping the old rules as always", because they are the ones who deliver PoW, and hence decide on consensus) continue to make a single chain, nobody is even going to notice, except maybe that a lot of nodes are stopping and falling behind, or disappear from the network.

If what you say is true, then I can kill bitcoin tomorrow.  I make a copy of core software, and change something in the rules, so that it doesn't accept the current block chain.  I now launch 9000 nodes on Amazon with that software.  Hey !  There's a majority of full nodes refusing the block chain !  Consensus mechanism is faulty !

No, you do not understand what I am saying or you are being intentional disingenuous.

If a miner creates a bad block, and other miners do not reject it but build upon it, the
validating node network will reject it for everyone other than the miners, and we will
all know the miners have gone off course. The community and economies freeze until
the miners are brought back into line. The community, developers, and economies then
all decide ASAP how we will rectify this bad work issue. Majority of the time, I would bet
99.999% of the time, all non-miners will agree to reject all that work and require that
work recommence again at the block prior to the invalid chain block. This is what we have
done in the past, and what will do again. Your argument that verifying nodes reject the
miners block and then do nothing is incorrect. It is an alert system for everyone. If the
miners do not wish to rely on what the verifying node network says, as a secondary
source from themselves, that is at their own discretion. But that does not absolve
themselves from a correction. They do not have free will. We all abide to the protocols.

Do you understand that or not? I can't make it any simpler.



It is exactly because of that easy Sybil attack on "full node majority" that Satoshi introduced Proof of Work for the consensus decision, to deny non-mining nodes (whose numbers can easily be manipulated and whose majority is a matter of launching nodes) any consensus decision rights !


Of course and I have never said otherwise. Your statement is Bitcoin 101.

But you are only referring to PoW Consensus. You ignore Verification Consensus.
Verification Consensus comes from independent decentralized Verification Nodes  
whose only job is to watch the miners PoW and confirm that they are building valid blocks.
When miners left the garages and basements of the world and consolidated within small
areas, verification nodes manifested to compensate and protect the Bitcoin system from
possible miner attacks. As miners consolidate and centralize, Bitcoin's security becomes
weaker. PoW Consensus is one small part of the whole puzzle. It is not the foundation.

Verification nodes and the "Verification Consensus" they perform for the community and
economies prevent the miners from unilateral power. Without them, miners can make bad
blocks and no one has any choice in the matter (this is your argument). Bad blocks and
dishonest miners become good and honest in your backwards malformed reality. Your
argument is either misguided or intentionally disingenuous.



But the very proof of the pudding is the eating: if in this "war", non-mining nodes had anything to say, one would already have seen massive Sybil attacks by armies of nodes pushing one or the other side.  That's not the case.   Running 10 000 nodes is cheaper than mining for a few hours.  The fact that this doesn't happen, is the proof that these full nodes don't mean anything.

If bitcoin was sensible to a large majority of full nodes doing weird things like refusing a block chain, then anyone wanting to bring down bitcoin would have a very easy way to do so.  Launch 100 000 nodes for a few days who refuse what's happening, and bitcoin would be dead.  
No, bitcoin has protected itself to the cabals of non-mining entities with Proof of Work.


Your argument is irrelevant and I never made such statements prior that would lead
down to this type of discussion. But for the sake of completeness I will comment slightly.

Yes, you are correct that creating 10,000 or even millions of verifying nodes is not enough
to cause "one side of the war to win over the other". That is obvious and not interesting.
I am not aware of anyone who is making those claims in general. It is very clear and no
one disputes that Mining Nodes build blocks based on the rules of PoW. In order to move
between chains, only the Miners (in theory) have the power to do so. But, and what you
are ignoring (possibly purposefully) is that Verifying nodes maintain the valid ledger for
everyone other than the miners. If this independent decentralized ledger alerts the
community and economies that a miner or miners are building invalid blocks, everyone
other than the miners stop, not just the nodes, that is stupid. All users, developers,
exchange owners, and etc are immediately alerted to a possible problem and are
advised to halt until the issue is resolved. That is what Verifying Nodes do.

I couldn't make it any simpler. In the past, when miners made bad blocks, the verifying
nodes alerted us and we told the miners to "pay attention and stop!". Those miners did
stop and reverted back to the valid chain. That only occurred because the Verifying Node
network did its job and told the community and economy the miner's work was bad.

So, if you think they do nothing, then you ignore that they protect the network from
bad miners or sloppy work. If you think that is not important and everyone should
defer to the miners decision without independent verification, then all I can say is
that you are not here for the right reasons. If you consider Verifying nodes as a
hindrance or a nuisance, it is very likely you are an attacker or just uninformed.
For the sake of being somewhat polite, I will believe that you are misinformed.