Proof of custody, evidence that you really hold the data

Strawmap Beyond that (Long term) · proofs of custody

This is a mechanism that makes validators cryptographically prove that they actually downloaded and stored blob data. It prevents the behavior of signing without checking the data.

Why it is needed

Ethereum protects data availability by having validators share the storage of the blob data that rollups post and sign (attest) that the data was well distributed. The problem is that from the signature alone there is no way to know whether that validator really downloaded the data. A validator can copy another validator's signature and still receive the same reward, so lazy validators that do not check the data can appear. If many such validators exist, a situation could arise in which everyone has signed that the data exists but in reality nobody holds it. Proof of custody has the validator, when signing, also submit the result of a computation that mixes the data with a secret value only that validator knows. Without the data, this value cannot be produced. When the secret is revealed later, anyone can catch a false signature and have the validator penalized. This makes a signature saying the data is held trustworthy. In the Strawmap this item is placed as a long-term task rather than in a specific fork and is marked as uncertain to be realized. It is still at the research stage, so the design may change or it may be dropped.

How it works

  1. Commit to a secret in advance At regular intervals a validator picks a secret value only it knows and publishes only a commitment to that value first. The secret itself stays hidden for now.
  2. Mix it with the data and sign After downloading the blob data, the validator mixes the data with the secret to compute a short value and includes it in its attestation. Without the data, this value cannot be produced correctly.
  3. Reveal the secret and get checked When the period ends, the secret is revealed. Anyone can recompute with that value to check whether the signature was correct, and if it was wrong they can raise a challenge and cut that validator's deposit.

← Roadmap