Author: Mike Brooks 2020-10-10 00:59:31
Published on: 2020-10-10T00:59:31+00:00
The discussion revolves around addressing issues with chain thrashing and proposing a solution. A full implementation is provided to resolve the confusion around the summation of fitness scores. However, there is a minor mistake in the code and paper, and a change in position is made to optimize for lower value, which resolves the procession of difficulty when producing blocks across an epoch divide. The work 'w' is an unbiased statistical estimator for the number of sha256d computations performed by the network, and the fitness 'f' is a biased estimator for exactly the same thing and provides no additional information of any value.FPNC is an extension of the same measure of work; however, criticism of zero-prefix in base16 should also be a criticism of zero-prefix in base2 or any other base. The fundamental question of FPNC is whether the historic block hash 'h' should be introduced as a consensus-critical parameter. The answer is no as this quantity 'f' (fitness) is purely random and does not favor any specific chain. A floating-point evaluation introduces the concept that no two blocks can ever be of equal value unless they are the same hash value. Thus nodes should choose the same highest-value solution.At constant difficulty, assuming two competing chains with exactly the same number of blocks and amount of hash power, the bias will oscillate, sometimes favoring one side, sometimes favoring the other. This bias is not cumulative, and each side will converge over time to have the same amount of bias from any biased estimator such as fitness constructed from the hashes 'h.' In the current protocol, clients always choose the chain of greatest value, because trying mine a full block behind would require more than 50% of the network power to catch up. The heredity of block fitness creates convergence on the most valuable chain. When looking at the electorate over time, more miners will choose to mine with the higher-value coinbase, thus eroding support for the computational effort needed to sustain the disagreement. No thrashing will happen, because no miner has incentives for this to happen.Nodes on the network cannot know the history of a block or why it was produced, but through an empirical measure of value, we can have a protocol that avoids ambiguity in the block selection process and prevents disagreement from forming. The disagreement here is powerful miners trying to prove each other wrong, but if they had a more accurate measure of value, there would be no reason to ever disagree.
Updated on: 2023-06-14T15:36:00.105389+00:00