Skip to content

[runtime]: pharos-verifier - derive the MSU root slot offset from the key#917

Merged
Wizdave97 merged 1 commit into
mainfrom
dami/pharos-verifier-updates
May 28, 2026
Merged

[runtime]: pharos-verifier - derive the MSU root slot offset from the key#917
Wizdave97 merged 1 commit into
mainfrom
dami/pharos-verifier-updates

Conversation

@dharjeezy
Copy link
Copy Markdown
Contributor

The Pharos SPV walk read the MSU root child slot at the prover supplied next_begin_offset, which let a prover point a proof at an unrelated MSU subtree and forge non existence proofs. The verifier now derives the slot offset from the key itself as key[last] * 32 (the 20 byte address for account proofs, address concatenated with the storage key for storage proofs) and rejects the proof when the prover offset does not match. This runs through the shared walk, so existence, membership and non existence proofs, including sibling chains, are all covered.

@dharjeezy dharjeezy requested a review from Wizdave97 May 26, 2026 10:49
@dharjeezy dharjeezy changed the title [runtime]: derive the MSU root slot offset from the key [runtime]: pharos-verifier - derive the MSU root slot offset from the key May 27, 2026
@Wizdave97 Wizdave97 marked this pull request as ready for review May 28, 2026 06:50
@Wizdave97 Wizdave97 merged commit e90f0d9 into main May 28, 2026
10 checks passed
@Wizdave97 Wizdave97 deleted the dami/pharos-verifier-updates branch May 28, 2026 09:01
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.

2 participants