You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Current payload dispersal logic uses a single cert verifier address to get quorums prior to dispersal, and also to verify the eigenDACert after dispersal
The issue is that once there is a potential for dynamic cert verifier address changes, the cert verifier address input parameter is only a guess on the part of the dispersing client, for which cert verifier address is the correct one for the new blob. It's not possible to know for sure which cert verifier address is correct until the disperser has chosen an RBN
Solution
Instead of passing in a cert verifier address to SendPayload, the dispersing client should pass in a callback, which knows how to fetch the correct cert.
The callback will be invoked once prior to dispersal, to yield a cert verifier address from which required quorums may be fetched
The callback will be invoked once after dispersal, to yield the cert verifier address which is guaranteed to correspond to the RBN chosen by the disperser
If there is a discrepancy between the two cert verifier addresses used, this isn't a problem:
If the quorums fetched from the first address yield a blob which is verifiable with the new cert verifier address, then everything will work smoothly
If the quorums fetched from the first address yield a blob which isn't verifiable with the new cert verifier address, then the dispersing client will become aware of the failure prior to publicizing the resulting eigenDACert, and will be able to re-attempt dispersal using the correct cert verifier address
The text was updated successfully, but these errors were encountered:
Problem
Solution
SendPayload
, the dispersing client should pass in a callback, which knows how to fetch the correct cert.eigenDACert
, and will be able to re-attempt dispersal using the correct cert verifier addressThe text was updated successfully, but these errors were encountered: