Post
Topic
Board Bitcoin Discussion
Re: Why Bitcoin Core Developers won't compromise
by
dinofelis
on 20/05/2017, 07:25:12 UTC

And we are talking about users that want/need to transact.  So what you are imagining, is that users are going to download, themselves, new software of which they KNOW that it will not agree with what miners are producing, to stop their own ability to transact, and think that:
1) they will do so and put themselves out of the system that way
2) this will affect the miners in any way

is totally misguided.  

Please cite in any of my prior statements where users or verfying node
operators are downloading ad implementing protocol violating rules.

This is the very idea of a UASF.

Quote
What you are describing without overwhelming community consensus is
an attack on the network.

There is no notion of "attack on the network", "valid", "good", "bad", "correct" or not, by definition, in a decentralized consensus system.  Things just happen.  Of course, certain happenings have the name of an attack, because the system was initially said to have a given purpose, and any different behaviour from that stated purpose can carry the name of "attack", but it is just one of the behaviours and properties of the system.

For instance, the famous "51% attack" is a potential consensus behaviour.   If tomorrow, we *observe* that pieces of chain of, say, 50 blocks, are orphaned, then we could consider that to be a manifestation of one of the behavioural properties of the bitcoin system which carries the name of "51% attack".  But nevertheless, the consensus protocol and the consensus chain would be the new one.  It is called an "attack" because it would make the system not function as its initially intended way of functioning, but hey, it is part of its dynamics.  It would imply also that certain "confirmed" transactions have now disappeared from the consensus (they were older than 6 blocks, and younger than 50 blocks when the forking happened).  If that was the "intention" of the "attacker", then his attack succeeded.  But one cannot fathom "intentions".   It is just part of the possible behaviours of that system, and "attacks" are part of that.  An attack that got accepted by a majority of miners, is then by definition, part of the consensus.

A decentralized system, by definition, has no defined purpose, and hence no "good" and "bad".  No "valid" or "invalid".  If it were, it would mean that there's a central authority DEFINING "valid" and "invalid", and it wouldn't be a decentralized system without authorities.  As such, one has to accept in a decentralized system, that whatever happens, is what is "supposed to happen" and part of its behavioural definition. 
It is a bit like a natural system: there is no "valid" and "invalid" way of behaving under gravity.  We can only *discover* how gravity works, but we cannot determine that a certain planet had an "invalid" behaviour.   If it behaves that way, that IS the valid behaviour, and if ever our theories of gravity (our "validating nodes") say that this motion is not what it should be, then our theories are wrong, and not nature.

Of course, from the moment that there IS a central authority, everything changes: that central authority can impose its rules, and if those rules are violated, have enough power to take corrective action (put in prison, confiscate belongings, manipulate communication.... but it needs POWER over the other actors in one or another way).  Only a central authority can define "valid" and "invalid".  Hence, the notions itself of valid and invalid only make sense in a centralized system.

Quote
It would be an act of war that has not occurred
within Bitcoin ecosystem yet. What you are advocating is the annihilation
of the trustless network and the creation of a trusted corporate platform.

On the contrary.  I'm saying that bitcoin IS a corporate platform right now, if ever "miners can find an agreement" by "negociating in a room".


But in all of this, the essentially difficult and impossible step, is for those "stepping out".  For miners, stepping out means MODIFYING the protocol they are used to.  For full nodes, stepping out means: installing software that is not compatible with the actually made chain.

For miners, this implies that they fork away.
For nodes, it means that they stop.

This is the strong force of immutability.  For every actor, it is individually a crazy thing to do to deviate from the actual consensus protocol.   For miners, it means that they might start wasting all their hash rate.  For nodes, it means that they exclude themselves, and cannot transact any more.

That is your belief. You ignore that the system is cyclical. Each part of the
system feeds the fuel for the next part. When you say "the v-nodes stop
and can't transact" you are ignoring where the miners coins ultimately go
after 200 more confirmations. You ignore that the whole system will
eventually stop. You think the party goes on forever.
[/quote]

This is again because you think in corporate terms.  There are not "two camps with two leaders".  There are not "two armies facing one another, with each their general".

Each mining pool is an individual entity, and each user (whether Joe or whether Coinbase) is an individual entity, that is not in a hierarchical relationship, or in any other form of collusion, with any other entity.  That is the hypothesis of decentralization: no collusion, no agreements, between individual entities.  From the moment there are agreements on collective action, the system is by definition, centralized under the authority of the one organizing the collective action.  So we presume that mining pools don't sit together in a room, and we presume that users (even big ones) don't sit together in a room.  If they do, we have a corporate organisation.

Now, at any given moment in time, each of these entities has to make an INDIVIDUAL choice, between "adhering to what is running", or "deviating from what is running".  For a miner, that means, forking.  As long as a miner is mining according to the emergent protocol of the past, and is making blocks that most probably will be accepted by his peers, he's not deviating.  From the moment he starts rejecting blocks that his peers make, or start producing blocks that will be rejected by his peers, he forks away, and tries to build an alternative chain.

If a miner takes that decision individually, he's most probably going to make, as a first one, a risky move.  He can bet on the fact that other miners will see this and take the decision to follow him, or not, but making a bitcoin fork on your own, is risky: you may waste all your hash rate doing so.  In a decentralized system, miner pools need to take these decisions individually.  If they sit together in a room, the system is a corporate centralized entity.

If an individual user installs non-mining node software at a moment "t" in time that is not compatible with the unique chain that is being made at that very moment, most probably, at that very moment, this new software will simply not sync.  If that individual user needs his node to connect his wallet to, he will not have a functioning wallet, and will not be able to transact.  If he needs these transactions for his business, he kills his business.

As such, for each individual entity, the act of "deviating" is most probably a losing one.  It for sure is a losing one for the node owner.  It CAN be a risky but profitable bet for the miner, forking away.   It is true that *users* telling a miner that if he forks away, and he can keep his chain alive (which is difficult with bitcoin, given the slow difficulty adaptation) he may win in the market, might motivate him to jump and take the risk, if he thinks that the fork will be more beneficial to him, than the original protocol.   However, the nodes not being directly proportional to the user power in the market, counting node votes is a very bad market study.  Probably the market behaviour is not going to change because some nodes signal something.  So whether there are signalling nodes or not, doesn't change much, in fact, for the miner's decision.  But again, the *decision* is entirely in the hands of miners.  All the rest is just "propaganda".

Quote
You are ignoring the full symbiotic Bitcoin organism just to argue that
Verifying Node have no value and that only Miner nodes matter. Overall
it is a shortsighted argument.

I'm not saying that only miner nodes matter.  I'm saying that only miner nodes define what is valid, what is the consensus protocol, what is the consensus history etc....   But they don't determine market value.  That's left to the users. And of course miners are sensitive to the market value.

I'm just saying that in this symbiosis, as you call it, there's no *power* role for non-mining nodes.  There's utility, but that utility is mainly for its owner, and it is also a free proxy service for mining pools.   But they don't master any lever arm in the power game in that "symbiosis", which I rather see as half symbiosis, half predator-prey.