-
Notifications
You must be signed in to change notification settings - Fork 177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reduce congestion via Batching ProveCommits #49
Comments
Personal opinion:
|
This was referenced Dec 16, 2020
@nicola I think we can close this, as we're pursuing aggregation instead of batching. |
Marking closed, per @anorth's comment. This topic no longer seems relevant to the community. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Problem
ProveCommits and PreCommits are creating network congestion leading to high base fee, leading to high cost for SubmitWindowPoSt and PublishStorageDeal.
Proposed solution
Processing multiple ProveCommits at the same time can drastically reduce the gas used per sector, leading to a much lower gas usage from ProveCommits. We propose to add a new method: "ProveCommitBatched".
There are two parts that can be amortized:
From now on, I will call "Batching saving factor" the factor of gas saved by doing this.
This change should be done in conjuction with #25
Outline
With this mechanism, miners will prefer to batch multiple proofs together since they would be substantially reduce their costs.
Discussion
This issue is intended for discussion. There are a number of details to work out before drafting a FIP.
Batch verification parameters
Benchmarks
The following table describes the proof size and the batch verification times.
1,920 bytes
3ms
19,200 bytes
10ms
38,400 bytes
15ms
57,600 bytes
23ms
96,000 bytes
40ms
192,000 bytes
53ms
Tradeoffs
Here are some back of the envelope calculation to understand the advantages and disadvantages of this proposal:
Risks
Implementation details (TODO)
More work needs to go into this, but preliminary:
ByteArrayMaxLen
Open questions
The text was updated successfully, but these errors were encountered: