TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Dissent: accountable anonymous group communication

80 pointsby turingover 11 years ago

4 comments

drewcrawfordover 11 years ago
There are something like 20-ish papers here. I have skimmed several of them without any clear answer to this question:<p>How exactly do you stop sockpuppetry while maintaining anonymity?<p>In order to ensure that a person cannot create more than 1 account, it would be necessary to observe some property of the person that is difficult to alter (such as their appearance, or their social security number) for uniqueness on the network.<p>Now if this network is truly anonymous, then it must be disjoint from every other network. And there is at least one other network (&quot;real life&quot;), so whatever this property is, must be something that an adversary in the real-life network would not be able to compare to the anonymous network.<p>And so certainly, it must not be some property that a person in the real-life network could observe by following you around or ruffling through your drawers and then compare to the answer you gave to sign up for the anonymous network. So it must be something in your head (like a password).<p>But if it is in your head, isn&#x27;t it easily changed, and this property would be exploitable to create sockpuppets?<p>I must have missed something fundamental here, possibly in terminology. Can somebody who is current on the research here enlighten me?
评论 #6306793 未加载
评论 #6306541 未加载
评论 #6305938 未加载
评论 #6305829 未加载
评论 #6305907 未加载
wgdover 11 years ago
Apologies in advance for the wall of text, but the first half is basically just a summary of their protocol for people who don&#x27;t want to try to identify where the actual information resides (it appears to be <a href="http://dedis.cs.yale.edu/2010/anon/pres/120104-dissent.pdf" rel="nofollow">http:&#x2F;&#x2F;dedis.cs.yale.edu&#x2F;2010&#x2F;anon&#x2F;pres&#x2F;120104-dissent.pdf</a>).<p>As I understand it, the basic idea is that there is a network made up of N clients and M servers, with the clients (and potentially servers) identifiable in some external fashion (IP addresses or GPG keys or whatever, it&#x27;s unimportant to the protocol) and we want to make it possible for any of the clients to broadcast a message without anyone being able to tell which client it came from.<p>So what happens is each client and each server generate a Diffie-Hellman key which is associated with their actual external identity. Then each client establishes a unique secret with each server (and vice versa, naturally). These unique secrets are used to produce N times M unique bitstreams using PRNGs (so each client has a bitstream corresponding to every server that exists, and each server has a bitstream corresponding to each client that exists).<p>Then each client XORs together the bitstreams from the unique secret it shares with each server, and each server does the same thing for each client&#x27;s shared secret. Now there are N + M bitstreams, with the nice property that if you XOR together all of them they all cancel out (because every client-server pairing occurs in the bitstream from that client and the bitstream from that server).<p>Furthermore, if one client also XORs some data into the bitstream that they publish, no one else can tell, it still contains a bunch of indistinguishable-from-noise data to everyone else who might look. But then when we XOR together all N + M bitstreams, we end up with everything cancelling out except for that extra data that one client added.<p>So then the Dissent protocol pulls in another construct, and uses something called MIX to shuffle a set of public keys generated by the peers, and uses these public keys to establish a transmission order, essentially reimplementing TDMA (Time-Domain Multiple Access) in a digital domain with signatures.<p>In my opinion as a hobbyist interested in this stuff, the whole &quot;everyone produces a bitstream and they magically evaporate leaving behind only the data everyone transmitted&quot; thing is almost magically cool. The time-domain multiplexing is less cool, and my EE background compels me to wonder if a meaningful analogue to CDMA or OFDM could be developed. Well, obviously they could be <i>developed</i> the real question is &quot;could they be useful?&quot;.<p>It&#x27;s also sort of interesting how the fact that we can&#x27;t ever be allowed to know when a given peer is transmitting means that the design becomes more &quot;continuous&quot;, with data being transmitted by everyone at all times so that the real transmissions can be disguised. I wonder if the theoretical perfectness could be loosened somewhat to allow only, say, 10% of peers to have to be transmitting at any given time (in the long run this could make it possible to identify a transmitter uniquely, but not so quickly that it wouldn&#x27;t be useful still).<p>Unfortunately, the second bullet-point (accountability) goes close to unfulfilled. And I feel like it sort of has to, since any method which could determine where malicious data comes from can also be used to undermine the anonymity of the system for everyone else. There&#x27;s a <i>kind</i> of accountability, which is that the peers themselves can be associated with a public identity without anyone being able to tell which peer produced a given message, even in theory, but it doesn&#x27;t extend to any system with open registration, because it doesn&#x27;t handle the &quot;sock puppet&quot; problem at all.<p>But personally I think the sock puppet problem is pretty much un-silver-bullet-able. The best we can probably ever hope to do for &quot;general purpose&quot; uses is probably a combination of a cryptographic proof-of-work algorithm, public-key signatures to <i>allow</i> (though not force) persistent identity, and some sort of reputation system.
评论 #6306140 未加载
saraid216over 11 years ago
I might just be tired, but I cannot actually come up with a reason this would be useful. Someone help me out?
infocollectorover 11 years ago
We decided to build an anonymous group communication platform with some other assumptions and requirements:<p>In our case, speed was an issue. And so was encryption of communication. + We did not want anyone except Bob and Alice to know what they were talking about. We did want to allow formation of groups... ( <a href="https://register.blib.us" rel="nofollow">https:&#x2F;&#x2F;register.blib.us</a> )
评论 #6305885 未加载