The following 4 flows retrieve blobs along with their kzg commitment:
- Synchronizer from Beacon Node
- Archiver from Beacon Node
- Syncrhonizer from Archiver
- Archiver from Archiver
The 4 cases receive the exact same data, so verifying the kzg commitments would work the same way in all cases.
The Beacon Node needs to be trusted because we use it for consensus, so we assume it's giving us the canonical chain.
But when we're using an Archiver to get blobs that a Beacon Node no longer has, we only need to trust the Beacon Node because we can just verify the kzg commitments against the blobs.
The following 4 flows retrieve blobs along with their kzg commitment:
The 4 cases receive the exact same data, so verifying the kzg commitments would work the same way in all cases.
The Beacon Node needs to be trusted because we use it for consensus, so we assume it's giving us the canonical chain.
But when we're using an Archiver to get blobs that a Beacon Node no longer has, we only need to trust the Beacon Node because we can just verify the kzg commitments against the blobs.