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?
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.