Filecoin Weighting function
Closed this issue · 2 comments
The Filecoin weighting function calculator is here: https://observablehq.com/d/3812cd65c054082d.
BLUF is (with expectation that constants will change):
W[r+1] = P^(X)(B(numBlocks[r+1]) + log(totalPower) + W[r])
For a network of 50 eB and a threat model using a 35% attacker , I would use the following parameters:
X is the number of null blocks the chain has seen in a row if that number is greater or equal to 3 (otherwise X = 0) — Means the attacker has a 9% chance of getting penalized if they do block withholding vs 1% for an honest chain.
P = .87 — Within 7 rounds of null blocks, a chain will only have added 1/2 the weight of a normal counterpart.
B = 1.7 — Storage in the network becomes the dominant part of weight (rather than number of blocks mined in a round) after 300 blocks, or about half of leader election finality.
- Are we all comfortable with the analysis here and the dynamics at play here, especially as it relates to punishing honest chains?
- Should the Fil weighting function explicitly be dependent on network size (impact on how fast weight moves from blocks emitted to size of the network, 2x change)? I would say yes.
- Are we all agreed on the relative threat model re adversary?
estimate from @sternhenri is that this is done by aug 30