celestiaorg / celestiaorg/celestia-node

More efficient block reconstruction in withholding attacks via chunk bitmap

Open
#2,626 0 comments 0 reactions 0 assignees View on GitHub
external needs:triage
Dominant language
Go
Stars
996
Forks
1.1k
Avg merge
1d 6h
Merged PRs (30d)
34

Description

Right now, if there's a withholding attack, reconstruction occurs by full nodes "bruteforcing" light nodes with different chunk requests via bitswap, which is very slow for larger blocks, as for a 256x256 square, this would be 100,000+ chunks.

We can make the protocol more efficient by having full nodes ask light nodes for a bitmap of the chunks they have.

Full nodes would send light nodes a request `QueryKnownChunks` to a light node. The light node would respond with a bitmap where each bit would represent a different chunk, and if that bit is set to `1`, then the light node has that chunk. The full node would then be able to query the light node for the specific chunks it has, rather than bruteforcing them.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.