[HN Gopher] Theseus DHT Protocol ___________________________________________________________________ Theseus DHT Protocol Author : killittosaveit Score : 149 points Date : 2023-06-19 17:46 UTC (5 hours ago) (HTM) web link (wootfish.github.io) (TXT) w3m dump (wootfish.github.io) | kodablah wrote: | I once combined libp2p/ipfs's DHT impl with Tor many moons ago: | https://github.com/cretz/tor-dht-poc | orthecreedence wrote: | Cool project, which lead me to this post: | https://eli.sohl.com/2020/06/10/sybil-defense.html | | I'm in this space right now (Sybil-resistant DHTs) for an | identity project and finding things like this is absolute gold | for me. Is there a good place to find more articles on modern | sybil protection mechanisms (other than the proof-of-whatever | blockchain bs)? | EGreg wrote: | See my sibling comment. I am looking for partners to help | implement this "holy grail" stuff together | ur-whale wrote: | > To a passive observer, all Theseus DHT protocol traffic is | indistinguishable from random noise. | | This. | | And it should have been a design requirement for every protocol | on the internet since day one. | rainsford wrote: | It's a cool property for sure, but in reality it's pretty | difficult to implement, especially if you want a protocol | that's extensible, interoperable, or allows open communication. | At minimum, you're probably going to have to assume any | participants trying to speak the protocol to each other have | pre-shared cryptographic keys and/or protocol parameters. | | Even a protocol like Wireguard for example, which does hardcode | protocol parameters and requires the client to know the | server's public key in advance, is not designed to be | indistinguishable from random noise. You can certainly do it, | but you lose a lot of other properties that are arguably more | important to protocol design than indistinguishably. | psychphysic wrote: | Can you explain this, how can it be indistiguishable from | random noise? What does that even mean? And why is it even | important/useful? Surely even if it looks like noise anyone | can see that you are communicating with the DHT network? | [deleted] | earnesti wrote: | I would have rather have every protocol to supply endless | amount of ice cream. | sedatk wrote: | So, identifying this protocol must be trivial: it's the one | that looks like random noise. | eykanal wrote: | This seems to be ~4 years old. Have any cryptographers reviewed / | audited this protocol in the interim? A quick google search comes | up empty [1], and google scholar doesn't show anything [2]. | | [1]: | https://www.google.com/search?&q=Theseus+dht+protocol+%22aud... | | [2]: https://scholar.google.com/scholar?q=theseus+dht+protocol | remram wrote: | Does it allow someone with knowledge of a key to find the IP | addresses of other people interested in that key? Because if yes, | the other security guarantees are not all that interesting. | | The fact that Tor is mentioned would suggest that you have to add | that to be secure. | eis wrote: | I just had a brief read of the protocol but my understanding is | yes, there is nothing like onion routing or similar that could | disguise to a peer that is serving the data that the requester | is indeed the one who is interested in it. | vesinisa wrote: | Maybe this is also why they underline in the preamble that it | is suitable for running over Tor. | [deleted] | lenova wrote: | Oooh interesting! I've been reading up on DHT's for the first | time recently (I'm very late to the party). | | It looks like the original inspiration was an anti-censorship | network for sharing/providing scientific papers: | https://eli.sohl.com/2017/02/17/theseus-robust-system-for-pr... | | But as another poster noted, the project seems to be defunct do | it being a solo effort: https://eli.sohl.com/2017/02/17/theseus- | robust-system-for-pr... | | I'm curious why the OP is interested in this project, or if | anyone else has any interesting DHT tools they want to share? | kang wrote: | libp2p: https://curriculum.pl- | launchpad.io/curriculum/libp2p/dht/ | feross wrote: | bittorrent-dht: https://github.com/webtorrent/bittorrent-dht | (JavaScript implementation used by WebTorrent) | EGreg wrote: | Anyone here an expert on DHTs, or maybe an enthusiast? | | Back in 2018 when I was designing the Intercoin Protocol (which | we now call the Intercloud) I met with Petar Maymounkov, who | invented Kademlia in the early 2000s. Dude used to teach at NYU | (my old school) so I emailed him and took him to Olive Tree Cafe | -- wound up asking him a bunch of questions and learning a lot. | | Anyway, I have a question about all this. Consensus is an | expensive operation and th reason Blockchains are slow is because | they run fu network consensus cor every block. In Intercloud, we | run network-wide consensus only occasionally, and mostly to | update a provably random seed (by combining input from many | different nodes). This serves as a seed for a random oracle for | the network. | | Now, that oracle is used during "shuffling". I think we may have | originally got the idea from the SAFE project. What happens is | that, every so often, swarms of nodes are shuffled and nodes are | reassigned to other swarms. So although they may pick their | original swarm, they have no control over what future swarms they | will be in, because it is effectively impossible for then to | predict, let alone control, the random oracle and hashes of | activity from neighboring swarms. Being off by a single bit | throws off any of their well-laid plans. | | Shuffling is necessary to break up swarms that have been | corrupted, overrun by dishonest nodes sybil attacks, or just | unable to reach consensus due to unavailability. | | So most of these DHT issues go away. However, encryption is still | a very good idea. | | Another GREAT idea is what SAFE pioneered - removing the IP | addresses from responses after the first hop. Because otherwise | it is trivial to DDOS a network or a subset of it. | | PS: last year I interviewed Ian Clarke (creator of Freenet) about | this stuff https://m.youtube.com/watch?v=JWrRqUkJpMQ | Retr0id wrote: | I learned about Elligator quite recently and was shocked by how | rarely it's actually been deployed (or even implemented), very | happy to see it being used here. | | > Release date: 4/20/2018 | | > Revision date: 10/8/2018 | | Would be nice to get a (2018) in the title. | bfung wrote: | That's also only the specification release/revision dates. | | Digging into the GitHub repo: "The implementation is not yet | complete." | | https://github.com/wootfish/theseus.dht | Retr0id wrote: | I found a 2020 blog post from the author, announcing a pause | of the project https://eli.sohl.com/2020/04/26/pressing- | pause-on-theseus.ht... ___________________________________________________________________ (page generated 2023-06-19 23:00 UTC)