
Bluelotus99.base.eth
@bluelotus77
346 Following
205 Followers
15 replies
16 recasts
120 reactions
14 replies
53 recasts
439 reactions
28 replies
71 recasts
345 reactions

A fun math aside, on the idea of splitting a large zk proving workload between multiple provers.
Suppose you have N provers, and you have a proving workload that you split into N parts (so, one part per prover). You require provers to pre-register, but registration is open-access.
Suppose you have a constant fault rate (eg. 1/5 of registered provers fail). Provers expect to complete in one round (eg. 3s). If one prover fails, other provers have to come in and re-prove that load. How many rounds does it take for the entire workload to get proven?
Answer: log*(N)
(yes, that's the iterated-log function)
Why:
In the first round, you go from N unproven workloads to N/5 unproven workloads
In the second round, each remaining workload gets assigned 5 provers, so per-workload failure rate becomes 1 in 5^5. So you go to N / 5 / 5^5 unproven workloads
In the third round, each remaining workload gets assigned ~5^5 provers, so failure rate is 1 in 5^(5^5). So you go to N / 5 / 5^5 / 5^(5^5) unproven workloads 16 replies
28 recasts
276 reactions
76 replies
133 recasts
1084 reactions
4 replies
18 recasts
94 reactions
3 replies
35 recasts
186 reactions
64 replies
904 recasts
2129 reactions
16 replies
24 recasts
278 reactions
104 replies
70 recasts
518 reactions
5 replies
7 recasts
43 reactions
2 replies
9 recasts
57 reactions
3 replies
8 recasts
42 reactions
0 reply
0 recast
1 reaction
38 replies
11 recasts
68 reactions
0 reply
9 recasts
50 reactions
15 replies
77 recasts
284 reactions
18 replies
45 recasts
336 reactions
8 replies
8 recasts
74 reactions
43 replies
40 recasts
124 reactions