Protocol version 2 #85
igor-sirotin
started this conversation in
Ideas
Replies: 1 comment
-
By the way, maybe it's better to soft-delete issues to prevent potential collisions. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
There're 2 main problems with protocol V1.
1. Disable dealer to rig the vote
Problem
In current protocol there's no way (except visual check) to check the validity of other player's vote.
The dealer is able to write any votes by any players and distribute it to other players.
Proposed solution
Same applies to online/offline messages. And basically any messages sent by player.
2. Reduce network load and decrease "dealer-centralization"
Problem
We're harassing waku network by 2 simplifications:
State
message to everyone.json
instead ofprotobuf
Proposed solution 1
Not sure, maybe keep the symmetric encryption on top of assymetric encryption.
Proposed solution 2
Not sure, maybe keep the symmetric encryption on top of assymetric encryption.
3. Split
State
messageProblem
Currently we send fully
State
message on any change of it's properties:2-story-points-cli/pkg/protocol/state.go
Lines 9 to 16 in ef759ff
I.e. any new player, issue or even a single vote, leads to full State redistribution.
This is obviously not needed, only updated parts should be resent.
Proposed solution
Introduce
VoteID
.This should be some form of
RoomID
, that will keep the encryption key as secret.Introduce
IssuesDescirption
,PlayersList
andDeck
messagesBelow is the idea with example for
IssuesList
, but the logic applies for all of the new proposed messages.It should be distributed any time:
This messages should not be part of global
State
message.This message probably shouldn't contain vote. Though not sure how to retrieve history then. 🤔
Introduce a message for Clause 2 (issue private key / revealed votes)
I don't like to store revealed votes separately from the issue list. But maybe it's not that bad?
Beta Was this translation helpful? Give feedback.
All reactions