Bob McElrath [ARCHIVE] on Nostr: š
Original date posted:2020-10-08 š Original message:A diversion on statistics: ...
š
Original date posted:2020-10-08
š Original message:A diversion on statistics:
There are two quantities available for consensus:
t target difficulty
h block hash where h < t
>From these we can form two quantities that might be used in consensus:
w work = log(sum(1/t_i))
f fitness = log(sum(1/h_i)) (term used by authors)
(The original authors do not specify mathematically how they obtain their
numbers -- but it doesn't really matter, fundamentally, they want to use the
block hash h instead of t) Bitcoin introduces some constants in the above sums
which I omit for clarity.
The main point here is that the work w is an unbiased statistical estimator for
the number of sha256d computations performed by the network. It is truly a
measurement of "work". The fitness f is a *biased* estimator for exactly the
same thing, and other than introducing statistical bias, provides no additional
information of any value.
The fundamental question of FPNC as I understand it is: should we introduce the
historic block hash h as a consensus-critical parameter?
The answer is a strict no: This quantity f (fitness) is purely random, and does
not in any way favor the "honest" chain, nor can it identify it. Between two
competing chains, the amount of bias on one chain vs. the other is purely random
and does *not* reflect more work done by one side or the other. Nor can it have
any knowledge of things like network splits.
At constant difficulty assuming two competing chains with exactly the same
number of blocks and amount of hashpower, this bias will oscillate, sometimes
favoring one side, sometimes favoring the other. Unlike work, this bias is not
cumulative. Each side will over time converge to having the same amount of bias
from any biased estimator such as f constructed from the hashes h. Just because
one side had an abnormally small hash doesn't mean the other side won't have a
similar abnormally low hash. The expectation value for the amount of bias is
equal on both sides.
Therefore, hard NACK on using h in this way and FPNP. At best it introduces
unecessary randomness into the chain selection process, at worst it proves a new
game to be played by miners. As a consensus critical change, it's also
incredibly risky to push through without some very serious advantage, which this
does not have.
--
Cheers, Bob McElrath
"For every complex problem, there is a solution that is simple, neat, and wrong."
-- H. L. Mencken
Published at
2023-06-07 18:27:12Event JSON
{
"id": "cf6517d1db5a47dc7f09a93ac000b2a92f8379a83ccca764961aec1fccd739fd",
"pubkey": "a4fc2fc2bfc061e75a1b6e17dfc4b3c93b85fab2fc91001f44fd8499d672b169",
"created_at": 1686162432,
"kind": 1,
"tags": [
[
"e",
"362cc6efc4197d43da2a4961997d6c9b5a183064e59919b836ff5c803360d8e6",
"",
"root"
],
[
"e",
"e89d09d0f4b5e720564afbf8e13f50b6fa03242cdf5603a57a1dd69a09f3441d",
"",
"reply"
],
[
"p",
"2b3ecf9385e6a66ed65ff0457b4a59163fabb80075bc34638fb1d55497cc4a55"
]
],
"content": "š
Original date posted:2020-10-08\nš Original message:A diversion on statistics:\n\nThere are two quantities available for consensus:\n t target difficulty\n h block hash where h \u003c t\n\u003eFrom these we can form two quantities that might be used in consensus:\n w work = log(sum(1/t_i))\n f fitness = log(sum(1/h_i)) (term used by authors)\n\n(The original authors do not specify mathematically how they obtain their\nnumbers -- but it doesn't really matter, fundamentally, they want to use the\nblock hash h instead of t) Bitcoin introduces some constants in the above sums\nwhich I omit for clarity.\n\nThe main point here is that the work w is an unbiased statistical estimator for\nthe number of sha256d computations performed by the network. It is truly a\nmeasurement of \"work\". The fitness f is a *biased* estimator for exactly the\nsame thing, and other than introducing statistical bias, provides no additional\ninformation of any value.\n\nThe fundamental question of FPNC as I understand it is: should we introduce the\nhistoric block hash h as a consensus-critical parameter?\n\nThe answer is a strict no: This quantity f (fitness) is purely random, and does\nnot in any way favor the \"honest\" chain, nor can it identify it. Between two\ncompeting chains, the amount of bias on one chain vs. the other is purely random\nand does *not* reflect more work done by one side or the other. Nor can it have\nany knowledge of things like network splits.\n\nAt constant difficulty assuming two competing chains with exactly the same\nnumber of blocks and amount of hashpower, this bias will oscillate, sometimes\nfavoring one side, sometimes favoring the other. Unlike work, this bias is not\ncumulative. Each side will over time converge to having the same amount of bias\nfrom any biased estimator such as f constructed from the hashes h. Just because\none side had an abnormally small hash doesn't mean the other side won't have a\nsimilar abnormally low hash. The expectation value for the amount of bias is\nequal on both sides.\n\nTherefore, hard NACK on using h in this way and FPNP. At best it introduces\nunecessary randomness into the chain selection process, at worst it proves a new\ngame to be played by miners. As a consensus critical change, it's also\nincredibly risky to push through without some very serious advantage, which this\ndoes not have.\n\n--\nCheers, Bob McElrath\n\n\"For every complex problem, there is a solution that is simple, neat, and wrong.\"\n -- H. L. Mencken",
"sig": "db256ec93fb1fddcc814ef6ec319741207ab281aa6ab6ddd9c40fb493a7000f057790376d67279eab65d181bed4bfe4d415f55fe2b55fba8a809f863e4a3c025"
}