[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)