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

Add support for Light MLS #436

Merged
merged 32 commits into from
Nov 5, 2024
Merged

Add support for Light MLS #436

merged 32 commits into from
Nov 5, 2024

Conversation

bifurcation
Copy link
Contributor

As described in draft-kiefer-mls-light-01.

This PR enables clients to join and participate in groups without having the full ratchet tree. There are a few major changes:

  1. The storage for nodes in TreeKEMPublicKey is changed from an array to a map. Actually two maps, one storing node values and one storing node hashes.
  2. AnnotatedWelcome and AnnotatedCommit structs are added, with handlers on State to process them
  3. Some changes in TreeKEM logic to support working without the whole tree
  4. An mls_ds library is added for tools that are useful in constructing a DS. In particular, a class that follows the evolution of a group's ratchet tree based on the Commits in the group

Copy link
Contributor

@suhasHere suhasHere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me. I have not deeply verified the tree math though but others flows looked fine. Thanks

Comment on lines 1065 to 1067
const auto force_path = request->force_path();
const auto inline_tree = !request->external_tree();
const auto include_membership_proof = false;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking at this, we haven't updated this code since we moved to AnnotatedWelcome. I'll update and request re-review.

@bifurcation bifurcation merged commit 7ee4705 into main Nov 5, 2024
7 checks passed
@bifurcation bifurcation deleted the annotated-commit branch November 5, 2024 22:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants