Rendered at 06:52:11 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
jp57 15 hours ago [-]
This is interesting, though I'd point out that "consensus" actually means something different than a simple majority agreement. It means "broad agreement". Almost nobody would consider a 51/49 vote split among a large group as consensus; and even 3/2 in a committee of five would be a stretch, especially if the two in the minority are united on an opposing alternative proposal.
I'm not sure that invalidates the core of the post, though, since I think a different consensus criterion could be substituted without losing the substance of the game.
curtisf 14 hours ago [-]
"Consensus" in this post refers to the "consensus problem", which is a fundamental and well-known problem in distributed systems.
It's not about political consensus.
However, the paper that introduced it and proved it possible, Lamport's "The Part Time Parliament", used an involved (and often cited as confusing) "Parliament" metaphor for computers in a distributed system
"Consensus" in distributed systems need not be limited to majorities; it really just requires no "split brain" is possible. For example, "consensus" is achieved by making one server the leader, and giving other servers no say. A majority is just the 'quorum' which remains available with that largest number of unavailable peers possible.
jerf 14 hours ago [-]
As feedback to the author, I made the same mistake initially. It was only around halfway through when I realized the voters in question didn't necessarily care what they were voting for in the usual preferential or political sense, only that they were trying to have any consensus at all.
Looking back at the page again from the top, I see the first paragraph references Paxos, which is a clue to those who know what that is, but I think using "There’s a committee of five members that tries to choose a color for a bike shed" as the example, which is the canonical case for people arguing personal preferences and going to the wall for them at the expense of every other rational consideration, threw me back off the trail. I'd suggest perhaps the sample problem being something as trivial as that in reality, but less pre-loaded with the exact opposite connotation.
hammock 13 hours ago [-]
> it really just requires no "split brain" is possible. For example, "consensus" is achieved by making one server the leader, and giving other servers no say.
Which is funny, because that actually describes political consensus as well, functionally, even if it’s not what people typically think of as the definition.
If you can effect enough of the right censorship or silencing or cancelling, you can achieve consensus (aka no split brain, at least no split with agency)
stoneman24 14 hours ago [-]
And that’s before we look at whether the participants form a quorate group (sufficient people are present to make a valid choice).
Then we could consider whether all participants have the same voting power. My son has a strong vote on what to paint his room but much less on where to go on holiday.
Need to consider whether the votes could be hidden and revealed at the end to avoid intimidation.
nogha 14 hours ago [-]
Green Team Wins is a board game that is based on consensus. Players answer simple questions that don’t really have a correct answer. Eg. Pie or Cake. The answer with the majority wins. It’s a fun game to play with family or coworkers.
> Here, you asked R0, R2 and R3 to abstain from casting further votes in the first three columns, signified by black x.
If I can ask them to do that, and rely on them to go along with what I ask - why not skip all the middle steps and ask them all to vote for red?
grogers 7 hours ago [-]
In this incarnation, the only one who "wants" red to win is the first column. Every other column will choose whatever color it wants to win, subject to the rules of the game.
It's a 2 step process:
1. Prepare - Collect a majority of rows such that each of them promises not to accept any color sent by columns to the left of the proposing column. Any colors which were already accepted are sent in reply, along with the column they were accepted in (if different colors were accepted, only the rightmost column for a given row matters). The color to be propagated by the proposer is that with the rightmost column number (or if none were accepted by that particular majority, anything may be selected)
2. Accept - for every row, set the color to the one chosen in step one for the proposing column, subject to the promises made in step 1.
In this case, it's not shown well in the diagram, but by having a majority of rows promise for column 2, column 1 would already have a broken majority. Even if column 4 wanted red, since it received some already accepted colors, it has to choose from one of them based on the rightmost column (blue in this case)
grogers 7 hours ago [-]
The final diagram is a bit confusing, so it's worth pointing out one additional thing. It appears that R5 could vote green in column 2 and have green be agreed by a majority, even though in column 4, we are committing to blue as the value. However, as part of allowing blue to be selected in column 3, R5 must have already promised NOT to accept green in column 2. A more complete final diagram would show X's in all the appropriate cells.
gus_massa 14 hours ago [-]
I still don't understand the idea, but two questions anyway:
Why did R2 vote on the 6th column instead of the 1st one?
Why not just pick the leftmost column that has tree votes as the winner?
I'm not sure that invalidates the core of the post, though, since I think a different consensus criterion could be substituted without losing the substance of the game.
It's not about political consensus.
However, the paper that introduced it and proved it possible, Lamport's "The Part Time Parliament", used an involved (and often cited as confusing) "Parliament" metaphor for computers in a distributed system
"Consensus" in distributed systems need not be limited to majorities; it really just requires no "split brain" is possible. For example, "consensus" is achieved by making one server the leader, and giving other servers no say. A majority is just the 'quorum' which remains available with that largest number of unavailable peers possible.
Looking back at the page again from the top, I see the first paragraph references Paxos, which is a clue to those who know what that is, but I think using "There’s a committee of five members that tries to choose a color for a bike shed" as the example, which is the canonical case for people arguing personal preferences and going to the wall for them at the expense of every other rational consideration, threw me back off the trail. I'd suggest perhaps the sample problem being something as trivial as that in reality, but less pre-loaded with the exact opposite connotation.
Which is funny, because that actually describes political consensus as well, functionally, even if it’s not what people typically think of as the definition.
If you can effect enough of the right censorship or silencing or cancelling, you can achieve consensus (aka no split brain, at least no split with agency)
Then we could consider whether all participants have the same voting power. My son has a strong vote on what to paint his room but much less on where to go on holiday.
Need to consider whether the votes could be hidden and revealed at the end to avoid intimidation.
https://boardgamegeek.com/boardgame/347805/green-team-wins
> Here, you asked R0, R2 and R3 to abstain from casting further votes in the first three columns, signified by black x.
If I can ask them to do that, and rely on them to go along with what I ask - why not skip all the middle steps and ask them all to vote for red?
It's a 2 step process:
1. Prepare - Collect a majority of rows such that each of them promises not to accept any color sent by columns to the left of the proposing column. Any colors which were already accepted are sent in reply, along with the column they were accepted in (if different colors were accepted, only the rightmost column for a given row matters). The color to be propagated by the proposer is that with the rightmost column number (or if none were accepted by that particular majority, anything may be selected)
2. Accept - for every row, set the color to the one chosen in step one for the proposing column, subject to the promises made in step 1.
In this case, it's not shown well in the diagram, but by having a majority of rows promise for column 2, column 1 would already have a broken majority. Even if column 4 wanted red, since it received some already accepted colors, it has to choose from one of them based on the rightmost column (blue in this case)
Why did R2 vote on the 6th column instead of the 1st one?
Why not just pick the leftmost column that has tree votes as the winner?