Author

Topic: Can someone claim to guarantee a hardfork will not result in a split? (Read 257 times)

newbie
Activity: 28
Merit: 21
This is not an answer, but rather a reason as to why it is hard to say we can prove that one protocol will survive.

My understanding of a hard fork is a negotiation process among agents. With game theoretic agents, one should be able to provide a mathematical prove consensus of the negotiation towards one protocol. The agents in this game are miners, the decision variable of each agent is the computational power split between the two protocols. The objective function of the decision variable is a summation of utility the agent gets from each protocol
 
 total utility = utility_protocol1(x) + utility_protocol2(1-x)                    (eq. 1)

where x is the split factor of computational power between the two protocols which ranges between 0 and 1. The agent must choose x value over time.

Assume we have a population of miners (for now, all with equal computational resource available). Each agent will try to maximize eq. 1. Utility functions for each protocol contain static terms (constants) and dynamic terms (time dependent). Constant terms refer to the intrinsic value of the protocol (i.e. benefits in mining, e.g. more efficient protocol, stability fixes etc.). Dynamic or transient terms refer to the network effect (e.g. As one protocol gains computational dominance, the utility of that protocol increases and ratio of protocol token price over time). Therefore an example utility function for a protocol can look like:

utility_protocol(x) = (utility of stability) - (cost of hardware adaption) + (block profit)*x + (protocol dominance)*x + .... + termn       (eq.2)

We can see that the utility_protocol(x) function is non-linear, as each player's choice of local x influences the global variable of protocol dominance which then effects local dynamic utility terms of each agent. This is without considering the conjugate relation between price and protocol dominance which influences the block profit term.

Now comes that part where we consider that agents are not game theoretic towards profit AND/OR their considerations are more complex (e.g. preferences for the future, agreements made between miners, agreements between miners and third parties, miners with other agenda's, etc.). Terms within the protocol utility functions are constructed locally by each agent. This means the scaling of each term (e.g. how much utility does the efficiency delta between the two protocols mean to me) is independent. If mode of the probability distribution function which describes delta of  utility_protocol1 and utility_protocol2 is zero with a low standard deviation, then it is possible that the two protocols will survive.

BUT.... if the forks survive and new forks emerge from those forks (like a tree structure), the miner's computational power will be diluted over multiple networks, which goes against their game theoretic drive for profit. which means at some point, these complex terms will be overpowered which will lead to a bias in x selection by each agent.

This is really is my perception of the mechanics that are behind protocol voting. But I think this is why it is hard to "prove" that one protocol will be dominant. Probably what is easier to prove is that there will be a finite amount of forks possible with a given communal computational capacity.
legendary
Activity: 1372
Merit: 1252
Monero and Ethereum have very visible heads within the project... this is the problem of being the leader, like it or not your word has a massive impact.

If fluffypony or Vitalik make a tweet saying "we need to support X fork because of Y" everyone will support X fork, but still, we've already had ETC being a viable altcoin which should have died a long time ago as (wrongly) predicted by Vitalik.

Bitcoin is just on another level of decentralization. No one in Bitcoin has the influence that fluffypony or Vitalik have, or any other founder. Cryptocurrencies just don't work without an anonymous creator that eventually disappears.

Ethereum makes regular hard forks to upgrade the network. When a coin is built from the ground up to expect such things it's not too bad to get people on-board. But yes, if people continue to mine the old chain with old software, it will still exist.

Well we'll see what happens when they switch to PoS... I want to see that one. I think having an ETH-PoW/ETH-PoS situation is a realistic one, they are basically firing all miners, and they may troll them creating another ETC situation (this time, ETH-PoW).
legendary
Activity: 3122
Merit: 2178
Playgram - The Telegram Casino
My question is: Under what basis can someone claim such, when afaik all it takes is some miners mining the 8MB chain to keep it alive and therefore you end up with 2 coins?

If I'm not mistaken Monero did some upgrade hard forks in the past which didn't result in two competing, surviving blockchains. Ethereum enforces upgrade hard forks by means of a difficulty bomb.

In general I don't think one can guarantee that a hard fork doesn't result in two competing blockchains. Like you said -- all it takes is some miners staying on the legacy chain. If then some dev team decides to maintain the legacy BCH code and some crypto exchange decides to support both coins you have closed the circle and two competing BCH forks. And there's no one that could prevent such a thing. Whether someone would be willing to go through these motions is a different question of course.

As for your two premises -- I don't think centralized development (2) would prevent a hard fork from occuring, unless the community stands 100% behind the hard fork as well (ie. the disaster around the corner or utmost trust in the dev team). I can very well imagine small projects (1) being united enough to enable a hard fork without a chain split token.

I do think that the BCH community is large enough for dissident voices though, thus I'm not fully convinced that their guarantee of "no more chain split tokens" can be upheld. All it takes is a handful of people stepping out of line. And that's a good thing -- no matter whether we're talking about BCH or BTC.
hero member
Activity: 854
Merit: 658
rgbkey.github.io/pgp.txt
Ethereum makes regular hard forks to upgrade the network. When a coin is built from the ground up to expect such things it's not too bad to get people on-board. But yes, if people continue to mine the old chain with old software, it will still exist.
legendary
Activity: 1372
Merit: 1252
First of all please do not move this to the altcoin section, it is a theoretical question in which Bitcoin is involved, but im going to use the up and coming BCash hard fork in may 15th.

All over /r/btc and other websites, they are guaranteeing that there will be no 2 surviving tokens: "BCash-8MB" (in this case, the "legacy BCash chain") and then the new "BCash-32MB" chain. They say it will go smooth.

My question is: Under what basis can someone claim such, when afaik all it takes is some miners mining the 8MB chain to keep it alive and therefore you end up with 2 coins?

Did they manage 100% consensus from everyone to abandon the 8MB chain and let it die? How are they reaching consensus so easily, unless:

1) The project is tiny (irrelevant)
2) The project is centralized

Example of such news:

https://coincodex.com/article/1569/bitcoin-cash-hard-fork-scheduled-for-may-15-but-there-will-be-no-new-tokens/

My thesis is that if a coin can hardfork without ending up in 2 factions (2 tokens) one or both points apply. The only exception would be some kind of guaranteed disaster without a hardfork which forces everyone to get together to hardfork, for instance: SHA256 gets cracked.
Jump to: