Meeting Summary:
The meeting focused on client updates and progress on DevNet 4 and DevNet 5 implementations across different teams. Thomas provided updates on LeanSpec refactoring efforts, including removing unnecessary code, simplifying tests, and improving documentation before the end of the month. The teams reported various progress updates: Gajinder’s team achieved stable 64-node demos on DevNet 4 with some Lipi2P issues, Shariq’s team implemented DevNet 5 spec and added progress tracking features, Mihir’s team completed ETH Lambda interop testing, Pablo’s team merged clock discrepancy fixes and worked on zkAlloc enabling, Bankat’s team performed housekeeping and validation checks, and Mercy’s team updated tags and made changes based on PRs 781 and 802. The team discussed moving from DevNet 4 to DevNet 5 testing, with Gajinder advocating for immediate transition since DevNet 5 is the target specification, while Parthasarathy raised concerns about ensuring stability and addressing snappy decoding issues that were causing random failures. The group also discussed hardware requirements for DevNet 5 testing, with consensus that 8-core 16GB machines should be sufficient for regular validators.
Click to expand detailed summary
The team discussed client updates, focusing on DevNet scaling efforts. Gajinder reported that on DevNet 4 with 64 nodes, they achieved a smooth demo, though some Lipi2P issues were noted. On DevNet 5, they successfully interopped with Eat lambda and Dream, and confirmed that DevNet 5 images could run Shadow. Gajinder also mentioned improvements in aggregator performance through various optimizations.
The team provided updates on DevNet 4 and DevNet 5 development progress. Shariq reported fixing issues raised by Partha and implementing DevNet 5 spec, while Mihir confirmed successful interop testing with ETH Lambda clients. Pablo merged fixes for clock discrepancy and state-finalization issues, and is working on enabling zkAlloc and investigating aggregate back problems. Bankat from GIN reported performing housekeeping and performance checks, with plans to build a new DevNet 4 image before proceeding to DevNet 5 runs. Mercy from Grandin updated on profiler implementation, multi-sync commit hash bump, and Linspec changes, with current local testing of DevNet 5.
Thomas provided an update on the Lean specification refactoring progress, including removing unnecessary content, simplifying tests, and improving documentation readability by replacing abbreviations with clearer terminology. He mentioned ongoing work on Plonky3 performance improvements and Emil’s efforts to replace the Reon parallelization library with a custom thread pool in LeanVM to enhance stability and memory usage. Thomas also shared a recently published research post about post-quantum public key registries for Ethereum validators.
Thomas presented a post on post-quantum efforts focusing on XMSS signatures, explaining the cryptographic primitives, implementation details, and design considerations for the registry. The post includes discussions on hash functions, signature aggregation, and practical considerations for validators, with open questions for community feedback to eventually lead to an EIP. Thomas encouraged the audience to review and comment on the post, and mentioned that the team is currently consolidating feedback and working on implementing DevNet 5.
The team discussed whether to focus on stabilizing DevNet 4 or moving to DevNet 5 implementation. Kamil asked for alignment on current priorities, and Gajinder expressed that DevNet 4 is stable enough except for specific encoding issues not related to the spec. Gajinder recommended moving to DevNet 5 testing since both implementations and clients now support it, making it the target specification for scale and stability testing.
Kamil reported testing the shadow branch of Zim on DevNet 4 with 32 nodes showing stable performance, but 64 nodes experienced instability with chain finalization gaps of 20-30 blocks. Gajinder emphasized focusing on scale and suggested moving directly to DevNet 5 to avoid unnecessary optimizations for older versions. Parthasarathy proposed targeting at least one stable run of DevNet 4 before switching to DevNet 5, while also noting concerns about hardware requirements for running larger DevNet 5 networks.
The team discussed ongoing issues with DevNet 4 testing, particularly random errors occurring during snappy decoder operations that appear to involve interactions between different clients like Zim and Lantern. Parthasarathy identified that ETH Lambda processes more aggregations than other clients and requested teams to run localized tests with their own clients to help isolate the issues. The team decided to move forward with DevNet 5 testing starting Friday, as it will provide more realistic single proof on-chain settings for community presentation, while maintaining the current mechanism and specifications without adding new features. There was discussion about coordinating the correct commit hash for leanMultisig between DevNet 4 and DevNet 5, with Mercy and others clarifying the specific hashes to use for testing.
Next Steps:
- Thomas: Continue refactoring the LeanSpec before end of month to present internally at DEF, including removing abbreviations, simplifying primitives, and increasing test coverage.
- Thomas: Update and maintain the DevNet spec page with the correct LeanVM commit hash so all teams are aligned (clarify DevNet 4 vs DevNet 5 commit hashes async on the group channel).
- Parthasarathy: Run one final DevNet 4 stability run this week before transitioning to DevNet 5 testing, targeting at least 15-20 minutes of runtime to identify the snappy decoding issue source.
- Parthasarathy: Share aggregation metrics updates and request all teams to add a metric for missed aggregation slots to help identify causes of missed aggregations.
- Gajinder: Confirm whether the snappy encoding/decoding error is originating from Lantern or another client by running a mixed-client test, and report findings by Friday.
- Gajinder: Begin DevNet 5 testing by Friday regardless of DevNet 4 stabilization outcome.
- Kamil: Switch Shadow simulation testing from DevNet 4 branches to DevNet 5 branches once alignment is confirmed.
- Kamil: Create a branch for ETH Lambda with the necessary patches (disable Gemalog, libp2p patch) for Shadow support and share it with the ETH Lambda team.
- Mihir: Continue testing DevNet 5 with updated LeanVM multi-sync commit hash and report on memory and performance improvements.
- Mercy: Update the LeanVM multi-sync commit hash to the latest one (as referenced by Thomas/Anshal) and retest DevNet 5 locally.
- Anshal: Investigate and resolve the P2P-side interoperability issue observed when running ETH Lambda with Grandin, and share error logs with the team.
- All teams: Run individual client-pair local tests (each client vs. others) for at least 15-20 minutes to help isolate the source of the snappy decoding error, and report findings to Parthasarathy.
- All teams: Align on the correct LeanVM commit hash for DevNet 5 (to be confirmed async on the group channel) and update their respective DevNet 5 branches accordingly.
Recording Access: