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

Make the Coordinator act as "aggregator" instead of the server #251

Closed
conradoplg opened this issue Jul 4, 2024 · 0 comments · Fixed by #265
Closed

Make the Coordinator act as "aggregator" instead of the server #251

conradoplg opened this issue Jul 4, 2024 · 0 comments · Fixed by #265
Assignees

Comments

@conradoplg
Copy link
Contributor

Currently, the server acts as an "aggregator", aggregating commitments before making them available to the Coordinator and aggregating signature shares in the same way.

However, ideally the server should handle as little protocol logic as possible. Thus we could shift this role to the aggregator, and then the server would truly simply carry messages back and forth between participants. The upsides are:

  • Simplified server;
  • Less metadata revealed to the server;
  • Makes it easier to add encryption/authentication;
  • Makes it easier to migrate to a P2P solution.

Change the server, removing most of current function and shifting the logic to the Coordinator (it's probably possible to reuse the State handling there), and add new "send" and "receive" functions that allows sending a message to one (or more) participants, and getting the messages that belong to the requesting user. (This will also require a message queue of sorts).

We can, in a separate issue, try to use websockets to have a push notification mechanism to allow participants know when they have new messages.

Diagrams for the old and the new architecture:

image
image

@conradoplg conradoplg self-assigned this Jul 4, 2024
@mpguerra mpguerra linked a pull request Jul 19, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

1 participant