Democracy has a scaling problem. Direct democracy works for small groups. Representative democracy scales but you lose agency. Liquid democracy is a third way.
The Core Concept
In liquid democracy:
- Vote directly on the issue, OR
- Delegate your vote to someone you trust
Delegation is transitive. If Alice → Bob → Carol, Carol has 3 votes.
Why It's Powerful
- Flexibility: Delegate to different people for different topics
- Accountability: Delegates' votes are public
- Scalability: Trust experts in their domains
The Data Structure
At its core, liquid democracy is a directed graph:
interface Delegation {
from: string;
to: string;
topic?: string;
}
Counting Votes: Graph Traversal
function resolveVote(voterId, proposalId, visited = new Set()) {
if (visited.has(voterId)) return null; // cycle
visited.add(voterId);
const direct = getDirectVote(voterId, proposalId);
if (direct) return direct;
const delegate = getDelegate(voterId);
if (!delegate) return null;
return resolveVote(delegate, proposalId, visited);
}
Transparency: The Killer Feature
- Delegation graph is public
- Votes are auditable
- Retract delegation instantly if you disagree
Topic-Scoped Delegation
Delegate your economist friend for fiscal policy, your doctor for healthcare.
Originally published at ryancwynar.com
Top comments (0)