-
Notifications
You must be signed in to change notification settings - Fork 86
Document Missing Dependencies in STF Equations #491
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
base: main
Are you sure you want to change the base?
Conversation
…a, and tau for signature verification (10.3)
…a for signature verification (11.13)
…(11.33), alpha (11.23), delta (11.30), and eta_prime, kappa_prime, lambda_prime, psi_prime (11.22)
davxy
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
alpha (11.23)
Typo in the description. I imagine you refer to [11.29](https://graypaper.fluffylabs.dev/#/1c979cb/155602155602?v=0.7.1
|
@davxy Thank you. I've updated the description to reference (11.29). |
|
Including dependencies for signature verification does not make sense to me. These can be verified in parallel. |
Indeed, computing the posterior value doesn't require on signature verification. The same reasoning applies to the timestamp as well. |
|
If signature verification fails the block is invalid and any computed posterior state is irrelevant. The dependencies for a particular value should include only what is necessary to compute that value. Whether the value itself is useful or not is irrelevant. |
|
@zdave-parity My rationale for explicitly listing all state components — including those used solely for signature verification — is as follows:
P.S. You’re right — signature verification can run in parallel with state mutation. That said, the same scheduling and mutation principles still apply to the components required for signature verification. Since we don’t list signature verification as a separate step, I think it’s reasonable to include those dependencies as part of the dependencies for the individual components that involve signature verification. |
AFAICT
The dependency graph section is purely informative and as such does not need to be comprehensive. If something is not included then it is implicitly left as an exercise for the reader. An argument could be made for including eg signature verification dependencies, but tacking them on to vaguely related terms is completely arbitrary, confusing, and somewhat defeats the purpose of the graph. |
|
Since the purpose is to help implementors get ideas for parallelization and keep the deps graph minimal, I agree we can omit state items used only for Xt validations. Also I think we should add If we'd like to add state items used only for Xt validation to the graph, we should add |
Agree. If we add |
|
@zdave-parity, @0xjunha If there’s consensus that dependencies required for signature verification can be omitted, I won’t insist on including them. This would remove kappa from (4.13), and kappa_prime, lambda_prime, and psi_prime from (4.14) in the proposed changes. I’ve updated the proposed changes and the description accordingly—please let me know if you have further feedback. P.S. I’m traveling this week, so my responses may be delayed. |
|
I think there is still a misunderstanding about what information the dependency graph is supposed to convey. The dependencies for some value x should include only the values required to actually compute x. That is, the values which (transitively) appear in the expression for x in the GP. Let's take It requires only |
Adds missing STF dependencies to Section 4.2.1 for clarity.
Details: