Aligned Engineering Updates - June 2nd - 6th, 2025

This week we upgraded the fast mode protocol on Testnet to its latest version, bringing some reliability upgrades and upgrading the verifiers libraries to their latest version.
We also worked on improving the aggregation mode all across the board, from reliability, to performance and a better integration with the current explorer.
Latest PRs Merged
Limit number of proofs to fetch
https://github.com/yetanotherco/aligned_layer/pull/1956
It adds a limit for the number of proofs to fetch. When the fetcher reaches that limit or when the proofs for the batch surpass that limit the fetching stops and the last aggregated block us updated to the block number of that log so that the next aggregation starts at that block.
Non-paying proofs are ignored when queue is full
https://github.com/yetanotherco/aligned_layer/pull/1958
When the queue is full, non-paying proofs were being ignored.
This PR fixes that by performing replacement on low-fee proofs.
Update Docs and made releases for the latest versiosn
https://github.com/yetanotherco/aligned_layer/pull/1940
https://github.com/yetanotherco/aligned_layer/pull/1954
https://github.com/yetanotherco/aligned_layer/pull/1970
https://github.com/yetanotherco/aligned_layer/pull/1976
Verification & sp1 aggregation
https://github.com/yetanotherco/aligned_layer/pull/1955
While aggregating many proofs in sp1 we noticed that setting up the prover has quite the overhead (around 400ms). This PR addresses that issue by:
- Parallelising the verification in the fetching process with rayon.
- Obtaining the vk once instead of the setting up the client with the program elf every time: for this the proof pre verification was moved to the creation of the struct so that the vk is computed only once and in parallel regarded if the pre-verification is enabled or not.
Support search for aggregation mode
https://github.com/yetanotherco/aligned_layer/pull/1944
It extends the explorer's search functionality to support querying aggregated proofs by:
- Merkle root of the aggregated proof.
- Proof commitment included in an aggregated proof.
Manage subscription to events without panic
https://github.com/yetanotherco/aligned_layer/pull/1729
Previously, the Operator panicked if one connection (either main or fallback) failed.
The previous solution to this (#1692) was to iterate infinitely over both connections, this had the "silent failure" problem, as an operator could fail and retry forever without notice to its owner.
Now if one connection fails, the Operator will use the other one, while continuously trying to reconnect to the failed one; and if both connections fail, and the retryables are consumed, the Operator will exit, logging the errors of each connection RPC, so the owner/manager of the Operator server can fix it accordingly.
This PR also added the usage of fallback when operator calls DisableVerifiers
.
Stop listening to blocks when one of the rpcs disconnects
https://github.com/yetanotherco/aligned_layer/pull/1961
This PR improves the batcher's ws connection. The batcher maintains two ws connections: a primary and a fallback. Previously, if either connection failed during listen_to_new_blocks
, the entire process would fail.
With this PR now:
- The batcher only returns an error if both connections fail. If at least one succeeds, the process continues.
- Previously, a select call would return immediately on the first event, when one disconnected then it would be the first one to return making it fail. The new logic listens to both connections and only exits if both fail.
Bump gnark version to 0.12
https://github.com/yetanotherco/aligned_layer/pull/1863
- Update the version in go.mod and go.sum.
- Update the test files of groth16 to make it work (plonk 0.10 test files still works).
- Fix the CI to use the correct test files.
- Update the docs.
Targets to verify aggregated proof for every network
https://github.com/yetanotherco/aligned_layer/pull/1943
Previously, the target to verify if a proof was aggregated was hardcoded for holesky-stage
. Since we now have ethereum-package
and holesky
, the target was updated to support every network. Also, based on the NETWORK
param the RPC_URL
and BEACON_URL
are automatically set to public nodes.
Upgrade SP1 to 5.0.0 in Aggregation, verification mode and examples
https://github.com/yetanotherco/aligned_layer/pull/1965
Update golang lintern on CI and fix warnings
https://github.com/yetanotherco/aligned_layer/pull/1967
Change all addresses in yamls to be quoted, as to avoid them being interpreted as numbers in some machines
https://github.com/yetanotherco/aligned_layer/pull/1966
Stay tuned: 🐦 Twitter | 🗨️ Telegram | 👾 Discord | 🌐 Website | 📝 Manifesto