Skip to content

[coding] Remove redundant BMT proof verifications #1770

@clabby

Description

@clabby

Overview

While sampling #1680, I noticed that the reed solomon scheme redundantly verifies all shards against the commitment:

// Verify Merkle proof
if !chunk.verify(chunk.index, root) {
return Err(Error::InvalidProof);
}

The Scheme::decode interface mandates the use of checked shards, so these additional verifications are not necessary. Over time, they seem to add up to quite a bit of work (7.1% total samples in a 1000 block sync of alto):

Image

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions