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