Closed
Milestone
Oct 1, 2024–Mar 31, 2025
(2024Q4 - 2025Q1) AQEAB: attestation aggregation in blocks
AQEAB: attestation aggregation in blocks
This is a sub-milestone of %(2024Q4) Attestation Quorum Expansion to All Bakers
People
Motivation
Reducing the attestations' footprint in blocks, lowering storage and network consumption.
Plan
- Under feature flag, bakers now aggregate BLS attestations into a single newly introduced
Attestations_aggregateoperation.
Work breakdown
-
Protocol feature -
Attestation slots are no longer signed. -
!16607 (merged) - Proto: add Operation.bls_mode_unsigned_encoding -
!16655 (merged) - Client: register operation.bls_mode_unsigned encoding -
!16306 (merged) - Proto: operations signature check has access to the context -
!15436 (merged) - Proto: attestation slots are no longer signed (under feature flag) -
!15879 (merged) - Proto: double attesting with different slots is no longer slashed (under feature flag) -
!15888 (merged) - Accuser: double attesting with different slots is no longer denunced (under feature flag) -
!16793 (merged) - Proto: mempool check for consensus vote's minimal slots
-
-
New aggregated_attestation operation for Tz4 addresses -
New operation under feature flag -
!15283 (merged) - Proto: add aggregate_attestation feature flag -
!16169 (merged) - Proto: minor encodings refactoring -
!16167 (merged) - Proto: minor refactor for conflicts handling in double-attesting validation -
!16358 (merged) - Proto: minor refactoring for double (pre)attesting application -
!15244 (merged) - Proto: add attestation_aggregate consensus operation -
!16638 (merged) - Accuser: refactor aggregate cases handling
-
-
Validation in blocks (application and construction) -
!17139 (merged) - Proto: implement attestations aggregate validation -
!17332 (merged) - Proto: a valid block include at most one Attestations_aggregate -
!17447 (merged) - Proto: unaggregated eligible attestations are invalid in blocks -
!17756 (merged) - Proto: check for empty aggregate comittee
-
-
Application in blocks -
!17149 (merged) - Proto: implement attestations aggregate application -
!17150 (merged) - Proto: add basic unit testing for attestations aggregate -
!17169 (merged) - Proto: add more basic unit testing for attestations aggregate -
!17930 (merged) - Proto/apply: fix aggregate metadata committee ordering
-
-
#7827 - Follow-up testing for attestations aggregate
-
-
Baker -
!17208 (merged) - Baker: aggregate tz4 attestations -
!17313 (merged) - Tezt: add baker tests for aggregation -
!17618 (merged) - Baker: fix branch filtering -
!17578 (merged) - Tezt: add a test for aggregations in reproposals -
!17624 (merged) - Baker: improve voting power monitoring -
!17917 (merged) - Baker: fix attestations with DAL aggregation when repropsing -
#7868 - Proto: mempool filters consensus operations branch
-
-
Preattestations aggregation -
!17457 (merged) - Proto: remove preattestations slots from bls_mode encoding -
!17645 (merged) - Tezt: preattestations with non-minimal slots are filtered by mempool -
!17485 (merged) - Proto: add Preattestations_aggregate operation -
!17645 (merged) - Proto: preattestations with differnt slots are no-longer slashed -
!17734 (merged) - Proto: implement Preattestations_aggregate validation -
!17853 (merged) - Proto: implement Preattestations_aggregate application -
!17860 (merged) - Proto/test_aggregate: add unit testing for preattestations_aggregate protocol implementation -
!17877 (merged) - Baker: aggregate preattestations -
!17884 (merged) - Proto/validate: a valid block includes at most one preattestations_aggregate -
!17890 (merged) - Proto/validate: eligible operations must be aggregated
-
-
Misbehaviours regarding Attestations_aggregatesare denounced #7598 (closed)-
do not denounce different slots regardless of feature flag @4dam !18043 (merged) !18040 (merged) !18049 (merged) -
update denunciation operation types and validation/application to cover aggregates @dianegalloiswong !18073 (merged) !18032 (merged) !18103 (merged) -
update accuser to denounce aggregates !18091 (merged) -
update DAL node to handle aggregates @GuillaumeGen !18057 (merged)
-
-
-
Performance measurement -
Benchmark of signatures aggregation -
MinPK VS MinSig
-
-
Benchmark of signatures aggregation check -
MinPK VS MinSig -
POP aggregate verify
-
-
Block space footpring measurement -
Block bandwidth measurement
-
Loading
Loading
Loading
Loading