On superblock double voting #1965
aesedepece
started this conversation in
Ideas
Replies: 1 comment 8 replies
-
I remember we had this discussion on Discord a while back where miners are not punished for double voting for different superblocks. I'm a bit wary of essentially letting miners just do whatever they want without repercussions. I can imagine there are scenarios where miners could collude in order to get their chain of events accepted by voting for multiple superblocks at the same time (either because this increases their rewards or because they try to manipulate data requests). |
Beta Was this translation helpful? Give feedback.
8 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
This is related to #1949 and #1389.
Double voting is the case in which one Witnet identity votes for two different superblocks for the same superepoch.
This is normally seen as a problem, because the whole 2/3rds assumption in our protocol (and many other protocols) is based on the idea that it is impossible for two different tips of the chain to get 2/3rds votes majority. For that assumption to hold, each identity must only be allowed to vote for one tip of the chain at a time.
In our case, AFAIK, if we receive 2 or more votes for different tips from the same identity, we drop both votes.
But at this point I don't see double voting as a problem for our protocol.
My personal take is that as long as we can define a protocol-level deterministic algorithm for prioritizing superblock double votes, this is a no-problem and we can start "double dropping" the double votes, which is not a penalty to the double voter but a penalty to the network as a whole, because odds are that many times you'll end up dropping an otherwise valid vote.
For example, we can define that in case that one identity voted multiple times, we always count and re-broadcast the vote with the lowest hash. If everyone follows this logic, the "worst" vote will fall flat and simply won't make it any further. On the contrary, the "best" vote will be propagated as usual.
I'm specially interested in @clbartoli and @mariocao chiming in, because they are the most aware about the assumptions that were taken when we last defined our strategy on double voting.
Beta Was this translation helpful? Give feedback.
All reactions