5 ms·
Now, this is the comment I came to HN for. Thanks for this, I have a few readings to do. For your points, While I don't have a full–scale refutation, here's a
by rolleiflex 13y ago
Now, this is the comment I came to HN for. Thanks for this, I have a few readings to do.
For your points, While I don't have a full–scale refutation, here's a few addendums in order. All of this is wrapped in a giant 'If I understand you correctly'.
> And you really can't have a forum without pseudonyms. Users will create them on their own (by including a nickname in their posts) even if you don't build it in.
That's human self–incrimination. As long as this is safe for an one–time user that opens the app on an internet cafe, posts something and goes away, I have some basic semblance of security I can build upon. That does not mean it is secure, it just means it's secure for something—and that's a start. (It might not be actually secure for even that, let me know if you know it not to be so)
> There is an easy so-called "intersection attack" in which the sets of users that are connected at any given time a pseudonymous entity posts are intersected. The actual author will always be present, and the other participants won't be static, and so eventually only the author will remain in the intersection.
The actual author won't always be present. The posts start at a point, but they do not need the author to be present to continue distribution. When Alice posts something and Bob gets the post, from then on Alice can disappear forever. If a post is below a threshold of availability on nodes Bob is connected to, Bob will flag it as neutral post (to make that distribution not count as an upvote) and start distributing it on his own to prevent post extinction. That said, this doesn't prevent intersection attacks, it just makes them less viable.
> Tor will not solve the problem here if users have to be able to receive incoming connections.
The users do not need to accept incoming connections. There are some very restrictive routers that refuse to be UPNP port mapped, and Aether works fine on them.
> and so an adversary can just connect to the network to discover who to block or punish.
For this, the roadmap is to have a 'protected' node which refuses all connections from nodes except those who are explicitly marked as trusted.
> The bootstrap IPs can obviously be easily blocked.
It does not rely on the bootstrap IP. If you have installed the application, it asked you in the onboarding process IP and port of a friend that you know to be online. If you give it that, it'll use it. In fact, I'm planning to turn the bootstrap node off or just make it a redirect to some other random node in the future.
> The votes are not anonymous, which is unlikely to be clear to users and which are nearly as sensitive as authorship itself.
They point to node id's, which are not users, but machines. This is an inherent tradeoff, in that I have to have some data to gauge the popularity of a post. As far as I know, there is no way out of this without implicit trust in a third party.
> Denial-of-service here is as simple as flooding the network with "forwarded" posts and votes.
Well, those posts won't get upvoted, and will get stuck in spam filters and upvote thresholds of users. None of those are implemented yet, of course, but this doesn't seem to be a structural problem.
> As it is currently, I wouldn't trust my communication to this system.
Please, for the love of god, don't trust Aether (yet). This is barely alpha level code.
For the rest, thank you. Much appreciated. I'll be reading.
- ohmygodel 13y ago> > And you really can't have a forum without pseudonyms. Users will create them on their own (by including a nickname in their posts) even if you don't build it in. > That's human self–incrimination. As long as this is safe for an one–time user... I have some basic semblance of security So this is not anonymous reddit, then. That is much less useful, and it had better be extremely clear to users that they should only use it in that way. > > There is an easy so-called "intersection attack"... The actual author will always be present,... and so eventually only the author will remain in the intersection. > The actual author won't always be present. The posts start at a point, but they do not need the author to be present to continue distribution. In this attack, the adversary would need to be one of Alice's peers most of the time. If he isn't, though, because Alice only connects to a few peers consistently, then he can at least identify one of those consistent peers. That serves as a focus for attack, say by denial of service. > > Tor will not solve the problem here if users have to be able to receive incoming connections. > The users do not need to accept incoming connections. There are some very restrictive routers that refuse to be UPNP port mapped, and Aether works fine on them. So to actually be undetectable as using Aether, you can't accept connections. Then you have to hope that enough users are connecting for the anonymity and not the undetectability, or you'll have to provide some infrastructure nodes. > > and so an adversary can just connect to the network to discover who to block or punish. > For this, the roadmap is to have a 'protected' node which refuses all connections from nodes except those who are explicitly marked as trusted. Great, if you promise undetectability, then this should be the default. Of course, that makes connectivity a challenge (what if everybody you trust doesn't accept connections because they also want to remain undetectable?). > > The bootstrap IPs can obviously be easily blocked. > It does not rely on the bootstrap IP. If you have installed the application, it asked you in the onboarding process IP and port of a friend Sounds good! > > The votes are not anonymous, which is unlikely to be clear to users and which are nearly as sensitive as authorship itself. > They point to node id's, which are not users, but machines. I don't understand the distinction being made here. In any case, the upvote is observed as coming directly from some IP. That is the identifier to worry about. As far as privately gauging the popularity of the post, I don't exactly understand what you need here, but they may be some crypto solutions that could work. Unfortunately, post popularity seems easily spoofed to me. > > Denial-of-service here is as simple as flooding the network with "forwarded" posts and votes. > Well, those posts won't get upvoted, and will get stuck in spam filters and upvote thresholds of users. None of those are implemented yet, of course, but this doesn't seem to be a structural problem. What about the mechanism to prevent extinction of a post? Doesn't that spread a post without upvotes? And why can't I create a network of Sybils to upvote my spam posts? Also, spam filters are a UI mechanism, if I understand what you mean. I am talking about consuming network and memory via protocol flooding.