Retain davxy at rank 3

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

Evidence for Retention

Argument-0009: Retention at Rank III

Report Date 2026/10/13
Submitted by Davide Galassi
Sponsored by N/A

Member details

  • Matrix username: @davxy:matrix.org
  • Polkadot address: 16Q4qkRcWd4r8196dVGNLYVfy7H86MJYJBMockPaMigFXCyv
  • Current rank: 3
  • Date of initial induction: 2024/01/08
  • Date of last report: 2026/04/09
  • Link to last report: Argument-0008 (Referendum 514)
  • Subsystems developed/maintained: Cryptography (Applied) (assignee), JAM (Polkajam)

Reporting period

  • Start date: 2026/04/09
  • End date: 2026/10/13

Argument

On the cryptography side, I hardened and optimized ark-vrf and the ring VRF stack around it, partly in response to the SRLabs and Cure53 audits. On the JAM side, I brought PolkaJam and the test vectors up to Gray Paper 0.8.0.

Cryptography

I maintain the Bandersnatch VRF specification, ark-vrf and verifiable, the ring VRF layer of Individuality. I also contribute to ring-proof.

Security. I fixed the audit findings across ark-vrf, ring-proof and verifiable, and hardened ark-vrf beyond them. The libraries now reject malformed and degenerate inputs, the ring prover no longer branches on secret data, and a build configuration can no longer turn off the zero-knowledge property of ring proofs (ark-vrf#105, ring-proof#97, verifiable#65).

Performance. Thin and Tiny VRF proofs are now about 1.5x faster to create and verify than in April, and ring proofs are faster to create (benchmarks). Proofs from different rings can now be verified together in one batch (ark-vrf#92, verifiable#61).

RFC 9380 bug in arkworks. The arkworks hash-to-curve did not follow RFC 9380 for curves like Bandersnatch, so its output differed from compliant implementations. I fixed it in ark-vrf (ark-vrf#109) and opened the upstream fix (arkworks-rs/algebra#1140).

Thin VRF in JAM. I updated the Gray Paper to the latest VRF specification and moved JAM to Thin VRF, which supports batch verification (graypaper#550).

EC host functions (RFC-163). Some inputs could make the Bandersnatch host functions panic. I wrote the RFC amendment (RFCs#168) and the polkadot-sdk fix (#12125). The Individuality runtime can now run its Bandersnatch operations natively through these host functions (individuality#934, private).

JAM

PolkaJam (62 PRs, private repository). I drove the Gray Paper 0.8.0 update (#1024), where the largest change was support for smaller validator sets (#1184). The fuzzer, tests and code review found several bugs that I fixed or reported: invalid blocks from the block author, honest peers reported for misbehaviour, and some differences between PolkaVM backends. I also made fuzzer sessions fully reproducible across machines (#983) and reworked the fuzzer's block mutation engine (#1288, in review).

Gray Paper. I fixed a flaw that let anyone forge signatures for the null key that replaces the keys of offending validators (graypaper#543). Three more proposals are in review: two close overflows that colluding guarantors or large preimages can trigger (#563, #564), and one restores a role handover that an earlier change of mine removed (#558).

Test vectors and M1. I released the JAM test vectors for Gray Paper 0.8.0 and defined the conformance criteria that the fuzzer applies for M1 (jam-conformance#194). The fuzzer target list now has 25 JAM implementations. I am also on the M1 evaluation board, where I help interview the teams that pass the fuzzer conformance test to assess their Gray Paper knowledge.

Reviews and knowledge sharing

Next, I plan to release ark-vrf 0.6.0 and complete Gray Paper 0.8.1 in PolkaJam and the test vectors.

Voting record

Ranks Activity thresholds Agreement thresholds Member's voting activities Comments
III 70% 100% 59 of 68 (86.8%). Agreement: 57 of 57 (100%) on the consensus referenda that I voted on. I did not vote on the other 9 referenda.

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 Voters4
Check how referenda works here.
Call
Metadata
Timeline3
Curves
Comments