Live data from Hacker News

Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

arxiv.org

41–50 of 59 posts

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#41
One of the big gaps in Raft is that it’s hard to manage leader election on a heterogenous network. Everyone has or knows a story about the tiny branch office we keep for the CTO’s nephew or that engineer who decided to move to Colorado and quit if he couldn’t work from there, getting elected leader and the whole system limping to a halt.

In the case of Raft it would benefit I think from having an instant runoff election process. Where three nodes are nominated and everyone votes on which one has the best visibility.

At the very least I can see a way to use latency to determine who to vote for, to manage a fast election instead of timeouts and retries.

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#42
post #25

* As others have pointed out, Paxos is leaderless. Electing a leader is a performance trick (reduce contention/retries), not a correctness trick - if you want to order your events. * EPaxos appears to relax ordering as long as the clients can declare their event-dependencies. Q1) If I withdraw from ATM 1 and someone else withdraws from ATM 2, we are independent consumers - so how do we possibly coordinate which withd…

The two commands affect the same account balance, so they don't commute, so these commands conflict. Every EPaxos worker is required to be able to determine whether any two commands are conflicting, in this case it would be something like:

def do_commands_conflict(c1): return len(write(c1) & read(c2)) > 0 or len(write(c2) & read(c1)) > 0 or len(write(c1) & write(c2)) > 0

Whenever an EPaxos node learns about a new command, it compares it to the commands that it already knows about. If it conflicts with any current commands, then it gains a dependency on them (see Figure 3, "received PreAccept"). So the commands race; the first node to learn about both of them is going to determine the dependency order [in some cases, two nodes will disagree on the order that the conflicting commands were received -- this is what the "Slow Path" is for].

The clients don't coordinate this; the EPaxos nodes choose the order. The cluster as a whole guarantees linearity. This just means that there's at least one possible ordering of client requests that would produce the observed behavior; if two clients send requests concurrently, there's no guarantee of who goes first.

(in particular, the committed dependency graph is durable, even though it's arbitrary, so in the event of a failure/restart, all of the nodes will agree on the dependency graph, which means that they'll always apply non-commuting commands in the same order)

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#43

There is a recurring trend of interpreting democracy to mean "leaderless consensus-based decision-making", which really doesn't work and never has. That's why Occupy and pretty much every other similar bottom-up movement failed: leaders are necessary. People follow other people, not algorithms or groups. "Making democracy work" should be about training better leaders and getting them into the system.

Occupy did not fail, it successfully shifted the entire national political conversation of the United States toward considerations of the class warfare being waged by the wealthy against the general population in ways that are continuing to publicly echo in campaigns and policy discussion ever since

The fact they get brought up in such conversations still is proof of that, however i would counter that they failed in their main stated objectives and were dismantled, beaten, even ridiculed in public for it. They became a stark reminder that the rich are far too powerful.

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#44
post #41

One of the big gaps in Raft is that it’s hard to manage leader election on a heterogenous network. Everyone has or knows a story about the tiny branch office we keep for the CTO’s nephew or that engineer who decided to move to Colorado and quit if he couldn’t work from there, getting elected leader and the whole system limping to a halt. In the case of Raft it would benefit I think from having an instant runoff elect…

If a node thinks it's better suited as leader, it can always force an election immediately for the next term. Things could go badly if you're wrong though

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#45

There is a recurring trend of interpreting democracy to mean "leaderless consensus-based decision-making", which really doesn't work and never has. That's why Occupy and pretty much every other similar bottom-up movement failed: leaders are necessary. People follow other people, not algorithms or groups. "Making democracy work" should be about training better leaders and getting them into the system.

You are confusing "democracy as used colloquially for government" and "democracy as used by computer scientists to design systems that still work on failure prone networks"

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#46

There is a recurring trend of interpreting democracy to mean "leaderless consensus-based decision-making", which really doesn't work and never has. That's why Occupy and pretty much every other similar bottom-up movement failed: leaders are necessary. People follow other people, not algorithms or groups. "Making democracy work" should be about training better leaders and getting them into the system.

Democracy which is all about "leaders" is not democracy. Find another word.

Exactly and that's why the US should be called a Constitutional Republic. At state level it's often much more democratic but federally, the US is not a (direct) democracy and shouldn't be called so by the media in matra-like manner. Watching CNN or MSNBC with bourbon shots on "democracy" is a drinking game that typically won't last the evening.

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#47

Earlier quoted context omitted.

I wouldn't say so. The first years of the largest war in Europe since WWII have shown that a leaderless EU is incapable of making important decisions crucial to its own survival, as a fallen Ukraine would have led to a divided EU where many countries would be governed by authoritarian fascist regimes, such as the one in Hungary led by Orban.

I feel like you're a bit tendentious and exaggerated in your assessments.

People don't get a say in the people's decision that they didn't elect. I thought it's pretty spot on.

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#48
post #19

otrack et al.: Thank you and congratulations! It's gratifying seeing the wheels of research make progress. My appreciation of formal and machine-checked proofs has grown since we wrote the original EPaxos paper; I was delighted at the time at the degree to which Iulian was able to specify the protocol in TLA+, but now in hindsight wish we (or a later student) had made the push to get the recovery part formalized as w…

msc thesis only left. happy to do it with a twist. training an ml model to speed up proof generation and verification.

can you share more?

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#49
post #14

Earlier quoted context omitted.

> the future of politics is markets & Blockchains. That just sounds like robber barons with extra steps?

you don't understand why technology of public ledgers would benefit public ledgers?

> you don't understand why technology of public ledgers would benefit public ledgers?

I do understand that but public ledgers benefiting themselves isn't the point, benefiting the public is, and you seem to imply it - if you don't, please ignore the rest of this comment.

I'd like to join paulryanrogers and ask for a proof because I don't see the public benefits of bitcoin - aiding criminals is the opposite of that.

Re: Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

#50

Earlier quoted context omitted.

Electing or choosing leaders is how democratic systems have functioned, in one way or another, since the beginning of the concept.

Then it has never existed.

It is commonly recognized that Democracy could not exist at a granularity where everyone verifiably gets to contribute to every decision (even if only to abstain), including throughout the resolution of unsettled downstream decisions during implementation of settled upstream decisions.

This is very much not a surprise to anyone.

For any Democratic system to work, it must include systems of delegation.

One can usefully talk about tradeoffs of different kinds, granularity, processes and limits of delegation.

Post reply on HN