Skip to content
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

Account for transaction expiration in Crosslink's model of contextual validity #159

Open
daira opened this issue Aug 23, 2024 · 0 comments
Labels
content improvement A content improvement less substantial than a design suggestion Crosslink An issue related to the Crosslink construction

Comments

@daira
Copy link
Collaborator

daira commented Aug 23, 2024

Suggested Improvement

In The Crosslink Construction — Model for best-chain protocols (Π{origbc,bc}):

We assume that the only reasons for a transaction to be contextually invalid are that it double‑spends, or that an input is missing.

Another reason for a transaction to be contextually invalid in Zcash is that it has expired.

The reason given to make the above assumption was stated as:

It is needed for equivalence of the following two ways to construct LOG{fin,bda}​:

  • Concatenate the transactions from each bft‑block snapshot of a bc‑chain, and sanitize the resulting transaction sequence by including each transaction iff it is contextually valid.
  • Concatenate the bc‑blocks from each bft‑block snapshot of a bc‑chain, remove duplicate blocks, and only then sanitize the resulting transaction sequence by including each transaction iff it is contextually valid.

This reason is specific to Crosslink 1. In Crosslink 2 (or 2*) we do not need sanitization at all.

Even in Crosslink 1, it would have been fine to allow expiration as a contextual transaction validity rule, because it would have been sufficient to add this point to the equivalence argument:

  • If a transaction is omitted due to expiration, then any subsequent time it is checked, it will still be expired.

The folded section "Is this model of contextual validity sufficient for Zcash?" also does not take expiration into account.

@daira daira added content improvement A content improvement less substantial than a design suggestion Crosslink An issue related to the Crosslink construction labels Aug 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content improvement A content improvement less substantial than a design suggestion Crosslink An issue related to the Crosslink construction
Projects
None yet
Development

No branches or pull requests

1 participant