Author

Topic: [SegWit] Why leave the decision to miners ? (Read 665 times)

legendary
Activity: 1162
Merit: 1000
Miners can mine blocks and confirm transactions using any criteria, and nodes can only see transactions, by themselves.

With no confirmations there would be no network, so the miners have the power of choice
hero member
Activity: 574
Merit: 500
UASF time baby! Fuck Bitmain and his cronies!
legendary
Activity: 1512
Merit: 1012
and miners love fees, like usual ...  Roll Eyes
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
Maybe there are a small number of those in the community who possibly place a little more emphasis on full nodes than is reasonable, but at the same time, I wouldn't go to the opposite extreme of disregarding their importance.  I found your post here quite refreshing and a nice change to the usual rhetoric bandied about on the forums, but would have to say I only partially agree.  There may be no explicit or direct power over consensus from running a full node, but in high enough numbers, there's still implicit force.  A kind of statement of intent, or a representation of what the will of the users might be.

Well, how representative are the few thousand nodes for the users of bitcoin (the stake, say) ?  If there are of the order of a million users, why should 6000 of them be representative ?  Mostly they are the most geeky ones, the mostly "politically" involved, etc... but are they the real convincing force of the user base (the guys and galls that spend money on it on exchanges, that trade it,.... ) ?

It's a bit of a chicken and egg deal.  If miners were only to use the yardstick of which users are trading on which fork, they can't do that until *after* a fork occurs.  It's probably best to draw a distinction between miner's decision making process pre and post fork.  

Pre-fork, those few thousand nodes are a useful barometer of sorts, which the miners can use to make predictions about a looming storm.  It may not be 100% accurate, but it's good enough.  Perhaps full nodes may not be the most representative, but if such power users are willing to go to the effort of running one, they'd certainly be the most determined and/or stubborn.  SPV users are effectively fork agnostic and will simply follow the longest chain.  They aren't stating a preference on which code they want to govern the network.  Full nodes are saying "this is Bitcoin and I recognise nothing else".  So while there's no argument that miners definitely make the final decision, I'm still pretty sure the choice they make will largely depend on what they see happening in terms of node support, because there's no way to predict the economic activity until after users are able to trade between the two chains.

Post-fork, the miners will indeed be looking almost exclusively at what's happening in real time on exchanges, transaction volumes, which chain is earning more fees, shorts/dumps/etc.  They don't need a barometer to measure the storm at this point, because they're right in the eye of it and can judge the severity for themselves.  Nodes would have far less of an impact on their choices of which chain to mine after a fork takes place.  That's when shit gets real.  It's likely miners will be rethinking their choice of which chain to follow based on the activity they see.


Quote
 Again, it would take a brave miner to willingly put themselves in a situation where they find themselves in stark contrast to the will of the users.  It's simply not a profitable business model.

It would take a brave miner to willingly deviate from miner consensus, which is de facto the current protocol.  Even though miners can signal without cost what are their preferences, truly hard forking AWAY from the existing consensus takes balls.

True, but I don't think miners generally see themselves as dictators on what the code should be.  The current consensus we have isn't just a miner consensus, it's everyone's consensus.  Obviously miners all signal a preference on what they assume would be most profitable for them, so it stands to reason their choice on which chain is "correct" is purely a financial one, not an idealistic one.  In that regard, I think it's the nodes who really dictate what Bitcoin is.  Unlike miners, users running full nodes feel strongly enough about the protocol to do what they're doing without any financial incentives.  Miners won't be forking until they are confident of not just having the longest chain, but also enough users to ensure that their chain isn't largely empty.  We can certainly speculate on how long a stubborn user with a full node might or might not hold out if they found a lack of miner support on their chain after a fork, but I think that's getting ahead of ourselves, because the miners will probably follow the wishes of the node majority when push comes to shove.  They wouldn't activate a fork to begin with unless there were signs that users agreed with it.  The only navigation instrument they have before a fork is the node count.  They can't compare traffic and volumes until after a fork.


As I argued elsewhere, LN is *probably* a neat invention, but it is a totally different trust model - unless you can EASILY settle on chain.  If the chain is congested, LN sounds dangerous,  much more dangerous than less full nodes that have nothing to say in any case. LN can only be trustless and permissionless with a chain that can, without any doubt, absorb at any instance, all settlements, at any moment.

So the block chain needs to have AT LEAST the full settling potential of the entire LN network.  Proposing LN without an essentially unlimited block chain is totally changing the trust model that bitcoin users were used to.  That doesn't mean that LN will not find its way.  It can be fast, it is more anonymous in certain ways etc...  But all this has still to be put into music in practice.  It is a totally different way of transacting.

I'm inclined to agree there.  LN is what seems to be muddying the waters, since it raises so many potential "what ifs?" around things like congestion leading to expired timelocks and how a static blocksize impacts that unless we change it (and I'd really like us to change it).  Then network fees and miner incentives potentially becoming misaligned as the block reward diminishes, or more widely, the entire economic model that was originally envisioned.  More on-chain transactions clearly means more fees generated for miners, so we can't simply sweep huge swathes of traffic off-chain and blindly hope it's okay in future as fees become more important.  Moreover, how do we plan on what balance we might need when this is all theoretical?  And should it all be centrally planned to that extent anyway?
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
I don't understand because miners can always mine with her equipment ... with segwit, no ?
And nodes are ready to use SegWit intructions now.
 

Go for it.  Activate Segwit with non majority hashpower.  See what happens.
hero member
Activity: 2884
Merit: 794
I am terrible at Fantasy Football!!!
The decision was leaved to the miners because they are the ones that contribute the most to the bitcoin network, they are the ones with the most money invested, they are the ones with a bunch of hardware that is only useful for mining, also since they are the ones with the most to lose then in theory they should have the best interest that the decision taken are the best.
hero member
Activity: 770
Merit: 629
Okay, perhaps "the fork couldn't go ahead without them" is technically wrong, but I feel the point stands overall.

I do see what you're getting at, but I doubt miners would jeapordise putting themselves in a situation where they find themselves in such stark contrast to the will of the users.  But yes, regardless of how strongly they feel about new proposals, I suspect most users would still follow the path of least resistance, rather than risk being unable to transact by playing power games like that, which does bear out your point.

I think most USERS want only to be able to transact, and don't care much about the technology that allows them to.   Whether that's LN, bigger blocks or whatever, and whether they have to connect to this or that node with their wallet doesn't really matter to most of them.  By far MOST USERS DON'T RUN NODES.  When I started out with bitcoin, I used a light wallet (electrum).   I only started a full node much later, when I wanted to study the block chain with a hex editor.  I couldn't care less about having a full node for my own few bitcoins that I bought to buy stuff on the internet.    Later, I learned the privacy aspects of a full node, which is what interests me most.

 Again, it would take a brave miner to willingly put themselves in a situation where they find themselves in stark contrast to the will of the users.  It's simply not a profitable business model.

It would take a brave miner to willingly deviate from miner consensus, which is de facto the current protocol.  Even though miners can signal without cost what are their preferences, truly hard forking AWAY from the existing consensus takes balls.

Quote
Plus non-mining full nodes are still deemed a valuable security measure in the unlikely event of miner collusion.  Considering the current levels of what hopefully proves to be paranoia on that particular subject, it's not something we should take too lightly.  

Well, if there is "miner collusion", a full node can inform you.  But there's not much you can do about it (apart from maybe trying to cash out as quickly as possible, before the market fully realizes what happens... or doesn't care).

As I said before, miners are "locked in" to the current protocol, and it would take balls and foolishness to fork away on one's own.  It is only when miners would be strongly convinced that they can fork away with a large majority, that they will tempt the adventure.  In doing so, they will try to save their income as well as bitcoin itself.  Most probably, it are the miners that would only dare to fork if they are mutually convinced of such a large majority between them that the old chain has little chance to survive.  For that, they must be sure to be more than 80% or 90%.  ETH/ETC showed that even 10% can survive.  With bitcoin, it is true that the slow retargetting of difficulty makes the minority chain probably die technically.  But it would be deadly if "original bitcoin" survived.

So no wonder miners are never forking away from the current protocol.  

In my opinion, full nodes don't play any role in this.  Miners are just locked in themselves, and it is only a huge agreement amongst them that will make them deviate from the current protocol.  Whatever full nodes say.

There is something that is disturbing in this story.  Miners HAVE hardforked in the past over block size.  It was not so much in the node code, but when they increased the block sizes they accepted amongst themselves from 100 KB to 200 KB to 500 KB to 1 MB, these WERE technically speaking, hard forks of the *actual protocol*.  

The argument that one shouldn't go beyond 1 MB, because this would harm the number of full nodes, and this would harm the decentralization of bitcoin, while if there's one number in bitcoin that doesn't matter in the power game, it is the number of full nodes, is disturbing, because that argument is simply wrong.

Now, IF you admit that that argument is wrong, and that a high number of full nodes are not a part of the decentralized power structure, then there is nothing that stops one from increasing the block size somewhat.  Like it used to be done.

But this looks like kicking the can along the road.  That's true.  Only, nobody knows where the road leads to.  It most probably DOESN'T lead to a global VISA-like payment system, and in any case that's not the problem right now.

As I argued elsewhere, LN is *probably* a neat invention, but it is a totally different trust model - unless you can EASILY settle on chain.  If the chain is congested, LN sounds dangerous,  much more dangerous than less full nodes that have nothing to say in any case. LN can only be trustless and permissionless with a chain that can, without any doubt, absorb at any instance, all settlements, at any moment.

So the block chain needs to have AT LEAST the full settling potential of the entire LN network.  Proposing LN without an essentially unlimited block chain is totally changing the trust model that bitcoin users were used to.  That doesn't mean that LN will not find its way.  It can be fast, it is more anonymous in certain ways etc...  But all this has still to be put into music in practice.  It is a totally different way of transacting.

As such, using a bogus argument against potentially big blocks, and by doing so, not allowing the natural tendency that miners had, namely, effective hard forks increasing stepwise the actual block chain, causes fundamental problems:

1) it severely harms current users
2) it has killed the unity of miners, and has hence locked in the current protocol
3) it renders any eventual future LN not trustless and permissionless
4) if bitcoin doesn't really need much more room ever, because it levels off at a much, much lower point than "VISA levels", it has locked out the natural equilibrium end point of bitcoin.

All that in order to save a number of nodes that have no influence on the power structure in bitcoin, apart from "shouting out their preference"  ; numbers that are easily manipulated by any big player in the field, BTW (Sybil) which was exactly why this number was made not to matter in the first place.

legendary
Activity: 1204
Merit: 1028
It all comes down to the users. If the users get fed up, then UASF is an option. Of course, we would need maximum consensus amongst all relevant exchanges, merchants etc, so nothing nasty happens.

It comes down to the users, if they can refrain from transacting themselves the time needed to put miners sufficiently under pressure that some start hardforking, and then have the market decide.

As long as the miners stay on their single chain, nobody can do anything else but follow them (and be able to transact) or refuse to use their chain (and be locked out of bitcoin).

If miners fork because users keep themselves locked out of bitcoin for a long time, then users can vote with their money on the two chains that will appear, and we are in the ETC/ETH scenario.

And, again, in all of this, Joe's full node in his basement means zilch.


Smart miners will follow the majority of users. If 90% is running Core software and want to follow Core's roadmap, and exchanges, merchants etc want segwit (and mostly do, and reject BU) then it's obvious that if those stubborn miners don't follow, new miners will see the business opportunity and jump to mine BTC while the Jihad etc still mine BUC, with barely no users and rejected by every relevant exchange and merchant. Good luck with that.
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
In comparison, hard forks would require a supermajority of nodes to be on board immediately, as the fork couldn't go ahead without them, giving non-mining nodes a louder voice.

How so ?

Suppose all miner pools agree to keep the old protocol.  Suppose most non-mining nodes upgrade to the new protocol.  These nodes don't see a block chain that is according to their rules, so they stop.  The miners continue to make the old chain and that's the only chain that is around.  What happens next ?

What will USERS do ?  If users connect to one of these new full nodes, they don't see any transactions, and they cannot transact.  Their wallet simply doesn't see new stuff coming.  If these users connect to one of the miner nodes, they can.  They see their transactions, they can transact, like in the old days.  The block chain is still growing, it is simply not copied on the non-mining nodes who refuse to do so.

Exchanges, what will they do ?  Upgrade their node to the new protocol, and have no deposits, no withdrawals ?  Or keep the old software, and sync with the sole block chain that is out there, and allow their customers to deposit and withdraw ?

I have argued this many times, but non-mining full nodes can impose ZILCH on miners.  Users can vote with their money, but still need to be able to transact to vote with their money, so still need to use the miner's block chain.

Suppose that users would like the new protocol too, but miners keep on making the old chain.  What can they do ?  Refuse to transact ?  Refuse to access their funds ?  Sure.  So what ?  

What are the possible scenarios when miners remain united on the old protocol and still only make one block chain, while by far most of the full nodes have switched to the new protocol ?

=> if some exchanges, and some users, still want to use bitcoin, they have no choice but to revert to the old node software and/or connect directly to miner nodes.  All the others cannot transact.  The bitcoin volume will go down, because only determined by those users and exchanges that accept to use the old protocol.  Price may go up or down, depending on offer and demand in this restricted market.  All the others exclude themselves from bitcoin transactions.  Miners won.

=> if all exchanges and all users still use bitcoin as before, they will connect directly to miner nodes.  Everything like normal.  Nobody gives a shit about all the stopped full nodes.  It is as if they left the network.  Miners won.

=> if no exchange, and no user, wants to use bitcoin the way it was.  Nothing happens on bitcoin.  No transactions.  Empty blocks, with just coinbase transactions on the old chain.  At a certain point, miners will want to sell their coins, but they can't: no exchange sees their block chain or their coinbase transactions.  --> ONLY HERE the true power game starts.

What will happen first ?
A) some miner pool accepts to switch to the new protocol, and mines slowly on his own, the new chain.  Users can finally transact again on the new chain but blocks are rare.  We have a hard fork.

Aa) exchanges see the opportunity in having two bitcoin, and start an old node and a new one, and allow people to exchange old bitcoins for new bitcoins and vice versa, like with ETC/ETH.

The market will determine the relative value of the new and the old bitcoin, and miners will follow ==> we have now two bitcoin, according to the market forces, just like with ETC/ETH.

Ab) the exchanges don't consider the old chain, and keep with the new chain only.  Sooner or later, the miners will have to give in, to sell their coins.  One after the other switch to the new protocol.  ==> new protocol in bitcoin

B) some users accept to buy OTC coins from miners at reduced price.  Miners can continue mining on the old chain, get paid less per coin, and some users think they are getting real cheap bitcoin.  

Ba) more and more users start to buy OTC "cheap bitcoin" and exchanges give in to their lost market share -> back to old bitcoin, miners won

Bb) miners stop considering bitcoin because they are mining at loss, the block chain stops.  -> Bitcoin is over.


==> in all this, we see that miners can be forced out of their mutual agreement to continue the old chain ONLY if simultaneously:

1) no exchanges and no USERS are willing to deal any more with the old chain, resisting all temptation to want to transact
2) some miners start hardforking
3) depending on exchanges, the hard fork leads to two bitcoins, or only to the new one.

In this whole story, the full nodes didn't matter.  What mattered was the attitude of the USERS (could they resist wanting to transact), the EXCHANGES (could they resist winning fees on transactions) and the MINERS (could they resist forking to sell their coins quickly).

Okay, perhaps "the fork couldn't go ahead without them" is technically wrong, but I feel the point stands overall.

I do see what you're getting at, but I doubt miners would jeapordise putting themselves in a situation where they find themselves in such stark contrast to the will of the users.  But yes, regardless of how strongly they feel about new proposals, I suspect most users would still follow the path of least resistance, rather than risk being unable to transact by playing power games like that, which does bear out your point.  But with opinions and hash rates being as divided as they are, it's unlikely users would be faced with such a decision, as there will almost certainly be pools catering to their preference.  Two (or more) competing chains/protocols seems the more likely outcome.  Plus, with regard to exchanges, we've already seen precedents set with ETH/ETC.  They're more than happy to make a profit from a divided community and I suspect the same would apply to Bitcoin should that choice arise.

Maybe there are a small number of those in the community who possibly place a little more emphasis on full nodes than is reasonable, but at the same time, I wouldn't go to the opposite extreme of disregarding their importance.  I found your post here quite refreshing and a nice change to the usual rhetoric bandied about on the forums, but would have to say I only partially agree.  There may be no explicit or direct power over consensus from running a full node, but in high enough numbers, there's still implicit force.  A kind of statement of intent, or a representation of what the will of the users might be.  Again, it would take a brave miner to willingly put themselves in a situation where they find themselves in stark contrast to the will of the users.  It's simply not a profitable business model.

Plus non-mining full nodes are still deemed a valuable security measure in the unlikely event of miner collusion.  Considering the current levels of what hopefully proves to be paranoia on that particular subject, it's not something we should take too lightly.  
hero member
Activity: 770
Merit: 629
The problem is, they found loopholes to misuse this power to their benefit. { They drawing out the decision, to benefit from the higher fees...

That was explicitly pointed out to Satoshi in 2010, and he waved that away, when he introduced the 1 MB limit.
hero member
Activity: 770
Merit: 629
It all comes down to the users. If the users get fed up, then UASF is an option. Of course, we would need maximum consensus amongst all relevant exchanges, merchants etc, so nothing nasty happens.

It comes down to the users, if they can refrain from transacting themselves the time needed to put miners sufficiently under pressure that some start hardforking, and then have the market decide.

As long as the miners stay on their single chain, nobody can do anything else but follow them (and be able to transact) or refuse to use their chain (and be locked out of bitcoin).

If miners fork because users keep themselves locked out of bitcoin for a long time, then users can vote with their money on the two chains that will appear, and we are in the ETC/ETH scenario.

And, again, in all of this, Joe's full node in his basement means zilch.
legendary
Activity: 1904
Merit: 1074
Who would you leave the decision too? Satoshi wrote the protocol in such a way to give the decision to the people who contribute the most to the

success of the network. If they make bad decisions, it would backfire on them and they will lose money. This is the incentive for them to make good

decisions. The problem is, they found loopholes to misuse this power to their benefit. { They drawing out the decision, to benefit from the higher fees...

and this does not bring the whole network down... it just slows it down. }
legendary
Activity: 1204
Merit: 1028
It all comes down to the users. If the users get fed up, then UASF is an option. Of course, we would need maximum consensus amongst all relevant exchanges, merchants etc, so nothing nasty happens.

If (a part) of the miners are against the wills of everyone else, then they can keep mining their altcoin because if can get agreements on everyone to list segwit BTC as BTC, and everyone is running those nodes, that's BTC, and the ones that don't adjust their hashrate with reality, can keep mining their unused coin.

But like I said before, UASF needs maximum consensus amongst everyone else to corner the miners that are ignoring segwit.
hero member
Activity: 770
Merit: 629
In comparison, hard forks would require a supermajority of nodes to be on board immediately, as the fork couldn't go ahead without them, giving non-mining nodes a louder voice.

How so ?

Suppose all miner pools agree to keep the old protocol.  Suppose most non-mining nodes upgrade to the new protocol.  These nodes don't see a block chain that is according to their rules, so they stop.  The miners continue to make the old chain and that's the only chain that is around.  What happens next ?

What will USERS do ?  If users connect to one of these new full nodes, they don't see any transactions, and they cannot transact.  Their wallet simply doesn't see new stuff coming.  If these users connect to one of the miner nodes, they can.  They see their transactions, they can transact, like in the old days.  The block chain is still growing, it is simply not copied on the non-mining nodes who refuse to do so.

Exchanges, what will they do ?  Upgrade their node to the new protocol, and have no deposits, no withdrawals ?  Or keep the old software, and sync with the sole block chain that is out there, and allow their customers to deposit and withdraw ?

I have argued this many times, but non-mining full nodes can impose ZILCH on miners.  Users can vote with their money, but still need to be able to transact to vote with their money, so still need to use the miner's block chain.

Suppose that users would like the new protocol too, but miners keep on making the old chain.  What can they do ?  Refuse to transact ?  Refuse to access their funds ?  Sure.  So what ?  

What are the possible scenarios when miners remain united on the old protocol and still only make one block chain, while by far most of the full nodes have switched to the new protocol ?

=> if some exchanges, and some users, still want to use bitcoin, they have no choice but to revert to the old node software and/or connect directly to miner nodes.  All the others cannot transact.  The bitcoin volume will go down, because only determined by those users and exchanges that accept to use the old protocol.  Price may go up or down, depending on offer and demand in this restricted market.  All the others exclude themselves from bitcoin transactions.  Miners won.

=> if all exchanges and all users still use bitcoin as before, they will connect directly to miner nodes.  Everything like normal.  Nobody gives a shit about all the stopped full nodes.  It is as if they left the network.  Miners won.

=> if no exchange, and no user, wants to use bitcoin the way it was.  Nothing happens on bitcoin.  No transactions.  Empty blocks, with just coinbase transactions on the old chain.  At a certain point, miners will want to sell their coins, but they can't: no exchange sees their block chain or their coinbase transactions.  --> ONLY HERE the true power game starts.

What will happen first ?
A) some miner pool accepts to switch to the new protocol, and mines slowly on his own, the new chain.  Users can finally transact again on the new chain but blocks are rare.  We have a hard fork.

Aa) exchanges see the opportunity in having two bitcoin, and start an old node and a new one, and allow people to exchange old bitcoins for new bitcoins and vice versa, like with ETC/ETH.

The market will determine the relative value of the new and the old bitcoin, and miners will follow ==> we have now two bitcoin, according to the market forces, just like with ETC/ETH.

Ab) the exchanges don't consider the old chain, and keep with the new chain only.  Sooner or later, the miners will have to give in, to sell their coins.  One after the other switch to the new protocol.  ==> new protocol in bitcoin

B) some users accept to buy OTC coins from miners at reduced price.  Miners can continue mining on the old chain, get paid less per coin, and some users think they are getting real cheap bitcoin.  

Ba) more and more users start to buy OTC "cheap bitcoin" and exchanges give in to their lost market share -> back to old bitcoin, miners won

Bb) miners stop considering bitcoin because they are mining at loss, the block chain stops.  -> Bitcoin is over.


==> in all this, we see that miners can be forced out of their mutual agreement to continue the old chain ONLY if simultaneously:

1) no exchanges and no USERS are willing to deal any more with the old chain, resisting all temptation to want to transact
2) some miners start hardforking
3) depending on exchanges, the hard fork leads to two bitcoins, or only to the new one.

In this whole story, the full nodes didn't matter.  What mattered was the attitude of the USERS (could they resist wanting to transact), the EXCHANGES (could they resist winning fees on transactions) and the MINERS (could they resist forking to sell their coins quickly).
legendary
Activity: 3948
Merit: 3191
Leave no FUD unchallenged
With the power of hindsight, it does feel a bit like the soft fork approach takes some of the emphasis away from non-mining nodes and give miners a little too much influence over the decision.  With soft forks, the nodes can choose to upgrade at their leisure because it's backwards compatible, so in a sense, nodes lose "clout" and the miners ultimately make the call.  In comparison, hard forks would require a supermajority of nodes to be on board immediately, as the fork couldn't go ahead without them, giving non-mining nodes a louder voice.  I'm beginning to wonder if the way events have unfolded this time will cause developers to re-evaluate the pros and cons of soft forks in future.
hero member
Activity: 490
Merit: 520
I think a lot of it just comes down to the money and power games that happen behind the scenes with mining cartels arguing amongst each other to figure out who is willing to take the money for a reduction in power or if it's better to gain power and lose out on money. They might be able to mine on their hardware regardless of the fork that may or may not be decided upon, but there are more factors than just finding blocks involved in these debates.
legendary
Activity: 1512
Merit: 1012
I don't understand because miners can always mine with her equipment ... with segwit, no ?
And nodes are ready to use SegWit intructions now.

Miners




Nodes

Jump to: