Skip to content

NiPoPoW: backport full extension-root validation to eni - #1

Open
a-shannon wants to merge 7 commits into
mwaddip:enifrom
a-shannon:fix/nipopow-complete-0.28-backport
Open

NiPoPoW: backport full extension-root validation to eni#1
a-shannon wants to merge 7 commits into
mwaddip:enifrom
a-shannon:fix/nipopow-complete-0.28-backport

Conversation

@a-shannon

@a-shannon a-shannon commented Aug 6, 2026

Copy link
Copy Markdown

Summary

  • Backport canonical interlink validation and full extension-root membership checks to the eni dependency line.
  • Validate proof parameters before comparison.
  • Enforce bounded declared element frames while preserving the JVM-compatible treatment of bytes inside each frame.
  • Add a complete JVM-produced proof fixture for cross-runtime verification.

Invariant

A disclosed interlink is accepted only when its proof reconstructs the full extension root committed by the header, and malformed structural parameters or declared frames are rejected before proof comparison.

Base and coordination

This Draft is based on the exact eni head f76db92.

The corresponding upstream v0.30.0 work is tracked in ergoplatform#917 and ergoplatform#855.

Validation

  • NiPoPoW debug and release suites: 62/62.
  • Chain-generation suite: 19/19.
  • Framing matrix: 10/10.
  • JVM interoperability fixture checks: 9/9.
  • cargo check, rustfmt, and strict Clippy checks passed for the affected workspace.

Independent maintainer review and upstream CI are pending.

Coordinated consumers

@a-shannon
a-shannon marked this pull request as ready for review August 6, 2026 22:39
@a-shannon

Copy link
Copy Markdown
Author

Review acknowledgement: many thanks to Muadib for the thorough initial security review, the reproducible test cases, and the independent re-audit of this exact head (7d13d0d2). The re-audit reports the prior P0/P1 findings for this surface remediated and gives this revision an APPROVE verdict. Formal maintainer review and applicable CI remain separate gates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant