-
Notifications
You must be signed in to change notification settings - Fork 975
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
EIP-7594: Ask for recommandation about sampling #3825
Comments
I believe that scenarios A (both A-1 and A-2) present significant challenges for nodes where For example, if As the value of This issue does not arise in scenarios B-1 and B-2. |
@nalepae ,apologies for the late reply. I think an important thing to highlight here is the difference between the role of custody and the role of sampling, and the different assumptions around public deterministic assignment and local random (and partially hidden) selection. I was writing about this in detail in my FullDAS writeup. The part about the differences is valid also here, in PeerDAS. Another important element is how you can count with reconstruction. If you yourself can reconstruct, the data was not withheld (at least not from you), so you can regard it as available. Basically, you have it all, like In the current system. That is, you have certainty, which is better than the probabilistic guarantees a sampling can give you. With that premise, regarding Scenarios A/B:
Regarding A-1/B-1 vs. A-2/B-2: The part I don’t understand is why you think that already having some of the Taking the case of Also note that you can always try retrieving the same column again, from the same node or from others. You can also use IncrementalDAS and retry missing columns at the same time. Overall, I would use the "X-1" type selection (A-1 or B-1), because I think that's what gives you a "uniform" level of security. Then, If I could reconstruct, I would stop the sampling (no need to actually do the reconstruct for the sake of sampling, but we ask for reconstruction to serve columns and help the system). This does not mean that other options are wrong. I think you can use B-2 without negative consequences. You do slightly more work than a node using A-1, and you also get enough guarantees (and in some cases even a bit more) with B-2. |
Thank you for your clear response!
I agree with you. That's why I later introduced the B-1/B-2 scenarios. |
Let's define:
c
as the number of columns (currently,128
)q
as the number of columns a node should custody (with a current minimum of4
)s
as the number of columns a node should sample (currently,16
)According to the specifications:
We can consider 4 scenarios:
Scenario A
Scenario A-1: The
s
columns to be sampled are chosen randomly from all available columns. If the node already custodies some of the columns to be sampled, these columns are then excluded from the sample set.0 <= q < s
: The node will sample betweens - q
ands
columns.s <= q <= c
: The node will sample between0
andc - q
columns. Particularly, if thes
columns to be sampled are a subset of theq
custody columns, then the node won't sample any columns.Scenario A-2: The node's custody columns are excluded before selecting the
s
columns for sampling.0 <= q < c - s
: The node will sample exactlys
columns.c - s <= q <= c
: The node will sample exactlyc - q
columns.Scenario B (hypothesis:
c
is an even number)For scenario B, we introduce the following constraint:
q + s <= c/2
.This constraint is based on the fact that when
q + s = c/2
, we can already reconstruct all the columns when sampling is successful. Therefore, havings > c/2 - q
is unnecessary.Scenario B-1: The
s
columns to be sampled are chosen randomly from all available columns. If the node already custodies some of the columns to be sampled, these columns are then excluded from the sample set.0 <= q < s
: The node will sample betweens - q
ands
columns.s <= q < c/2
: The node will sample between 0 andc/2 - q
columns. Particularly, if thes
columns to be sampled are a subset of theq
custody columns, then the node won't sample any columns.c/2 <= q <= c
: The node won't sample any column.Scenario B-2: The node's custody columns are excluded before selecting the
s
columns for sampling.0 <= q < c/2 - s
: The node will sample exactlys
columns.c/2 - s <= q < c/2
: The node will sample exactlyc/2 - q
columns.c/2 <= q <= c
: The node won't sample any column.Advantage of scenarios A: The selection of columns to sample is independent of the node's custody set.
Disadvantages of this scenarios A: The number of columns to be sampled is uncertain and could be zero in Case 2.
Advantages of this scenarios B: The number of columns to be sampled is clearly determined by the values of
c
,q
, ands
, and will only be zero whenq = c
(for supernodes) for B-1 or whenq >= c/2
for B-2.Disadvantages of this scenarios B: The selection of columns to sample is not independent of the node's custody set.
Currently, Prysm implements scenario B-2 on its
peerDAS
branch.Question: Are there any recommendations or warnings regarding the use of any of the described scenarios?
The text was updated successfully, but these errors were encountered: