cryspen / cryspen/mls-partial

Section 6: incoherent definition of direct_path_nodes, etc.

Open
#12 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
F*
Stars
0
Forks
2
PR merge metrics
No merged PRs in 30d

Description

[Section 6](https://www.ietf.org/archive/id/draft-kiefer-mls-partial-00.html#name-membership-proofs-and-parti) contains the definition of the `MembershipProof` struct, which includes this weird line:

`optional direct_path_nodes;`

- this is not a supported syntax of the optional keyword
- it is not clear why optional is needed vs. a zero-length vector of Nodes.
- the order of the nodes is not specified. Is the first node the leaf or the root?

I'm assuming that the `copath_hashes` vector is in the same order, but has one fewer item than the `direct_path_nodes` vector. Is that correct?

Finally, in this phrase:

> Two membership proofs are said to reference the same tree if their n_leaves fields are equal, and they produce identical root tree hashes.

It isn't immediately clear why the hash isn't enough or why you wouldn't include other fields like the leaf index.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.