-
Notifications
You must be signed in to change notification settings - Fork 134
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
[meta] settle on a voting solution #1165
Comments
SGTM |
I think @aduh95 should run with this. We can always revisit at a later date, but right now, they're invested and have a proposal and no one else seems to have strong concerns. 👍 |
FWIW, if we do go with a cryptographic design, I'm still in favor of one that makes strong guarantees about distributed trust. We could look into Helios, but we probably don't want anonymous votes. I still like the idea of a web app that does all the magic in the browser using GitHub APIs.
This is an ad hoc design that I've only partially implemented, and it might be overengineered but I failed to come up with a simpler design that has the same (or better) security properties. It relies on Shamir's secret sharing (sharing the secret free coefficient of a polynomial), Diffie-Hellman (ECDH/X25519/X448), and symmetric encryption. It can optionally incorporate digital signatures (ECDSA/Ed25519/Ed448) in any of the steps to avoid the need of commit signing. Short version
I am not saying we should use this (or any) cryptographic scheme, but if we do want to use any cryptographic scheme, it should have these (or similar) security properties. Happy to collaborate on design and/or implementation. |
If it’s not anonymous, this all seems a bit more complex than a signed and verified commit to a file in a voting repo (codeowners could be used to ensure that the only person changing their votes file is that person) - is there a reason that wouldn’t be sufficient? |
See #1158 (comment). |
I'm not sure this would be actually practical, I suppose we'd need to keep the associated private key somewhere – or we'd need to keep the GHA runner pending until the vote closes, but IIRC it would get killed by Github after 600 minutes. Rest of it looks neat, and better than what I suggested :) I'll try to allocate some time to work on this soon-ish. |
@aduh95 my take is that we may have settled on using your voting solution. Can this issue be closed? |
Most of it is implemented already, but I would still like to add automations and documentations to allow a vote to take place without me to set it up. |
@aduh95, k thanks for the update. |
@aduh95 just wondering if there is an update on this. |
Yes I have some update! @stduhpf and I worked on a new version of Caritat taking into account the feedback received. Next steps are:
The technical choices we made that are arbitrary and can be discussed:
|
@aduh95 I think we've been using the approach/tooling suggested in this issue for a while now. Does it make sense to close the issue? |
I've opened #1636 to reflect the important points of the solution we going in with. However, whether or not the charter gets updated, I agree it's time to close this issue as completed. |
Every time we have to vote on a non-binary issue (where there are more options than "yes", "no", and "abstain"), we have to discuss what tool to use, and I think it'd be useful to have a "blessed" tool for voting.
I've proposed my own Caritat tool for the most recent vote, here are a few things I didn't like about it:
For those points, there are workarounds:
Whether we keep Caritat or not as a tool, I think we should use a system that uses git and GitHub to aggregate ballots. It's easy to audit, and it's probably fair to say everyone is comfortable with those tools already.
There are some settings we should tweak to improve the voting system:
What does everyone think?
The text was updated successfully, but these errors were encountered: