Closed dsernst closed 7 years ago
One idea: Let each district run their own instance of Liquid Vote
Had a really great conversation with a super sharp Google Engineer yesterday, about how to get both decentralization and delegation anonymity.
David: Yo Following up on your very good question about anonymous + trustless delegation database. I have a much stronger solution for you If you want to be delegated to, your individual votes for/against legislation need to be public So then the system also publishes delegated votes to the blockchain on the idle-voter's behalf Like with a flag "is_delegated: true" And so the voter can audit it at any time to make sure it's reporting the correct delegated votes
Philip: Makes sense
David: 99% of voters will never do that audit, but the very technical people can check it at any time to make sure the system isn't lying Letting the centralized server calculate delegation on your behalf is just a convenience, but if you wanted to you could take back control of that The delegation is about convenience
Philip: So here's another question If the delegations are on a central server, why use the block chain at all? The main use of the block chain is visibility yeah? But this server is a black box and a very important one Who audits the server? And what happens if someone hacks it / changes it? Why not have everyone just send their votes to the server and it spits out the result? Obviously that's not a good solution, but I feel like this server raises problems
David: Server gives mainstream people convenience. But it's just an option. It's like gmail vs running your own email server
Philip: Ok, but then how does automatic delegation happen if I use my own server Or do I just opt-out of that
David: Who's someone you like? Politically speaking For an example
Philip: Let's go with Obama
David: Perfect Let's say Obama is ok using the centralized server So you could find him at http://liquid.vote/v/barackobama That publishes a record of his votes on individual pieces of legislation So your personally managed server, running the open source software you've inspected, is set to delegate to that address Only you know that you've chosen to delegate to him So you can vote directly on legislation, but your server is set to automatically inherit his vote if you don't
Philip: Ah, ok. I get it Hmm. I suppose I'm still worried about having the centralized server being the default / most used option But, I also have 0 ideas of a better solution haha
David: Tell that to your employer for the smtp protocol 🤘 I would LOVE it if people ran their own servers Maybe 10 years from now that will be common? But this is just to get mainstream people onboarded in the first place.........
Philip: Maybe. You just have to get people to trust the central server. That'll be the challenge
David: If they understand technically why they shouldn't blindly trust it, wouldn't they be more likely to run their own instead?
Philip: People love to angrily not trust things 😛 But yeah ideally everyone would. I'll be super interested to see your system grow 😃
Relevant conversation about decentralization from this thread: https://github.com/liquidvote/liquid-api/issues/7
This isn't really a blog post... Maybe should be moved to its own repo or something? Going to close for now.
Long term vision is not for everyone's votes to be centralized through one system. So the TODO here is publish a piece sketching out what this means and what the long term roadmap looks like.