Bitcoin Forum
March 29, 2024, 11:25:19 AM *
News: Latest Bitcoin Core release: 26.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: Clarification: Miners can veto pretty much everything EXCEPT the proof-of-work  (Read 3017 times)
Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 26, 2013, 10:29:28 PM
Last edit: July 27, 2013, 01:30:49 AM by Frozenlock
 #1

Edit: I'm NOT arguing in favour of a fork. Just clarifying some facts that have been misrepresented recently.

There seems to be a little misconception floating around concerning the miners and their power in the network.

"Miners are too heavily invested in SHA256 and won't allow any proof-of-work changes."

This is wrong.

But first, let's see how the miners can veto pretty much everything in the network.

The network assumes a transaction is valid and secure once it has been approved by a (or multiple) miner.
Suppose Bob sends Alice 10 BTC.
The miner receives this transaction, along with countless orders, and decides whether or not he will include it in the block he is currently making (by doing the proof-of-work).
This is how he can veto pretty much everything: he can choose to ignore some transactions for any reason. (Which is why you should include a fee in a transaction...)

Obviously, this veto power is owned only by the miner finding a block. If you don't or can't find a block, your decisions are inconsequent.

Let's make sure everyone understand this, because this is the important part.
In order to veto anything, you must first find a block, which is doing the proof-of-work.

Thus, as a miner, you can't prevent anyone from changing the proof-of-work; you have power only when you are finding a block.

Those with the power to change the proof-of-work are the nodes (which can be miners, but also everyone else on the network).
If, for any reason, we decided to change the proof-of-work from SHA256 to SCRYPT, upgraded nodes would drop any block made with SHA256.

Those with the powers to veto pretty much everything would then be the new miners, those working with the new proof-of-work.


To the new investors in ASIC's: I hope you understand what it means.  Wink
You get merit points when someone likes your post enough to give you some. And for every 2 merit points you receive, you can send 1 merit point to someone else!
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1711711519
Hero Member
*
Offline Offline

Posts: 1711711519

View Profile Personal Message (Offline)

Ignore
1711711519
Reply with quote  #2

1711711519
Report to moderator
EmperorBob
Member
**
Offline Offline

Activity: 67
Merit: 10


View Profile
July 27, 2013, 12:14:34 AM
 #2

When people say won't allow, I don't think they mean it in the "miner's veto" sense.
They just mean that no large miners will switch over to scrypt, and will instead promote their own fork of bitcoin that remains on sha256.
Then you get a hard fork, and only one of the two branches will survive in the long run, based on which branch merchants, exchanges and users see as legitimate.
And of course, because of the amount of hardware that can do only sha256, that branch will have a higher difficulty, and therefore security, than the scrypt one.
This usually would lead to a failure of the scrypt branch, unless non-miners have some very serious reason to not want to use the sha256 branch (Repeated 51% attacks by a large entity could be such a reason).

All in all a switch in hashing function is highly unlikely.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1063


Gerald Davis


View Profile
July 27, 2013, 12:23:20 AM
 #3

You can't just change "Bitcoin" because you can't stop the old/existing fork from running.  All you can do is fork the network.  

Once again because this seems to be a reality that is misunderstood.

"Bitcoin" is by consensus the protocol as it exists today.  You can fork that protocol but you can't force a change to that protocol.


That greatly limits the types of changes which will be accepted.  Many people (myself included) never want to see a permanent split for any reason unless absolutely unavoidable.  So if you (or the GPU miner's alliance) propose a fork (and yes ANY breaking change is a fork) that switches the hashing algorithm I (and many others) won't support it.  A permanent fork would be massively disruptive, would destroy value, and would split the resources of the community.   I would only change sides if I felt doing so would help to kill off one of the forks.

BTW I no longer mine and probably never will so this isn't some personal view to protect my own profit margins.  It is just that having two "Bitcoins" each calling themselves "Bitcoin" and supported by a large group of people would be a worst case scenario.  It is chaotic, will hamper adoption, and ultimately everyone losses.

It is highly unlikely (bordering on nearly impossible) that a core element of Bitcoin will be changed.

By a core element I mean things like:
1) Transactions are irreversible (even in cases of obvious fraud or theft)
2) Coins never "expire", there is no such thing as recycling coins (which is just another form of reversibility).
3) The network computes difficulty every 2016 blocks, has an expected time between blocks of 10 minutes.
4) Consensus in disputes (double spends) is enforced by a proof of work using the SHA-256 algorithm
5) There will never be more than 21M coins and the block subsidy schedule will be followed (50 BTC halving every 210K blocks)

The only scenarios I could see where a large enough consensus forms (among miners, bitcoin holders, merchants, developers, service providers, exchanges, etc) to change the hashing algorithm is either
a) Bitcoin is continually 51% attacked
b) a flaw in SHA-256 is found making preimage attacks possible

Essentially the network changes because not changing likely means a complete loss of all value and utility.
🏰 TradeFortress 🏰
Bitcoin Veteran
VIP
Legendary
*
Offline Offline

Activity: 1302
Merit: 1042

👻


View Profile
July 27, 2013, 12:34:19 AM
 #4

If you think sane heads in the community will allow a change from SHA256 unless it is broken, you're delusional. Bitcoin is SHA256.
Ninshatamoto
Member
**
Offline Offline

Activity: 69
Merit: 10


View Profile
July 27, 2013, 01:05:43 AM
 #5

I don't think anyone wants a change from SHA256 to Scrypt except for people who stand to profit immensely from it. 

Unless there is a major security flaw found, there is simply no reason for such a disruptive shift.  Such a shift could/would severely hamper Bitcoin growth, and I think would set us back several years.
Voodah
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250



View Profile
July 27, 2013, 01:23:23 AM
 #6

We'll have to wait, but I definitely don't see any short-term justification for a hard fork. As much talk as there is about SHA256, there is really no consensus for what is / will be the optimal algorithm. As you said, in the end, this is all a game about consensus, and any big change will need overwhelming support from the whole community; miners and everyone else included.


Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 01:32:40 AM
 #7

If you think sane heads in the community will allow a change from SHA256 unless it is broken, you're delusional. Bitcoin is SHA256.

No, Bitcoin is the blockchain.

That being said, I don't see any reason to move away from SHA256.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1063


Gerald Davis


View Profile
July 27, 2013, 01:37:55 AM
 #8

If you think sane heads in the community will allow a change from SHA256 unless it is broken, you're delusional. Bitcoin is SHA256.

No, Bitcoin is the blockchain.

That being said, I don't see any reason to move away from SHA256.

No Bitcoin is the protocol that nodes agree to follow.  If a new node is running an incompatible protocol then it won't be seen as valid by existing nodes.  (i.e. if you created a "bitcoin" node that used Scrypt today, then no other Bitcoin node would see your blocks as valid).
Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 01:48:43 AM
 #9

If you think sane heads in the community will allow a change from SHA256 unless it is broken, you're delusional. Bitcoin is SHA256.

No, Bitcoin is the blockchain.

That being said, I don't see any reason to move away from SHA256.

No Bitcoin is the protocol that nodes agree to follow.  If a new node is running an incompatible protocol then it won't be seen as valid by existing nodes.  (i.e. if you created a "bitcoin" node that used Scrypt today, then no other Bitcoin node would see your blocks as valid).

That's a given that you need to have the majority of the network behind you.

You can create an exact replica of Bitcoin and it would be an alt-chain because the blockchain is blank.

You could however hardfork the current protocol and (assuming there is a majority of nodes, of course) you can still call it Bitcoin if you are based on the blockchain.
Which is exactly what happened in the previous hardforks.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1063


Gerald Davis


View Profile
July 27, 2013, 01:52:49 AM
 #10

If you think sane heads in the community will allow a change from SHA256 unless it is broken, you're delusional. Bitcoin is SHA256.

No, Bitcoin is the blockchain.

That being said, I don't see any reason to move away from SHA256.

No Bitcoin is the protocol that nodes agree to follow.  If a new node is running an incompatible protocol then it won't be seen as valid by existing nodes.  (i.e. if you created a "bitcoin" node that used Scrypt today, then no other Bitcoin node would see your blocks as valid).

That's a given that you need to have the majority of the network behind you.

You can create an exact replica of Bitcoin and it would be an alt-chain because the blockchain is blank.

You could however hardfork the current protocol and (assuming there is a majority of nodes, of course) you can still call it Bitcoin if you are based on the blockchain.
Which is exactly what happened in the previous hardforks.

That doesn't erase the existing network.  Also you don't  need a majority of miners.  You could have a minority of miners and create a hard fork or you could have a super majority of miners and it simply be ignored by nodes which don't upgrade to your incompatible fork.

You also don't need to start with a blank (new) blockchain.  You could launch a scrypt based alt-coin today which uses the bitcoin blockchain up to a certain point and everyone who has coins on the Bitcoin network would also have coins on this new network.

So sorry nothing about that post was correct.   You still seem to not grasp the concept that.  You can't change Bitcoin you can only fork it.  Users always have a choice of the existing (current) network and the new incompatible fork.  You can't prevent the existing network from operating and you can't force nodes to upgrade.

This is why controversial hard forks have essentially no chance of surviving.  

Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 01:55:26 AM
 #11

That doesn't erase the existing network.  Also you don't  need a majority of miners.  You could have a minority of miners and create a hard fork or you could have a super majority of miners and it simply be ignored by nodes which don't upgrade to your incompatible fork.

That doesn't contradict anything that I've said. What's your point?
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1063


Gerald Davis


View Profile
July 27, 2013, 01:58:16 AM
 #12

That's a given that you need to have the majority of the network behind you.

Also you don't  need a majority of miners.  You could have a minority of miners and create a hard fork or you could have a super majority of miners and it simply be ignored by nodes which don't upgrade to your incompatible fork.

That doesn't contradict anything that I've said. What's your point?

Do you understand the meaning of the word contradict?
Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 02:05:26 AM
 #13

That's a given that you need to have the majority of the network behind you.

Also you don't  need a majority of miners.  You could have a minority of miners and create a hard fork or you could have a super majority of miners and it simply be ignored by nodes which don't upgrade to your incompatible fork.

That doesn't contradict anything that I've said. What's your point?

Do you understand the meaning of the word contradict?


Don't worry, I do.
You could have tried to re-read everything, instead of trying to be a smart-ass.

I'll summarize:

I said that the blockchain was the important part of Bitcoin, not the POW.

You said that Bitcoin was only the rules that a majority of nodes were agreeing to follow.

To which I said that that was a given. In order words, it was assumed in both cases, either a change in the blockchain, or in the POW, that said change would be followed by the majority of the network.

Are we clear here? The scenario is assuming a nodes majority. This is clearly stated my original post.
(Powers with the nodes, not with the miners)

Then you talked about a hard ford, how you can do it without a majority of miners and what not.
Well yeah, obviously. But it doesn't change what I've said before.
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1063


Gerald Davis


View Profile
July 27, 2013, 02:23:07 AM
 #14

A majority of nodes can't change Bitcoin.  The original fork will still remain and users of it very likely will still call it Bitcoin.

Say 70% of the nodes adopt a hard fork and use Scrypt as the hashing algorithm.  Now imagine that the top 10 Bitcoin merchants only accept the "original Bitcoin" as do MtGox, BitInstant, Coinbase, and Blockchain.Info, et all.

Which network is the "real Bitcoin"?  The one with the "majority" of nodes (a meaningless stat) or the one with the majority of developers, merchants, exchanges, service providers, etc.  Starting to see the complexity? 

BTW I didn't say Bitcoin is whatever a majority of nodes say it is.  I said the protocol we call Bitcoin today is what a CONSENSUS of nodes (as in 100.000000000000%) say it is.
Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 02:35:10 AM
 #15

Remember the hardfork caused by the bug in version 7 VS 8?

So, how do you call pre Qt 7? Bitcoin?

How do you call the new one? New-Bitcoin?

I still call it Bitcoin, because it's based on the same blockchain and a majority of nodes accept it.
You don't need a consensus. (I'm not even sure we have one now. Are you sure there isn't any pre 8 nodes around?)

Anyhow, this is going dangerously far from my initial subject.
I would be happy to further argue with you on this if you create another thread.  Wink
DeathAndTaxes
Donator
Legendary
*
Offline Offline

Activity: 1218
Merit: 1063


Gerald Davis


View Profile
July 27, 2013, 02:43:18 AM
 #16

That fork died off because it was NON CONTRAVERSIAL as have all hard forks to date (for example fixing integer overflow bug).  Obviously when only one fork remains it is obvious which network is "Bitcoin.  Hint: it is the only one remaining.

What you are proposing is a non-controversial fork.  Imagine instead two incompatible networks both with significant number of supports both calling themselves "Bitcoin" and neither one willing to let their fork die so there can be a consensus.  That is the scenario of a controversial fork.  It is utter chaos, and massively disruptive.  Can you imagine the confusion and destruction in demand it would cause.

It simply will never happen, the intertia is on the existing protocol as it exists today and if there is a controversial fork, the new fork will die in the craddle. The risk is simply too high for any significant stakeholders to support the risk it would be to try and force a controversial change onto the network.   Not with a majority of nodes, not with a majority of miners, not with a majority of developers.  The risk is too great and Bitcoin is worth over a billion dollars. That value can evaporate overnight if there is a loss of faith in the network.  That is one thing Bitcoin has in common with fiat in that it is worth something because people have faith that it is worth something.

A controversial fork which splits the network risks killing that faith.  Your OP is wrong because you fail to understand you can't "stop" a blockchain and in a controversial fork you better believe both forks will continue and both will call themselves Bitcoin.  The parties backing each fork have no reason to stop and no reason to give up the "branding" of the name Bitcoin.

If you still don't get it, then you simply never will so this will be my last post.
Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 02:56:55 AM
 #17

I see, so our only disagreement is in terms of degree.

Suppose a reason exists (whatever it is) to change the proof of work.

The devs agree on this and decide there will be a hardfork in 2 months, or the equivalent in block time.
The main clients are upgraded in consequence.

Now, while you argue that the miners might have an incentive to keep the current POW, I would use your Bitcoin valuation as a counter argument.
There's no way in HELL I would let the miners decide what POW should be used if it can reduce the value of my BTCs, or in other words, if it's bad for Bitcoin.
That's a billion dollar argument right there.

IMO, if the only opponents in a change of POW are the miners, then it isn't controversial.
(And it's becoming less and less so, as the mining power is becoming more centralised with each mining generation.)
jhansen858
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
July 27, 2013, 03:16:53 AM
 #18

Bottom line is, there is already a bitcoin fork that uses scrypt.  Its called litecoin.  If scrypt really has that big of an advantage over sha256 then litecoin will eventually overtake and surpass bitcoin as the dominant digital currency.  Even if that process takes 1000 years.  If anyone thinks its so great, then they should be mining on scrypt and doing everything they can to get the word out that litecoin is better then bitcoin.  Sorry to say that your going to be getting as much traction as ralph nader did as the green party canidate but who knows what will happen over time. 

Hi forum: 1DDpiEt36VTJsiJunyBc3XtG6CcSAnsQ4p
Frozenlock (OP)
Sr. Member
****
Offline Offline

Activity: 434
Merit: 250



View Profile
July 27, 2013, 04:21:40 AM
 #19

Bottom line is, there is already a bitcoin fork that uses scrypt.  Its called litecoin.  If scrypt really has that big of an advantage over sha256 then litecoin will eventually overtake and surpass bitcoin as the dominant digital currency.

No, this is where Litecoiners are misguided. If really SCRYPT is a better POW (and by that I mean enough to move the market) then Bitcoiners won't let their investment in the blockchain melt under the sun... they will just change the POW.

Please keep in mind that the mention of SCRYPT in my initial post was just an example.
btcdrak
Legendary
*
Offline Offline

Activity: 1064
Merit: 1000


View Profile
July 27, 2013, 09:28:53 AM
 #20

A majority of nodes can't change Bitcoin.  The original fork will still remain and users of it very likely will still call it Bitcoin.

Say 70% of the nodes adopt a hard fork and use Scrypt as the hashing algorithm.  Now imagine that the top 10 Bitcoin merchants only accept the "original Bitcoin" as do MtGox, BitInstant, Coinbase, and Blockchain.Info, et all.

Which network is the "real Bitcoin"?  The one with the "majority" of nodes (a meaningless stat) or the one with the majority of developers, merchants, exchanges, service providers, etc.  Starting to see the complexity?  

BTW I didn't say Bitcoin is whatever a majority of nodes say it is.  I said the protocol we call Bitcoin today is what a CONSENSUS of nodes (as in 100.000000000000%) say it is.

You know, the easier way to create a hard fork, for example sake, to Scrypt POW as follows. We're currently on Bitcoin-QT 0.8.3. Make a roadmap to 1.0.0 (or whatever) with specific timeline with rough release dates - enough time to have at least a few minor and preferably one major release.

Starting right now (and get it released) place code in the client which says after block X (calculated to be something like 1 year in the future or whatever based on number of blocks) we use Scrypt POW. That way the entire network gets to go through several releases of the bitcoin client without forking, but being able to support the new fork at a later date. After 1 year or whatever period, there would already be consensus in numbers and plenty time for everyone to upgrade and the fork would naturally happen. It would allow the entire ecosystem to adjust and forward plan.

This simply creating a forward compatibility layer for changes to come in the future because the client support both POW methods and switches seamlessly at a specific time in the future.
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!