DemocracyEarth / paper

On self sovereign human identity.
http://democracy.earth
MIT License
617 stars 123 forks source link

A critique of the Social Smart Contract (SSC) paper #214

Open metamerman opened 6 years ago

metamerman commented 6 years ago

I'm just going to leave this here, all as one "issue" even though it is a wide ranging criticism not only of the paper, but of the underlying architecture. Which is actually one of the most serious problems: The paper doesn't seem to be clear on whether it is a technical document describing the design of a new system, or a "white paper" designed as part of a marketing plan to sell it. It has too little detail, especially concerning things like what the process (and risks) of implementation will be, to be the former, yet vastly more detail and technical specificity than is desireable for a document designed to be read and understood by the general public. In either case, this question should be answered in the document, but more importantly the underlying problems in the architecture being described should be addressed before this document, or that architecture, is released to the public.

Note that I have developed a competing decisionmaking system (https://www.proxyfor.me/) which was developed after extensive research of the systems proposed in this domain and which hopefully doesn't have the flaws that have been discovered in them. It no doubt has other issues, some of which I hope the participants in the SSC project will find as "payback" for this criticism of SSC. No offense is intended, but we must all acknowledge that we're all each other's best critics. I'll also post a document with my "rules of thumb" for design of new Electronic Direct Democracy systems as another "issue" for this project, FYI.

Here are my concerns (in rough priority order):

  1. For openers it seems odd to me that the proposed system is based on "Liquid Democracy" since there is considerable evidence that LD systems simply doesn't work the way they way they were designed to:
    • Both the Pirate Party (PP) run (as documented in Kling, Kunegis, Hartmann, Strohmaier, & Staab 2015 (http://www.matchism.org/refs/Kling_2015_LQFBforPP.pdf)) and the Google Votes run (as documented in Hardt & Lopes 2015 (http://www.tdcommons.org/cgi/viewcontent.cgi?article=1092&context=dpubs_series)) found a very low delegation rate (around 3% of votes). Which means the "Liquid" in "Liquid Democracy" is not a tangible component of the system (i.e., it might be better termed "Vapor Democracy").
    • The PP run also revealed that even when delegation is used, it is used inappropriately: Kling et al found a very low correlation between the votes of the delegate and those of the delegatees, so low in fact that "delegates" might as well have been chosen at random. The problem here is fundamental: Picking people to represent them seems to be a capability that is simply beyond the abilities of most, or perhaps even all, humans. Any system that relies on this apparently mythical ability, including Liquid Democracy and our current "misrepresentative democracies", is therefore fatally flawed.
    • There are mentions in both accounts of "supervoters/celebrities", proxies who acquire enough votes to become primary targets for corruption/coercion/etc. This is a fundamental design flaw in Liquid Democracy: The fact that it does not restrict the number of proxies an individual can carry encourages log-rolling and pandering behavior as delegates "compete" for votes from non-voters. And this doesn't even address the personality-specific aggregation issue (i.e., some personality types, particularly authoritarians and other conservatives, naturally aggregate whereas others do not, leading to disenfranchisement of those other personality/ideological types. See the FAQ in the Help system on https://www.proxyfor.me/ for more on this).
    • The "Golden Rule of Liquid Democracy" (imposing open voting for delegates) seems to be fundamentally incompatible with the "requirement" for secrecy specified elsewhere in the SSC document because it eliminates the primary benefit of Liquid Democracy over conventional misrepresenative democracy, namely that anyone can act as a proxy rather than only some "elite" that have different rules and requirements imposed on them in exchange for massively increasing their power.
    • After an extensive survey of the research in this area I've come to the conclusion that the secrecy requirement in SSC, or in any public policy decisionmaking system, is simply not necessary. Open voting has been a standard feature in democracies for thousands of years and it is only relatively recently that a small but vocal minority has fought for this "secrecy" feature, in most cases without any evidence that it is necessary (notably there were exactly zero reported incidences of coercion or individuals feeling any reluctance to vote due to the open voting policy in the PP run according to Kling (private communication)). Imposing secrecy as a requirement of any new decisionmaking system is therefore unjustifiable, and the people who would do so are the moral (and intellectual) equivalent of those who would disenfranchise a significant fraction of the population to prevent "voter fraud" (another essentially non-existent problem): Because it eliminates even the possibility of transparency the "cure" in this case is vastly worse than the "disease". The solution implemented in proxyfor.me is much simpler and yet ultimately more reliable and compatible with human desires and abilities: Open voting, but with proxies that are calculated rather than chosen by voters which drastically reduces the risk of corruption/coercion.
  2. Equating votes with money is just the US "Citizens United" decision all over again: Money in politics is the cause of corruption and it's completely baffling to me that equating votes with money is proposed as a fundamental operating characteristic of this system without even addressing the issue of corruption. It's also not clear to me what the available money flow routes are in SSC. For example can people "buy" additional votes by bringing more money into the system? Can people "sell" or cash out their UBI "votes" rather than using them to vote themselves?
  3. The video identification seems to me clever, but unworkable: First of all, it's too much trouble: Do I really have to redo it each time I shave or cut my hair? What about make-up, or hair color, or simply getting older? It also seems to me to be too easy to defeat with modern image-processing technology. And frankly, it's just another over-reaction to what is essentially an insignificant problem (i.e., it's just the voter fraud thing again). The proxyfor.me proposal is, again, vastly simpler and yet more reliable: People will just claim names off of the public voter rolls. There are no worries about ballot box stuffing due to the ability to create fraudulent accounts, and as a bonus it provides a strong incentive for people to sign up (if you're not using your account, who is?)
  4. The SSC paper is internally inconsistent: It at one point claims "No technology will ever be able to satisfy democratic aspirations if it can only be understood by an elite" and yet proposes an architecture that is so incredibly baroque that it might as well be the plans for a warp drive engine as far as the average person is concerned. In fact, I have a PhD in Cognitive Psychology and 30 years experience as a software engineer and this field has been my primary endeavor for the last 3 year and yet I'm sure I don't understand half the stuff in this paper despite having read it several times! IMHO it is at least an order of magnitude in complexity above what can be reasonably understood by a normie. The design of proxyfor.me is probably at or above that threshold, and yet is at the level of complexity of Lego Blocks compared with the SSC proposal.
  5. Statements like "enabling smart contracts without the need of Judiciary Courts" display a profound ignorance of what The Law really entails. Best to just leave this stuff out (i.e., courts don't write contracts, they interpret them, and if you don't understand the difference you're not doing yourselves or your projects any favors by boldly making completely bogus statements on the subject).
  6. I was confused by the statement "Throughout history only three kinds of sovereigns prevailed": For the first couple million years of human history (the Era of Evolutionary Adaptation, or EEA) there were neither "tribes" nor tribal leaders. Bands of a few dozen individuals operated on a far more egalitarian(i.e., individual sovereignty) basis than anything we've seen since the rise of agriculture. proxyfor.me, and the Matchism philosophy it is based on, is designed to function more like these pre-agricultural societies, the environment we evolved to function best in (for more on this, see the Matchism manifesto (matchism.org) or read one of Christopher Boehm's books such as "Moral Origins" and/or "Hierarchy in the Forest").
  7. One thing I like to keep in mind when working in this area is that, unlike most other startups, failures in this domain can have very high consequences. Beyond the obvious risks an uncontrolled (and underdesigned) revolution could have on The People's lives, simple failure is far more expensive here than for most other types of "products": If a high-profile project in this domain fails it will set back progress for years if not decades. That's a cost we can't afford, so it make sense to me to be extra careful that you really do have a viable solution before you go off promoting it. In the case of SSC it is especially important that you don't repeat the mistakes that have derailed previous projects, something that seems to me to be virtually guaranteed from what I see in the current design.
  8. Reading SSC one comes away with the impression is that blockchain is a hammer and those infatuated with it seem to consider every domain to be just another nail. At times pounding those nails even takes on a religious quality (Praise Be to the Blockchain!) The problem is (and at the risk of committing blasphemy!): It's questionable whether blockchain technology is even viable for what it was originally designed to do (i.e., implement money, the inherent design flaw being the huge, perhaps insurmountable, transaction costs and delay issues that effectively prevent it from being used as a general-purpose monetary system) let alone anything else. Certainly there is no coherent argument in this paper that blockchain is even an appropriate, let alone the best, technology on which to base a new decisionmaking system. In this case it looks more to me like a solution in search of a problem.
  9. While I'm on the subject of the almost mythical appeal of blockchain technology to those who distrust governments, I submit that the entire technology is based on the false premise that "The People" need ways to subvert the government. The problem is that this is based on a misconception: The government is an expression of the Will of The People. The fact that some (all?) governments seem to exploit the people they're are supposed to be assisting is merely the result of The People not being aware of the power they possess, or in some cases The People not having the tools they need to properly administer their government. The solution, therefore, is not to create a patchwork of subversive attempts to reduce government control, but instead to create the tools The People need to properly govern themselves and then to educate The People about how (and why) to use these tools. To propose otherwise is to work from a position of weakness and to abdicate The People's true responsibility and true power. Expressed like this, Bitcoin and other crypto-technologies can only be seen to actually be a part of the problem, not a part of the solution.

If you'd like to discuss these issues, I suppose we can do it here, but there are two other forums that might be more appropriate for it: The Metagovernment mailing list: http://metagovernment.org/mailman/listinfo/start_metagovernment.org The forums on the Matchism website: http://www.matchism.org/forum/

santisiri commented 6 years ago

great critique. i'll try to reply some of these points:

Both the Pirate Party (PP) run (as documented in Kling, Kunegis, Hartmann, Strohmaier, & Staab 2015 (http://www.matchism.org/refs/Kling_2015_LQFBforPP.pdf)) and the Google Votes run (as documented in Hardt & Lopes 2015 (http://www.tdcommons.org/cgi/viewcontent.cgi?article=1092&context=dpubs_series)) found a very low delegation rate (around 3% of votes). Which means the "Liquid" in "Liquid Democracy" is not a tangible component of the system (i.e., it might be better termed "Vapor Democracy").

We explicitly mention both. Pirate Party in Berlin had a different problem (as it was reported by pirates to us and also found on media articles): too many delegations on a single individual. We refer to these as either polyopoly or monopoly.

ThePP run also revealed that even when delegation is used, it is used inappropriately: Kling et al found a very low correlation between the votes of the delegate and those of the delegatees, so low in fact that "delegates" might as well have been chosen at random. The problem here is fundamental: Picking people to represent them seems to be a capability that is simply beyond the abilities of most, or perhaps even all, humans. Any system that relies on this apparently mythical ability, including Liquid Democracy and our current "misrepresentative democracies", is therefore fatally flawed.`

same argument can be made regarding direct democracies for that matter: who is to judge that a decision was the right decision, really?

There are mentions in both accounts of "supervoters/celebrities", proxies who acquire enough votes to become primary targets for corruption/coercion/etc. This is a fundamental design flaw in Liquid Democracy: The fact that it does not restrict the number of proxies an individual can carry encourages log-rolling and pandering behavior as delegates "compete" for votes from non-voters. And this doesn't even address the personality-specific aggregation issue (i.e., some personality types, particularly authoritarians and other conservatives, naturally aggregate whereas others do not, leading to disenfranchisement of those other personality/ideological types. See the FAQ in the Help system on https://www.proxyfor.me/ for more on this).

That's why we introduce quadratic voting for this.

The "Golden Rule of Liquid Democracy" (imposing open voting for delegates) seems to be fundamentally incompatible with the "requirement" for secrecy specified elsewhere in the SSC document because it eliminates the primary benefit of Liquid Democracy over conventional misrepresenative democracy, namely that anyone can act as a proxy rather than only some "elite" that have different rules and requirements imposed on them in exchange for massively increasing their power. After an extensive survey of the research in this area I've come to the conclusion that the secrecy requirement in SSC, or in any public policy decisionmaking system, is simply not necessary. Open voting has been a standard feature in democracies for thousands of years and it is only relatively recently that a small but vocal minority has fought for this "secrecy" feature, in most cases without any evidence that it is necessary (notably there were exactly zero reported incidences of coercion or individuals feeling any reluctance to vote due to the open voting policy in the PP run according to Kling (private communication)). Imposing secrecy as a requirement of any new decisionmaking system is therefore unjustifiable, and the people who would do so are the moral (and intellectual) equivalent of those who would disenfranchise a significant fraction of the population to prevent "voter fraud" (another essentially non-existent problem): Because it eliminates even the possibility of transparency the "cure" in this case is vastly worse than the "disease". The solution implemented in proxyfor.me is much simpler and yet ultimately more reliable and compatible with human desires and abilities: Open voting, but with proxies that are calculated rather than chosen by voters which drastically reduces the risk of corruption/coercion.

of course saying no to secrecy is the easy path forward. but fundamentally disagree on your diagnosis: coming from a developing world nation where coercion is high on elections at all levels, providing guarantees for secrecy is a relevant challenge that should not be avoided. zkSnarks among other techniques do offer interesting possibilities for crypto systems to empower users with this kind of privacy.

Equating votes with money is just the US "Citizens United" decision all over again: Money in politics is the cause of corruption and it's completely baffling to me that equating votes with money is proposed as a fundamental operating characteristic of this system without even addressing the issue of corruption. It's also not clear to me what the available money flow routes are in SSC. For example can people "buy" additional votes by bringing more money into the system? Can people "sell" or cash out their UBI "votes" rather than using them to vote themselves?

avoiding the fact that money drives politics isn't a way to cure this problem. we are working on the smart contracts to put a cap on the votes allowed to be sold by any single individual, while keeping any additional votes open for the market. we're still studying the economics of this.

The video identification seems to me clever, but unworkable: First of all, it's too much trouble: Do I really have to redo it each time I shave or cut my hair? What about make-up, or hair color, or simply getting older? It also seems to me to be too easy to defeat with modern image-processing technology. And frankly, it's just another over-reaction to what is essentially an insignificant problem (i.e., it's just the voter fraud thing again). The proxyfor.me proposal is, again, vastly simpler and yet more reliable: People will just claim names off of the public voter rolls. There are no worries about ballot box stuffing due to the ability to create fraudulent accounts, and as a bonus it provides a strong incentive for people to sign up (if you're not using your account, who is?)

we can always begin a system using something as simple as 'Facebook Connect' to identify users. But our goal is to think a post-Facebook era where we can guarantee representation for self-sovereigns, that excercise demands going deeper into the rabbit hole of this issue. addressing this is not easy since its not only a technical but also a political issue.

The SSC paper is internally inconsistent: It at one point claims "No technology will ever be able to satisfy democratic aspirations if it can only be understood by an elite" and yet proposes an architecture that is so incredibly baroque that it might as well be the plans for a warp drive engine as far as the average person is concerned. In fact, I have a PhD in Cognitive Psychology and 30 years experience as a software engineer and this field has been my primary endeavor for the last 3 year and yet I'm sure I don't understand half the stuff in this paper despite having read it several times! IMHO it is at least an order of magnitude in complexity above what can be reasonably understood by a normie. The design of proxyfor.me is probably at or above that threshold, and yet is at the level of complexity of Lego Blocks compared with the SSC proposal.

i tried your system and i did find it too complex at least for what we have built so far with sovereign.

Statements like "enabling smart contracts without the need of Judiciary Courts" display a profound ignorance of what The Law really entails. Best to just leave this stuff out (i.e., courts don't write contracts, they interpret them, and if you don't understand the difference you're not doing yourselves or your projects any favors by boldly making completely bogus statements on the subject).

who said blockchains write the contracts? they interpret them! coders write them.

I was confused by the statement "Throughout history only three kinds of sovereigns prevailed": For the first couple million years of human history (the Era of Evolutionary Adaptation, or EEA) there were neither "tribes" nor tribal leaders. Bands of a few dozen individuals operated on a far more egalitarian(i.e., individual sovereignty) basis than anything we've seen since the rise of agriculture. proxyfor.me, and the Matchism philosophy it is based on, is designed to function more like these pre-agricultural societies, the environment we evolved to function best in (for more on this, see the Matchism manifesto (matchism.org) or read one of Christopher Boehm's books such as "Moral Origins" and/or "Hierarchy in the Forest").

dunbar's number anyone?

One thing I like to keep in mind when working in this area is that, unlike most other startups, failures in this domain can have very high consequences. Beyond the obvious risks an uncontrolled (and underdesigned) revolution could have on The People's lives, simple failure is far more expensive here than for most other types of "products": If a high-profile project in this domain fails it will set back progress for years if not decades. That's a cost we can't afford, so it make sense to me to be extra careful that you really do have a viable solution before you go off promoting it. In the case of SSC it is especially important that you don't repeat the mistakes that have derailed previous projects, something that seems to me to be virtually guaranteed from what I see in the current design.

we have experience building so far the most successful open source direct democracy tool (democracyos) and creating a political party (partidodelared.org). i think we know what we are talking about.

Reading SSC one comes away with the impression is that blockchain is a hammer and those infatuated with it seem to consider every domain to be just another nail. At times pounding those nails even takes on a religious quality (Praise Be to the Blockchain!) The problem is (and at the risk of committing blasphemy!): It's questionable whether blockchain technology is even viable for what it was originally designed to do (i.e., implement money, the inherent design flaw being the huge, perhaps insurmountable, transaction costs and delay issues that effectively prevent it from being used as a general-purpose monetary system) let alone anything else. Certainly there is no coherent argument in this paper that blockchain is even an appropriate, let alone the best, technology on which to base a new decisionmaking system. In this case it looks more to me like a solution in search of a problem.

censorship resistance is a very desired attribute for democracies that comes with blockchains. i think you get it completely wrong by trying to avoid what's perceived as a fad. it's not.

While I'm on the subject of the almost mythical appeal of blockchain technology to those who distrust governments, I submit that the entire technology is based on the false premise that "The People" need ways to subvert the government. The problem is that this is based on a misconception: The government is an expression of the Will of The People. The fact that some (all?) governments seem to exploit the people they're are supposed to be assisting is merely the result of The People not being aware of the power they possess, or in some cases The People not having the tools they need to properly administer their government. The solution, therefore, is not to create a patchwork of subversive attempts to reduce government control, but instead to create the tools The People need to properly govern themselves and then to educate The People about how (and why) to use these tools. To propose otherwise is to work from a position of weakness and to abdicate The People's true responsibility and true power. Expressed like this, Bitcoin and other crypto-technologies can only be seen to actually be a part of the problem, not a part of the solution.

as bucky fuller said: 'build a new model to make the existing model obsolete'. bitcoin? proven idea. take it as coming from an argentine.

thanks for the great feedback.

domi41 commented 6 years ago

The Help section of proxyforme is interesting. You place very little stock in the humans' ability to reason, and as a would-be rationalist I tend to agree. I disagree on the maternalist solution you envisioned (removing the choice for delegates/proxies, and assigning them automatically). I believe an educative approach to this issue is wiser, as CFAR is doing. This belief is fueled by the abuses of maternalist attitudes from the governments in history, and how hard it is to get rid of them once the population has been educated. One current example of this would be the war on drugs, or euthanasia. Not saying all maternalist attitudes are bad or to be avoided, some are necessary, but the wise ones entail some form of education, like the "Smoke Kills" warning labels.

A "growing privileges" system inspired by game theory like the one Stack Exchange is using might be an interesting compromise. At level 0 I can't choose my proxies, level 1 I can but from a limited set, and level 2 I can delegate to whomever I choose. Then again, a good UI and some maths to compute a "likeness" percentage should already help users a lot to find relevant delegates.


There's also a note in the Google paper saying that 3.6% (did you notice you rounded the number down ?) of delegations is low, but not too low considering the users were new to it. Also, they did not have highlighted suggestions of relevant proxies based on votes cast.

As for the monopoly of delegations, the "Youtube Star" phenomenon, it is unavoidable. But the solution, again, we believe, is education. We'll make a few bad delegations like this, it'll bite us in the ass, we'll learn and adapt. What's important is that delegations can be rescinded. Keep in mind that users are new to this in the experiments you cite, and education takes time. You're bound to fall a few times when you learn how to run.


Also, not allowing everyone to submit ideas is wrong. To curate submissions and not waste The People's time, a hose like Slashdot's or a user-curated Hot section simply works in existing user-driven services. StackExchange even allows editing other's posts to improve them. Meritocracy over oligarchy. Collaboration over exclusive authorship.

Easier said than done, we know, but hey, we're not baking pies here.


There's also the matter of decentralization ; I could not find your source code (?) to see whether or not the votes database was decentralized ?

metamerman commented 6 years ago

Responding to @domi41 first (and, as it turns out, I just learned that all replying to the emails GitHub sends you gets you is a bunch of bounces ;-)

The Help section of proxyforme is interesting. You place very little stock in the humans' ability to reason, and as a would-be rationalist I tend to agree. I disagree on the maternalist solution you envisioned (removing the choice for delegates/proxies, and assigning them automatically). I believe an educative approach to this issue is wiser, as CFAR is doing.

And I believe this shows that you don't understand the capabilities (or rather limitations) of human beings ;-) I'm certainly sympathetic to your philosophy, and in fact am a big fan of freedoms being regulated with a Credential system, as is shown at http://www.matchism.org/freedom-credentials/ But I think the evidence is pretty clear that the ability to choose delegates who would cast a "correct vote" for you is so rare as to be negligible (do you have an scientific evidence to the contrary? I've search the literature extensively on this and all I've ever found is evidence to the contrary). Add in the fact that such a system also requires redelegation to avoid dead ends (non-votes) and I think it's very safe to say that your proposal is non-viable. Remember, we're designing a system for the vast majority of the population: Adding a few bells and whistles for "rational elites" (nevermind the problem of that group not actually existing ;-) is not only a waste of time but taints the entire proposal as being just another recipe for oligarchy.

This belief is fueled by the abuses of maternalist attitudes from the governments in history, and how hard it is to get rid of them once the population has been educated. One current example of this would be the war on drugs, or euthanasia. Not saying all maternalist attitudes are bad or to be avoided, some are necessary, but the wise ones entail some form of education, like the "Smoke Kills" warning labels.

Agreed: Sometimes the nanny-state goes way too far, but this problem is a symptom SDAP-leadership, not a fundamental flaw in the philosophy that The People have the right (indeed the obligation) to have absolute control over the freedoms we grant individuals. You're pissing in the wind if you think any of us going to give up this power, and that includes even the most zealous Libertarians. The vast majority of these things are so ingrained in our culture that we don't even see them anymore, among them the vast array of standards we all rely on, and things like traffic laws and building codes. Those of us living in the western democracies really only notice most of them in their absence (e.g., when we visit the poorest third world countries). To help you see one of the boundaries, and in the spirit of Slashdot (which you seem to be a fan of), I recommend a car analogy: http://www.roadandtrack.com/car-culture/a28714/turning-off-stability-control-is-one-of-the-dumbest-things-you-can-do-in-a-car/

Another one that's coming up is that within a couple/few decades we will lose the freedom to drive our own cars on public roads (assuming we even still own cars by then). If you don't see this coming, I submit that you have not really grasped what "progress" in civilization means. The analogy is that proxyfor.me is just self-driving government, a system that prevents people from "crashing" and seriously injuring or killing themselves or someone else (e.g., by electing someone like Hitler or Trump, or even delegating votes to someone like that, unless of course you are someone like that ;-)

A "growing privileges" system inspired by game theory like the one Stack Exchange is using might be an interesting compromise. At level 0 I can't choose my proxies, level 1 I can but from a limited set, and level 2 I can delegate to whomever I choose. Then again, a good UI and some maths to compute a "likeness" percentage should already help users a lot to find relevant delegates.

You're arguing for that "disable stability control" button at this point. In terms of day-to-day operation, it's just not something you really need. But note that proxyfor.me allows you block matches, but that's not because you're capable of figuring out who would vote like you, but because you probably are capable of identifying incompetents and people attempting to game the system (i.e., people who "on paper" are supposed to be like you but don't actually behave like you do) and need a way to prevent them from influencing your vote.

There's also a note in the Google paper saying that 3.6% (did you notice you rounded the number down ?) of delegations is low, but not too low considering the users were new to it. Also, they did not have highlighted suggestions of relevant proxies based on votes cast.

True, but the Pirate Party LQFB had exactly the same problems, so it's definitely not just a familiarity issue. IMHO it's a fundamental design flaw.

As for the monopoly of delegations, the "Youtube Star" phenomenon, it is unavoidable. But the solution, again, we believe, is education. We'll make a few bad delegations like this, it'll bite us in the ass, we'll learn and adapt. What's important is that delegations can be rescinded. Keep in mind that users are new to this in the experiments you cite, and education takes time. You're bound to fall a few times when you learn how to run.

No, the correct cliche is that you're bound to repeat the mistakes of history if you don't learn from them. This is one of my fundamental tenants: Any system that relies on changing The People rather than working with them as they are is the result of incompetent engineering. I'd also personally recommend against making suggestions like this in public because most people don't recognize this kind of handwaving for what it is and it's not fair to mislead them like this (i.e., you're playing the role of demagogue if you ever say we need to re-educate the people or that some elites know better than they do how to make decisions).

Also, not allowing everyone to submit ideas is wrong. To curate submissions and not waste The People's time, a hose like Slashdot's or a user-curated Hot section simply works in existing user-driven services. StackExchange even allows editing other's posts to improve them. Meritocracy over oligarchy. Collaboration over exclusive authorship.

I agree that citizen initiatives definitely will eventually be one of the proposal sources at some point, but IMHO it will be a very small part in a well-run system (probably a few percent) and will consist almost exclusively of proposals to remove a government official (impeachment) or otherwise reorganize it to correct some flaw. The vast majority of the proposals in LQFB (let alone avaaz, change.org, etc.) are complete crap and just a waste of everyone's time. Turning decisionmaking over to "experts" is a Very Bad Idea, but turning proposal generation over to them is not only necessary, but sufficient. To argue otherwise IMHO is a religious argument, not an engineering argument.

I'd again recommend the Metagovernment list (http://metagovernment.org/mailman/listinfo/start_metagovernment.org), and the archives of that list, for this kind of discussion. We've been discussing this for years and I think I've pretty much convinced everyone else on that list that these kinds of "participatory democracies" (aka "deliberative democracies" although scratch the surface and you frequently find that they're secretly designing "consensus-based" systems) are simply non-viable because they're based on a fundamental misunderstanding of the motivations and abilities of "normies" (aka neurotypicals).

There's also the matter of decentralization ; I could not find your source code (?) to see whether or not the votes database was decentralized ?

Source code is at: https://github.com/metamerman/proxyfor.me

I'm just starting on major revision (upgrading to Angular 4, some UI tweaks, etc.) so although you're free to look at it and try it, I'd recommend holding off on forking or contributing to it for a little while.

It's running on AWS with MongoDB as the database. I haven't done any development on load balancing/sharding/etc. yet but the server code is designed to support this. That is, it's designed to be distributed (for reliability) albeit not decentralized. As I said in my original post, you've fundamentally misunderstood the problem if you think that decentralization is necessary, and my claim is that if you've done this you're part of the problem, not part of the solution: If you don't trust the government, the right thing to do is replace it, not just piddle around with chickenshit penny-ante subversions. To do the latter is just to show that you're (we're) weak and subservient to the oligarchy and have abdicated your (our) power. If you're going to work on "education", teaching people not to make this mistake would be a great place to start.

metamerman commented 6 years ago

And now on to @santisiri:

same argument can be made regarding direct democracies for that matter: who is to judge that a decision was the right decision, really?

This is a frequent topic on the Metagovernment list. Most people seem to want to make this call based on the ultimate outcome of the decision. I say that's not only impractical, but unnecessary. The "right" decision in the democratic philosophy is merely to have the decision be the aggregation of all of our "correct votes". Which is what proxyfor.me is designed to do, and which inexplicably no other system (SSC included) seems to consider even a useful (let alone necessary) feature. My claim is that this is largely just because of ignorance, but more often than not there's also a strong undercurrent preference for oligarchy in the outlooks in the proponents of these systems. Most would try to hide this by trying to claim that government decisionmaking should be a technocracy or perhaps meritocracy, but unfortunately both of those are subtypes of oligarchy and therefore not what neurotypicals (i.e. the vast majority of people) want or are even willing to accept.

of course saying no to secrecy is the easy path forward. but fundamentally disagree on your diagnosis: coming from a developing world nation where coercion is high on elections at all levels, providing guarantees for secrecy is a relevant challenge that should not be avoided. zkSnarks among other techniques do offer interesting possibilities for crypto systems to empower users with this kind of privacy.

You're proposing to throw out the baby with the bath water: Sure coercion and vote buying have happened, as has voter fraud. But these things, even in the most corrupt times and places, are a drop in the bucket compared with the problems of ballot box stuffing and corruption at the vote handling/counting stages. Concentrating on the former without 100% protection against the later (and no secret ballot system can even promise to do this, let alone deliver on it) is just incompetent social engineering.

i tried your system and i did find it too complex at least for what we have built so far with sovereign.

Do tell: What did you not understand? I'm currently working on the UI and documentation and need all the feedback I can get...

I'll just leave the comments on blockchain/bitcoin etc. alone other than to offer one piece of advice: You should carefully examine your biases before you make any claims about the capabilities/successes/etc. of these technologies. I'm a propellerhead myself and well recognize the signs of exuberance bordering on religious fervor that comes along with any new technology. That can be a useful thing when it comes to overcoming resistance and persevering in the face of what may seem like overwhelming odds, but it can also blind you to the fact that you're wandering around with a hammer and just seeing a world full of nails that aren't really there.

In the case of public policy decisionmaking, I recommend taking a fresh look at the problem again: Is it really just the mechanisms of vote processing we're having trouble with, or is there something maybe about differential participation rates that's really the bigger problem?

domi41 commented 6 years ago

But I think the evidence is pretty clear that the ability to choose delegates who would cast a "correct vote" for you is so rare as to be negligible (do you have an scientific evidence to the contrary?

I found plethora of evidence proving that humans are (possibly inherently, as it spans a lot of cultures) BAD at choosing delegates. We submit to authority, to charm, to irrational thoughts. I've thought about this, ran a few mental simulations, and I'm starting to think that you may be right about automatic delegate assignment being more fair and more robust in the end. I would have suggested a combination of the two, automatic delegation when no intentional delegates voted on a specific proposal, but a friend of mine pointed out while I was writing this that with automatic delegation there will be no votes market, and that tipped the balance, because I'm not too fond of equating votes with money, as it resembles a lot what we have in the current governments through lobbies, corruption and campaign funds, and it gives too much power to rich evil corporations such as Mon$ant0. (name was blurred because I don't want to be killed by their private army – yes, it's a joke. Or is it?) To be fully convinced, I would love to read a complete differential debate (such as on DebateWise) on this specific issue, curated of fallacies.

I enjoyed the car analogy, though I have slowly been enjoying Slashdot's community less and less these past years. The really interesting cowards and insensitive clods have fled elsewhere, IMNSHO.

But note that proxyfor.me allows you block matches

Excellent idea ! Any automatic delegation system, even as fallback for intentional delegation, should allow users to blacklist delegates. How do you prevent someone from blacklisting everyone but the delegates they want to choose ? I've seen it happen in video games, where people "stalked" the best players by blacklisting everyone else.

True, but the Pirate Party LQFB had exactly the same problems, so it's definitely not just a familiarity issue. IMHO it's a fundamental design flaw.

The Pirate Party has a crowd that does not reflect the general population. They may be more familiar with the concept of delegation, or more tech-savvy, but they're also political activists, and those like to make their own decisions.

I'm not convinced that either of these two examples is strong evidence of a fundamental design flaw. It's weak evidence of a design flaw, which could be that delegations suggestions were not promoted enough.

The vast majority of the proposals in LQFB (let alone avaaz, change.org, etc.) are complete crap and just a waste of everyone's time. Turning decisionmaking over to "experts" is a Very Bad Idea, but turning proposal generation over to them is not only necessary, but sufficient.

Again, what's wrong with user-driven curation ? It's hard, and because it's hard none of the examples you mention have properly implemented it. Turning proposal generation to an appointed elite screams oligarchy to me. Especially if we can engineer a solution that does not need such oligarchy. Would love to cite Wikipedia here, but it's mostly a bad example of proper user curation, under the hood. StackExchange stands, or even git, to some measure. Discourse is getting pretty good at it too, no surprise here. DebateWise made an interesting effort on it as well.

Source code is at: https://github.com/metamerman/proxyfor.me

Yes, thanks ! :+1: :1st_place_medal: Interesting stack, I like what you've done with it, though there's no feature suite in Gherkin, and I'm a bit of a sucker for those. I enjoy Dart for these kinds of projects.

you've fundamentally misunderstood the problem if you think that decentralization is necessary

I thought decentralization was necessary in an online voting platform years before the blockchain was born. It's not a fad to me, not a hype. It is hyped right now, but that's no reason to spit on it. You should carefully examine your arguments against decentralization, because by reading what you say about it that's where you get the most religious, angry, and fallacious. The arguments against centralization are clear, rational, and we have plenty of precedents of abuse throughout history. If we can manage without having to trust a body of people not to tamper with our votes, it's more sovereignty for us.


I skipped over the nasty epithets and ad hominem assertions ; please refrain from using them here in the future, they undermine your credibility and the clarity of your discourse.

metamerman commented 6 years ago

I'd be happy to participate in a debate someplace, but doubt it would be much challenge for me since my experience with the loyal opposition on the Metagovernment.org list has convinced me that most people who would oppose something like this haven't really thought about it or had anyone point out the weaknesses in their own alternative proposals. Which tells me that at this point what we've primarily got is a marketing problem, not philosophical or technical problems.

As for the "curating" proposal, again, I don't have any problem with this in theory, I just think it's just small potatoes compared with not being able to vote on the proposals (i.e., the main problem we have with misrepresentative democracy). Note the auto-sorting behavior in proxyfor.me: If the "oligarchs" try to cram something down down our throats, it'll just never make it out of the bottom of the queue.

As for UX extensions and customization: While I'm a big fan of end-user programming, I don't believe it's necessary in this project as long as we publish an API: The server is already pretty well protected against function-call level hacking, but is currently way too dependent on the capabilities of the Angular client side to be opened up for development in other languages/frameworks (i.e., it doesn't have a general-purpose API yet).

As for using "blocking" to select delegates: I think we'll have to wait and see the usage patterns in "direct voting" before we decide we need to fix this. My prediction is that there will be substantial differences in individual participation rates making any sort of shaping like this impractical. For example, on abortion you might have to eliminate thousands or even millions of matches to get to the set you want. And even if you did that, for the "lane splitting" proposal on proxyfor.me, you're probably going to find that your 5 preferred delegates didn't vote at all and that you got matched with 5 people who have very similar personality characteristics to you, but actually have some opinion on motorcycle safety vs freedom (and whom you never heard of and know nothing about other than what they've disclosed in their posts). I.e., those 5 will vote like you would if you rode a motorcycle and/or had some other strong interest in the issue.

As for tampering only being an issue with centralized systems, I submit you've got it exactly wrong because you're making the faulty assumption that we need a secret ballot. Eliminate that, and all the problems with vote tampering magically disappear because anyone can just go in and verify that their vote was properly counted with any browser. This is impossible with a secret ballot regardless of whether it's a central server or blockchain-based, but is impossible with blockchain even without a secret ballot. See my comment in the "rules of thumb" issue.

As for your problems with tone and mischaracterization of what it means: Seems to me you're no fun (and before you consider that ad hominem too, please see this).

milieuChris commented 6 years ago

I am going to raise a flag to challenge the participants: How might we test our assumptions rather than continue to play at the "if i were king for a day" game. Debate is certainly useful, but action and results are what we ultimately need. I love you guys. Really.

domi41 commented 6 years ago

I just think it's just small potatoes compared with not being able to vote on the proposals

(I'm confused ; we can't vote on proposals ? You meant "delegates" there, right ?) This is where we differ ; whatever the system, I think that appointing an elite to handle proposal generation from the get-go it is a terrible idea in itself, and I won't reduce its importance by comparing it to other issues. I'll agree that for a PoC it does not matter much, as it is very expensive (fake it 'til you make it).

As for tampering only being an issue with centralized systems, I submit you've got it exactly wrong because you're making the faulty assumption that we need a secret ballot.

Maybe I have a more malicious mind than you do, but I was not even considering a secret ballot when I surmised that decentralization was desirable. It is just as desirable in an open ballot. Say you want to verify if your vote was correctly assigned ; if I control the server, what would prevent me from lying to you ? With centralized systems, you ultimately have to trust a body of people, and, what's worse, you have to trust them to not be hacked. Centralized systems are nice and easy (DemocracyOs, etc.), and they're good for small, relatively inconsequential proposals. I would not want my government to use a centralized system. Can you list your arguments against decentralization ? So far, none holds. We can make a differential table !

This is impossible with a secret ballot regardless of whether it's a central server or blockchain-based

Be careful when you assert that something is impossible. I devised in three seconds an elegant proof that is it possible, but this input field is too short. I'll leave it as an easy exercise to the reader. :monkey:

As for your problems with tone and mischaracterization of what it means: Seems to me you're no fun (and before you consider that ad hominem too, please see this).

I talked about ad hominem assertions, not fallacies. I know it's hard to admit when you're being a bully and apologise accordingly, but please tone it down, it is inappropriate and unbecoming.


@milieuChris How right you are ! Thankfully this debate is not blocking development (we're not, like, nitpicking about which stack to use) ; to me this is a useful debate, because it allowed me to factor in new evidence and solutions. Sadly, it's a bit messy due to multiple issues being debated concurrently. In the end, we should go someplace else (but I'm too lazy).

metamerman commented 6 years ago

(I'm confused ; we can't vote on proposals ? You meant "delegates" there, right ?)

In misrepresentative democracy you don't get the choice of who writes the proposals or how to vote on them. IMHO it's only the latter problem that we need to solve and that there are huge benefits and almost no downsides to allowing the former to continue much as it is now (the executive branch and special interests write the laws). We get the benefit of quality laws with negligible danger of having unacceptable rules passed. For example, in proxyfor.me, which sorts proposals based on the ratio of yes to no votes, bad proposals will never even be able to waste most people's time because they'll sit in the bottom of the queue and never even get voted on (they'll either be versioned into something more acceptable or quietly withdrawn). This is unlike LQFB or any of the petition-oriented sites (avaaz, moveon, change.org, etc.) where everyone has to wade through tons of crap to get to anything worth even voting on, let alone voting "yes" on. For DD to work, it has to be reliable and efficient. Allowing just any yahoo to submit proposals directly into the system works against both of those goals and yet provides no benefits except to those yahoos (or paranoiacs) who fancy themselves as social engineers but have no talent or training to practice in that field.

Can you list your arguments against decentralization ? So far, none holds. We can make a differential table !

I'm not opposed to decentralization per se, it's just that I don't believe that it is necessary and that the transaction costs it imposes make doing decisionmaking this way impractical. For example, a bitcoin transaction takes many minutes to execute and costs several dollars. How can you possibly scale that to billions of transactions per week necessary to run a government? As for the "I don't trust the government" problem, you should have your delusion examined by a qualified professional. The correct way to look at this is: If we don't trust the government, we change it. If you don't trust the executive branch of government no decisionmaking system is viable because the executive branch will just fail to implement The Will of The People no matter what the decisions are. And if you can trust them to implement a proposal, certainly you can trust them to run a server which is a fairly trivial task by comparison, and one that is also trivially easy to detect when it's not being done properly (and, again, if that happens we just replace the executive branch).

Be careful when you assert that something is impossible. I devised in three seconds an elegant proof that is it possible, but this input field is too short. I'll leave it as an easy exercise to the reader.

Unlike the margin of a book, this field scrolls. Please, do enlighten us: If you have a secret ballot, how do I verify that every vote on the blockchain came from an actual registered voter? And if you propose instead to encrypt the votes themselves (to enable comparing the public keys with some official list), how do I verify that someone along the line hasn't cheated when updating the tally? And if you don't trust "the government", how is even possible to maintain that list of eligible voters? Oh, and don't forget that you need to have some automated mechanism for delegation/proxy voting. How do you do that with a secret ballot? I get a headache even trying to wrap my head around the level of paranoia required to even consider something like this as reasonable and necessary solution to what is most likely not even a significant problem...

domi41 commented 6 years ago

We get the benefit of quality laws with negligible danger of having unacceptable rules passed.

That was a premise of sorts of the current representative governments. I don't think the benefits outweigh the risks. You said you don't have a problem with community-driven curating in theory ; I say let's add it to the specs, do it right, and we we'll have quality laws with even less danger of having unacceptable rules passed, or desirable rules ignored.

Allowing just any yahoo to submit proposals directly into the system works against both of those goals and yet provides no benefits except to those yahoos (or paranoiacs) who fancy themselves as social engineers but have no talent or training to practice in that field.

If curating was done right (yeeees, it's expensive), would you accept to humor the yahoos and paranoiacs ? An Elite will emerge naturally, like on Wikipedia. Meritocracy over Oligarchy, again. In a few year's time, we'll probably even train AIs to do the boring curating. (right, now, ROSS is a baby, but the rigid semantics of the law make the linguistic analysis and indexation easier, for neural networks as well)

I'm not opposed to decentralization per se, it's just that I don't believe that it is necessary

Thank you, your stance is clearer now. I believe decentralization is highly desirable, but I'm happy to see centralized platforms being developed as well (proxyfor.me included), because there is a need for them. My ideal voting platform is decentralized, and I won't use one that isn't for something as important as laws. I will gladly use centralized ones for everything else.

the transaction costs it imposes make doing decisionmaking this way impractical.

A very good point, which was a blocker for me as well. Nowadays a lot of energy and money are being invested in decentralized techs, the ecosystem is burgeoning, and many clever people are working on this exact issue. What are your thoughts about bigchaindb or the ocean protocol ?

As for the "I don't trust the government" problem, you should have your delusion examined by a qualified professional.

It's way worse than that, Doctor : I don't trust people to be rational. I don't trust their knowledge in security, I don't trust them to not be manipulated, coerced, or corrupted (gotta eat, sometimes). I trust code more than I trust people, when rationality must be involved. I want to place my trust in a process, not actors. Kind of like open-to-everyone ballot counting being a mandatory part of the process in paper-based elections. Centralized systems (even with sharding) force you to trust the actors who run the process⋅es, while with decentralized systems you only need to place your trust in the process. Anyone can truly be in the room when the ballots are counted.

As stated above, for anything with lower stakes than laws, I'm fine with trusting actors because the incentives for –and consequences thereof– cheating are proportional to the stakes.

So far, the best arguments I've collected for centralization are : (1) "decentralization is complicated", and (2) "computers, networks and software are not fast enough". They're valid arguments from a pragmatist's point of view, from someone who wants running software now. Please don't belittle the idealists, those who think that point (2) will solve itself and focus their efforts on point (1).

Unlike the margin of a book, this field scrolls.

I love that you get the reference. I'm not totally jesting, we cracked that a few years back. A friend of mine also figured it out by themselves not a week ago. The pursuit of the solution is more rewarding than the solution itself, which is boring as a rock.

bhack commented 6 years ago

I generally think that liquid democracy could be related to the collaborative filtering and social reputation topics. I also think that for any system at scale we need to find a connection chain between Bottleneck theories and Emergence and/or emergent behaviours. Can we find something about these two topics in the context of democratic social networks and topic/prority formation process in these kind of networks?

bhack commented 6 years ago

/cc @papadako

bhack commented 6 years ago

See also https://github.com/DemocracyEarth/paper/issues/241