On Sun, Jan 12, 2014 at 6:53 PM, Jesse Taylor <jessetaylor84@riseup.net> wrote: ... What would make more sense, and would lead to much more rapid/widespread adoption, is to use protocols like WebSockets / WebRTC to facilitate P2P connectivity in the web browser, so that everything can be done via a simple browser plugin that can be installed by anyone with few clicks, and would then just allow people to use the browser search bar as usual....
Thank you Jesse for your post and all the useful inline links. I've been thinking about doing a project with WebRTC as well, albeit about a simplified dining cryptographers anonymity network instead of a P2P search engine. You can read some of my rationale for wanting this in a post on Tor Talk [1]. Specifically, I'm interested in the Herbivore (proof of work) entry protocol and network topology [2], and the way in which the Dissent/Verdict system handles communication through 'servers' [3][4] to minimize bandwidth usage while maintaining a full key graph as long as at least one server is trusted (they call this the anytrust assumption). I don't intent to make a separate server and client, but to add the ability to make certain clients super nodes. The paper you linked looks interesting. I'm not currently interested in thwarting denial of service attacks (which are a plague in DC-nets), although the Verdict system presents a very elegant (but computationally expensive) solution. In any case, this could be a plug-in solution. Regarding WebRTC itself, I've been looking at the PeerJS [5] library and two different implementations of the NaCl Javascript library [6][7]. I really like the opaque Cryptobox idea of salt [8]. Do you know any other recommendable tools? I'm finishing up some remaining (dreaded) work of the last semester, but I'll start with this mid-February. Regards, Gerard [1] https://lists.torproject.org/pipermail/tor-talk/2013-December/031426.html [2] http://freehaven.net/anonbib/cache/herbivore:tr.pdf [3] http://freehaven.net/anonbib/cache/ccs10-dissent.pdf [4] http://dedis.cs.yale.edu/dissent/papers/verdict.pdf [5] http://peerjs.com [6] https://github.com/tonyg/js-nacl [7] ??? There is some native implementation of NaCL in Javascript, as opposed to the Emscripten compiled version of tonyg, but I can't find it anymore. [8] http://cr.yp.to/highspeed/coolnacl-20120725.pdf