Retain AndreiEres at rank 2

Deciding
No context provided.
Who can edit?
Reply
Up
Share

Evidence for Retention

Argument-0009: Retention at Rank II

Report Date 2026/08/28
Submitted by Andrei Eres

Member details

  • Matrix username: @andrei:parity.io
  • Polkadot address: 1436xp47dm3w1yTvSncsf4cgVLH5dVsgBzMqtHkSx1XjG1Wb
  • Current rank: 2
  • Date of initial induction: 2024/07/19
  • Date of last report: 2026/06/03
  • Area(s) of Expertise/Interest: Statement Store, Parachain Consensus, Nodes Scalability and Observability, Subsystem Benchmarking

Reporting period

  • Start date: 2026/06/03
  • End date: 2026/08/28

Argument

During this reporting period, my main focus was scaling the statement-store for large networks: together with the team we designed the DHT-affinity distribution, and brought it to a working proof of concept. I also hardened the gossip protocol's memory behavior and continued developing statement-store support in smoldot.

Statement Store DHT-affinity distribution

The statement-store is a substrate component that lets web3 applications exchange signed statements across the network. Its current design, where every node stores all statements, cannot scale to large networks. After last period's research, we designed a DHT-affinity distribution and started its implementation (see the tracking issue with implementation details).

On the feature branch we built the proof of concept end to end. The explicit-affinity module collects the topics a node is interested in, from its configuration and live RPC subscriptions. Peers share these filters with each other, and the peer steering module connects the node to peers with matching interests. Testing with zombienet scenarios caught real bugs, for example peer steering could drop all connected peers at once. The work is ongoing: the gated v2 DHT-affinity path and behaviour-based peer scoring are prepared for review and merge to master.

Statement Gossip Hardening

While preparing the protocol for large networks, I removed the unbounded memory in the gossip layer on master. Initial sync used to snapshot every statement hash for each connecting peer, a full store scan and up to 2 MiB per peer. I replaced it with a resumable cursor over the admission journal. I also removed the per-peer known-statement cache, which a peer could inflate to 320 MiB, bounded outbound sends with a per-peer outbox, made the validation queue allocate lazily, and prepared bounding of the inbound batch size against decode-amplification attacks. Together these changes make the gossip layer run in bounded memory regardless of peer behavior.

Statement Store Light Node

In smoldot, I continued improving the statement-store support landed last period: indexed subscriptions by topic to narrow statement matching from a scan over all subscriptions to only the relevant ones, moved notifications to a dedicated channel, fixed a panic on affinity updates when the statement protocol is disabled, and closed the remaining follow-ups from the initial implementation. I also made statement submission validate like on a full node, so clients get the same responses whether they submit through smoldot or a polkadot-sdk node, with a zombienet test that checks the parity between the two.

Further development

In the next period, I'll continue the rollout of statement-store distribution for large networks.

Voting record

Ranks Activity thresholds Agreement thresholds Member's voting activities Comments
I 90% N/A
II 80% N/A I have voted on 0 out of 0 referenda in which I was eligible to vote (i.e 0 % voting activity). There were no referenda during the current period in which I was allowed to vote.
III 70% 100%
IV 60% 90%
V 50% 80%
VI 40% 70%

Misc

  • Question(s):

  • Concern(s):

  • Comment(s):

Status
Decision14d
Confirmation
1hr
Attempts
0
Tally
50%Aye
50%Nay
Aye0
Nay0
  • 10.00%
  • 0.0%

    Threshold

  • 0.0%
Bare Aye0
Max Voters11
Check how referenda works here.
Call
Metadata
Timeline3
Curves
Comments