HN2new | past | comments | ask | show | jobs | submitlogin

The miners, collectively, is also the group with the power to hard fork or not. So in some sense, they're the ruling class and the core developers are just proposing the changes to them.


This is a general misconception about how consensus works in blockchains. Miners can choose whether or not to adopt a "soft fork". A soft fork can't violate any existing rules, it can just introduce new rules.

A hard fork is allowed to violate existing rules, and gives you more flexibility in what can be changed. And miners do not have the power to decide whether or not a hard fork will happen. A hard fork is determined by the users, who have to upgrade their software.

If the software updates automatically, then the power of hard forking lies with the developers, who could just push the new code out via an automatic update.


Not correct. The software update that goes to the uses but if miners dont mine for the hard fork, then the user cant use it. Its a technical reality that they could update anyway and at least some miners would mine for them but that would just be causing a chain fork and 2 different chains. The miners have the power to decide where they mine. And user have the power to decide on which chain they operate on. They both have power with their choice. But the choice for user is limited to chains that actually exist. For for now only ETH and ETC exists but if there is demand for more chains because a significant portion of people disagree with the progress then more chains can fork off. This however requires miners who are willing to mine on a forked chain.

The power is split but the constant "fights" between the different parties (miners/users) is the reasons these fist-gen (PoW/PoS) blockchains can not be efficient. There is and forever will be a misaligned interest between the two parties which drives up prices and slows down progress.

Software's auto-update feature is completely irrelevant to consensus. It obviously does not define who has the power at all. To update is always voluntary. Software devs dont technically have any power they have influence.


Any chain can exist with a single miner on it, and anyone can be that miner. Users do not need the consent of miners to execute a hardfork and migrate to a new chain. Miners do not control or determine hard forks.

This has been demonstrated empirically numerous times in crypto history, most notably the moment that >80% of the hashrate openly supported a hardfork that subsequently failed because it did not have user support.

Your node software decides what fork you run on. If someone can push an update to your software without your consent, they can choose to put you on a fork and you may not even realize it happened. This is why most full node software (including bitcoin and Ethereum) does not support automatic updates.



> The software update that goes to the uses but if miners dont mine for the hard fork, then the user cant use it. ... The miners have the power to decide where they mine.

This is based on the assumption that miners would rather choose to abandon their business as a matter of principle than mine on the most profitable chain, and also somehow convince any future, unaffiliated prospective miners to also do the same. How could they ever achieve that? Miners don't control where the financial incentives are.


You should probably read the the whole post not just one part and then assume something I never said.

The power is split between miners and user. A majority from both parties are required to determine where the network goes the rest are somewhat forced to follow. If no such majority can be found the network can fork and both chains can be profitable for miners. I never said miners are in control, I disagreed with the parent who said users are in control - big difference.


What I am saying is that only users can determine which chain is profitable for miners. Miners only have a choice in the sense that they can choose to sacrifice profits on principle, which is not really a choice in the same sense as the kind of choice that users have.


No, this is wrong. And the reverse is also wrong. A user can chose by principle too and scarifies cost if he has to overpay to attract miners to that chain. Does that mean its "not really a choice"? No, its exactly what choice means. Also even at zero user if the token has value mining can be profitable.

But anyway these edge-cases are irrelevant. There is and will never be a situation where all miners and all user chose a different chain. Just the fact that some miners are users at the same time makes it impossible. The only thing important is that power is shared between the 2 groups and its a constant fight because of different interests. Even without miners when its fully PoS there will still be misaligned interests between the parties (users, hardware operators, stakes etc.)

Its an inherent flaw in the system because it relies on incentives which one party wants to maximize.


The miners do have the power to hard fork - they can choose to run a node that implements the fork

> A hard fork is determined by the users, who have to upgrade their software.

Who are 'the users' here? Light clients? Users of wallets? None of these have the power to adopt a fork, soft or hard. The collective action of the miners (or validators) defines which chains still retain liveness. For example in the hard fork between Ethereum Classic (ETC) and Ethereum (ETH) ETC was able to exist only because miners chose to to mine it. This in turn did give non-mining users the choice of how to distribute their demand and create extrinsic value for the ETC token. I wouldn't say this gives non-mining users any control over a hard fork since it happens after-the-fact.

> If the software updates automatically, then the power of hard forking lies with the developers

I don't know of a node distribution for Ethereum that works this way.

The core developers have power as in knowledge and power as in authority, the later being the traditional form of political power.


Anyone who runs a full node can decide any set of rules they want to follow. You can incentivize miners to mine on your fork by providing block rewards. If you pay people to do something, at least some of them will.

The ETC fork would have been successful at any non-zero support level from people with the ability to mine. And since any CPU can mine (just inefficiently), any fork can get a mining baseline. That may not give you a ton of security but it works.

People who run full nodes are the ones that decide hard forks.


Thanks for responding. So you are saying full nodes are the users? They can provide connectivity but full nodes that don't mine can't continue a fork (where fork is any fork including the original) without there being people willing to mine that fork. So that's why I think miners have the ability to fork.

> The ETC fork would have been successful at any non-zero support level from people with the ability to mine.

It would be economically irrational for people to send transactions to a fork with a single miner since that miner could unilaterally rewrite any transactions as they see fit. This is why I think miners have the ability to control forking.


Forking a coin is free. Anyone can fork any coin at any time. Most miners will mine whatever makes money, but some may mine for a possible future payout or altruistic reasons.

A fork is generally considered successful if it carries economic value. That is decided by the amount of users transacting in the currency. Working exchanges are a requirement for this, but not enough (as has been experimentally demonstrated).


Ah, I should have known better. I was misinterpreting from the article linked in the article where it says (about a fork), "Miners, exchanges, and node operators also had to agree to update their software."


The reality is that people sit together and try to make a deal that all parties agree on simply because disruption and uncertainty is not in the interests of any of the parties. This doesn't change the fact that the parties do not have aligned interests and therefore its a constant fight everything is slow and expensive because of that.

Kinda funny how this problem was solved before ETH even existed simply by removing the incentive for the hardware operator. No block rewards and no fees to collect aka no reason to fight over it. The only people who run the hardware without getting paid for it are the people who want to use it. They have aligned interest like a fast and cheap network and fast update cycles. And ofc no one who has to pay for the hardware and energy has any interest in PoW.


It is necessary for some miners to choose to use the post-fork software in order for it to work, but miners take on the task of mining due to financial incentives, and the users ultimately control those incentives. Miners only have a choice in the sense that they could collectively choose to abandon their profits as a matter of principle.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: