-
Notifications
You must be signed in to change notification settings - Fork 157
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
Address "intended usage" descriptions in the protocol #42
Labels
Comments
This would be a huge change to the spec and I'm not actually proposing we do it, just documenting the idea. |
I think there are irreconcilable conflicts between this and the abstract/concrete split that @elibensasson wanted, which is what I'm going with. |
daira
added a commit
to daira/zips
that referenced
this issue
Nov 8, 2023
) This removes the transaction structure fields from ZIP 226 in favour of adding them to ZIP 230, for the v6 Transaction Format. --------- Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com> Co-authored-by: Daira Hopwood <daira@jacaranda.org> Co-authored-by: str4d <thestr4d@gmail.com> Co-authored-by: Paul <lauxpaul@protonmail.com> Co-authored-by: Antoine Rondelet <rondelet.antoine@gmail.com> Co-authored-by: Constance Beguier <constance@qed-it.com>
daira
added a commit
to daira/zips
that referenced
this issue
Feb 7, 2024
) This removes the transaction structure fields from ZIP 226 in favour of adding them to ZIP 230, for the v6 Transaction Format. Co-authored-by: Deirdre Connolly <durumcrustulum@gmail.com> Co-authored-by: Daira-Emma Hopwood <daira@jacaranda.org> Co-authored-by: str4d <thestr4d@gmail.com> Co-authored-by: Paul <lauxpaul@protonmail.com> Co-authored-by: Antoine Rondelet <rondelet.antoine@gmail.com> Co-authored-by: Constance Beguier <constance@qed-it.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Eli noted a lot of "intended usage" in our protocol spec. Basically, the protocol.pdf is written from an implementers perspective where the reader is assumed to be the full node and we discuss what the reader should / shouldn't do given what it sees from other parties in the protocol. In order to do a proper security review, the reader needs to make a mental leap along the lines of "I'm like this, and there are a lot of other people like this, but they might not behave exactly like this, and some might behave nothing like this."
We can fix this by separating the protocol into three parts:
This is sort of like what the Zerocash paper does, except (1) and (2) aren't separated in the Zerocash paper. An advantage is that there'll be a more 1:1 mapping between sections of the paper and parts of the code (e.g. in (1) we can list the files where those data structures are implemented). A disadvantage is that it would take me a lot longer to understand the protocol if I had to read it this way, which is why it took me so long to understand it from the Zerocash paper, but OTOH I would be able to implement it from the spec without even understanding it.
This is related to #32. I'm not sure if this would address Eli's comments, since transactions still have agency (they're seen as programs running on full node weird machines).
The text was updated successfully, but these errors were encountered: