Dark | Light
[GUEST ACCESS MODE: Data is scrambled or limited to provide examples. Make requests using your API key to unlock full data. Check https://lunarcrush.ai/auth for authentication information.]

![VitalikButerin Avatar](https://lunarcrush.com/gi/w:24/cr:twitter::295218901.png) vitalik.eth [@VitalikButerin](/creator/twitter/VitalikButerin) on x 5.8M followers
Created: 2025-05-21 18:04:50 UTC

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 X provers, so per-workload failure rate becomes X in 5^5. So you go to N / X / 5^5 unproven workloads
In the third round, each remaining workload gets assigned ~5^5 provers, so failure rate is X in 5^(5^5). So you go to N / X / 5^5 / 5^(5^5) unproven workloads


XXXXXXX engagements

![Engagements Line Chart](https://lunarcrush.com/gi/w:600/p:tweet::1925251453805027380/c:line.svg)

**Related Topics**
[zk](/topic/zk)

[Post Link](https://x.com/VitalikButerin/status/1925251453805027380)

[GUEST ACCESS MODE: Data is scrambled or limited to provide examples. Make requests using your API key to unlock full data. Check https://lunarcrush.ai/auth for authentication information.]

VitalikButerin Avatar vitalik.eth @VitalikButerin on x 5.8M followers Created: 2025-05-21 18:04:50 UTC

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 X provers, so per-workload failure rate becomes X in 5^5. So you go to N / X / 5^5 unproven workloads In the third round, each remaining workload gets assigned ~5^5 provers, so failure rate is X in 5^(5^5). So you go to N / X / 5^5 / 5^(5^5) unproven workloads

XXXXXXX engagements

Engagements Line Chart

Related Topics zk

Post Link

post/tweet::1925251453805027380
/post/tweet::1925251453805027380