Skip to content

Blind all blocks before QBFT #630

@dknopik

Description

@dknopik

We can sign beacon blocks without knowing the full execution payload or the blobs - this is how MEV works. Blocks without execution payload and blobs are called "blinded".

We can use this fact to our advantage for the upcoming Fulu fork: Even if the payload and blobs are known (i.e. the block is self-built), we should propose a blinded variant in QBFT to cut down the bandwidth needed in QBFT significantly. This becomes relevant starting with Fulu as the maximum amount of blobs will rise significantly.

However, care must be taken. We still need to gossip the full block and blobs to the ETH2 network after signing. This will be the responsibility of the proposing node.

We need to modify sign_block: if a non-blinded block is passed, blind it, and pass it to QBFT. Sign the decided block. However, if (and only if) the signed block matches the block we proposed, we must "unblind" it, in order to gossip the blobs.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions