-
Notifications
You must be signed in to change notification settings - Fork 43
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
Feat(blsagg): use block-based expiry instead of time-based #300
Comments
This would work. Thanks @samlaf. It could be max blocks or max time, whatever is easier to implement. If it's a block we would use it in 1 probably. Signatures are collected really fast, so waiting just 1 extra second would be enough. |
I'm adding some costs to have as data points, we collected using Aligned with different proportions of stake and amount of operators. If you assume a uniform distribution of stake, the gas cost of the verification is this one: In reality, it's a paretto, that in the worst case, when only the biggest signers signatures are aggregated, works like this: As it can be seen, what should cost 280k quickly costs more than 1M. In Aligned Testnet, numbers are in the middle of both cases, closer to Paretto worst case than the uniform case. With the solution of waiting for more signature, costs should be 280k for all cases |
Also, just in case, title of the issue is misleading, since it doesn't matter if it's block or time based, but description is fine! |
Is your feature request related to a problem? Please describe.
bls signature verification gas costs are linear in the # of non signers, so the fewer nonsigners, the cheaper the verification gas costs. Right now the API for the blsagg service to return an aggregate signature has 2 dofs:
and the return condition is:
Describe the solution you'd like
AVSs that want low latency (at the cost of potential gas costs) need a more flexible API, in the form of:
with return condition being:
Describe alternatives you've considered
Mauro and Mariano, would this interface work for AlignedLayer?
The text was updated successfully, but these errors were encountered: