4 ms·
>it's stupid to call a planned update everyone goes along with a "hard fork" No, a hard fork indicates a set of consensus rules that is incompatible with the c
by DINKDINK 9y ago
>it's stupid to call a planned update everyone goes along with a "hard fork"
No, a hard fork indicates a set of consensus rules that is incompatible with the current set of consensus rules. This occurs when the domain of valid blocks expands. When the domain of valid blocks decreases, it's a soft fork.
- tom_mellior 9y agoI understand the first part of this, but I don't know what you mean by the "domain of valid blocks". Anyway, I understand the issue of an incompatible change. The point is, it's dumb to use the same term for an incompatible change everyone goes along with (like here) with an incompatible change that causes two different chains to be kept up by two different communities (like Ethereum vs. Ethereum Classic). The difference is between calling a fork-shaped thing a "fork" and calling a knife-shaped thing a "fork".
- wmf 9y agoSome good thinking about forks and upgrades: http://www.truthcoin.info/blog/forks-and-splits/ http://www.truthcoin.info/blog/forks-and-splits/
- tom_mellior 9y agoThat makes clear that the meaning of "fork" has changed over time in exactly the way I said. It then goes on to try to rationalize the current usage, which I don't happen to agree with.
- jmeyer2k 9y agoHe means hard forks make block validity more restrictive whereas soft forks do not.
- MertsA 9y agoYou got that backwards. Hard forks make blocks that are not considered valid by previous versions. Soft forks make blocks that are considered valid by previous versions. A soft fork does stuff like e.g. changing Bitcoin blocks to be 512KB in size. In that case, all new blocks would still be seen as valid blocks for anyone still running the old version.
- stale2002 9y agoThere is no reason why the upcoming Monero hardfork couldn't cause a split. If a faction disagrees with the scheduled update, they very well could cause 2 different chains, in the exact same way that Ethereum, and Ethereum clasic happened. There is no free lunch. A hard fork is a hard fork. It is perfectly possible that you will be incorrect in your prediction that the hardfork will be uncontroversial.
- DINKDINK 9y ago>I don't know what you mean by the "domain of valid blocks". Blocks are considered valid by a consensus set if they have certain attributes. Consider each attribute an axis in a multi-dimensional space. One axis for the block size [1], one for the type of PoW function it has[2], one for the sign of the R S values used in an ECDSA function[3], another for the required difficulty[4] For example, Bitcoin went through a soft fork when the domain of valid blocks was reduced in BIP66 to decrease the number of domains DER signatures could exist in [3]. Bcash /increased/ the domains in which blocks would be considered valid in their chain by changing the difficulty-retargeting algorithm used in Bitcoin[4], 8X'ing the blocksize [1]. As a result, if you turn on a bitcoin node running ~0.6-.7 it won't sync to the bcash chain but will sync to the bitcoin chain (with implementations such as Bitcoin Knots, bcoin, Bitcoin Core) because bcash is a hard fork of bitcoin.