How does Aether solve the double spend problem for votes


#1

Hello everyone, I just joined the Aether community. I am aware that Aether does not rely on distributed consensus nor is it based on a blockchain. If this is true, how does an Aether community come to consensus on how many votes were received by each candidate? In other words, if voting for someone is thought of as a transaction, how does Aether prevent a user from double spending their vote? Think of the extensive effort made to count votes in an election and ensure nobody voted twice.


#2

Welcome in!

The technical answer to that specific question is that every node counts every vote, and votes are aggregated into bloom filters.

But the question is a little meaningless from Aether’s point of view, and this is why: there is no global state to insert a transaction to. There is no global consensus, because there is no global database. Every node counts and compiles the votes it receives on its own.

Aether distributes a content graph as a flood network. What you compile that content graph into is that node’s own business, and that happens locally. That’s why users can control which moderators to enable, disable, or take other actions that are not possible in other systems.

Think of it like that — Aether has no global view, it has an arbitrary number of local, relative views that, in the greatest scale, if you squint, compute down something of a rough consensus. But that happens not because Aether forces one, but because there is only one way the data makes sense. If you build an Aether client, and stray from the consensus so as to show your user an arbitrary, random view, yeah, you can do that, but your users aren’t going to be happy.


#3

How I understand your question this would be my answer: every vote and thus also the proof of work is by creation already linked to a specific post/comment by including the hash of that post/comment. There is no system for transactions in aether.