
Vitalik Buterin
@vitalik.eth
110 Following
291432 Followers
33 replies
40 recasts
339 reactions
38 replies
50 recasts
421 reactions
23 replies
76 recasts
428 reactions
39 replies
57 recasts
373 reactions
17 replies
28 recasts
213 reactions
79 replies
50 recasts
413 reactions
47 replies
57 recasts
372 reactions
172 replies
528 recasts
2617 reactions
79 replies
128 recasts
1012 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 18 replies
30 recasts
251 reactions
44 replies
25 recasts
322 reactions
19 replies
70 recasts
383 reactions
26 replies
111 recasts
524 reactions
29 replies
156 recasts
691 reactions
13 replies
54 recasts
300 reactions
7 replies
41 recasts
204 reactions
23 replies
38 recasts
325 reactions
12 replies
82 recasts
367 reactions
6 replies
14 recasts
146 reactions
1 reply
3 recasts
54 reactions