DHT algorithm cheat sheet?
Anyone got personal experience with DHT re-hashing/ re-Distributing the table as nodes join/leave, and in particular any problem you had to solve or work around? https://en.wikipedia.org/wiki/Distributed_hash_table
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Saturday, July 4, 2020 4:16 PM, Zenaan Harkness <zen@freedbms.net> wrote:
Anyone got personal experience with DHT re-hashing/ re-Distributing the table as nodes join/leave, and in particular any problem you had to solve or work around?
this is pretty decent for wiki - covers the keyspace partitioning differences between protocols, the overlay for control communication, and there is mention of the security trade-off's associated with a distributed system like this. one aspect i would add is Byzantine Fault Tolerant (BFT) state replication, ala Tendermint, to the list of related technologies. E.g. https://github.com/tendermint/tendermint and of course, you could expand on the various malicious attacks possible against DHT's by a reasonably resourced attacker - this is the Achilles's heel of DHTs! DoS is trivial, targeted attacks hard to detect, reputation easily gamed, etc. etc. best regards,
In a DHT 'everybody' can join... imagine therefore what a botnet of millions of zombies machines and controlled by a single attacker could do... BTW all these technologies - such as blockchain or DHT - are now being quietly transferred into permissioned systems such as Corda etc ... controlled directly by banks and Gvnt infrastructures and where the members can be thoroughly controlled.
On Tue, Jul 07, 2020 at 03:47:13PM +0000, таракан wrote:
In a DHT 'everybody' can join... imagine therefore what a botnet of millions of zombies machines and controlled by a single attacker could do...
BTW all these technologies - such as blockchain or DHT - are now being quietly transferred into permissioned systems such as Corda etc ... controlled directly by banks and Gvnt infrastructures and where the members can be thoroughly controlled.
Thay are tools. We can choose to not use such tools. You can spin up your own DHT instance. This is the nature of a tool. Of course, a DHT is only relevant to "spin up" if you have a relevant number of users. The nature of the DHT algorithms that I've briefly looked at suggest that they are specifically designed to scale - who joins is up to your app's design of course, but if you want "everyone" to join, then a DHT seems to me to be one of the few practical ways to have an end user computer cope with this choice (think exponential backoff, limited key/data replicas to say a max of 20 rather than everyone in the world having a copy of everything, etc). You might find the following primer to be of interest - it's been useful to my understanding at least (and I have to read it again, and probably some simpler material - I'm not fully grokking this paper yet sorry): A Sybil-proof one-hop DHT https://pdos.csail.mit.edu/papers/sybil-dht-socialnets08.pdf https://pdos.lcs.mit.edu/papers/sybil-dht-socialnets08-slides.pptx https://dl.acm.org/doi/10.1145/1435497.1435501 BTW, if anyone can point me to the essential DHT reading to properly uderstand all the terms in the above paper, I would really appreciate that, I certainly struggled on a first pass, and not all terms in it are defined. There is also info on detecting sybil nodes (I have not yet read the following, this is just a quick search): The Sybil Attacks and Defenses: A Survey https://www.researchgate.net/publication/259440924_The_Sybil_Attacks_and_Def... SybilInfer: Detecting Sybil Nodes using Social Networks | Semantic https://www.semanticscholar.org/paper/SybilInfer%3A-Detecting-Sybil-Nodes-us... A Sybil-Proof Distributed Hash Table - PPTX https://vdocuments.site/a-sybil-proof-distributed-hash-table.html BTW, perhaps you're already familiar with it, but your use case appears to relate well to TFC, Tin Foil Chat, which is appears to be a relatively simple system, using 3 computers, to guarantee NO possibl exfiltration of your private keys: https://github.com/maqp/tfc which would seem to be a perfect fit for a Novena style setup: https://www.crowdsupply.com/sutajio-kosagi/novena Create our world,
On 2020-07-08 01:47, таракан wrote:
In a DHT 'everybody' can join... imagine therefore what a botnet of millions of zombies machines and controlled by a single attacker could do...
It is entirely doable, though non trivial, to write a DHT where everyone can join but a botnet cannot in fact do very much.
BTW all these technologies - such as blockchain or DHT - are now being> quietly transferred into permissioned systems such as Corda etc
This is driven by social justice warriors seeking to cancel, demonetize, and deplatform their enemies, not by any technological requirement.
participants (4)
-
coderman
-
jamesd@echeque.com
-
Zenaan Harkness
-
таракан