Re: DHT algorithm cheat sheet?

2020-07-07 Thread jamesd
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.



Re: DHT algorithm cheat sheet?

2020-07-07 Thread Zenaan Harkness
On Tue, Jul 07, 2020 at 03:47:13PM +, таракан 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_Defenses_A_Survey

   SybilInfer: Detecting Sybil Nodes using Social Networks | Semantic 
   
https://www.semanticscholar.org/paper/SybilInfer%3A-Detecting-Sybil-Nodes-using-Social-Danezis-Mittal/653fbfbad9d565dd5e5e0d48b6bb32dd02e8f157

   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,


Re: DHT algorithm cheat sheet?

2020-07-07 Thread таракан
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.






Re: DHT algorithm cheat sheet?

2020-07-04 Thread coderman
‐‐‐ Original Message ‐‐‐
On Saturday, July 4, 2020 4:16 PM, Zenaan Harkness  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?
>
> https://en.wikipedia.org/wiki/Distributed_hash_table

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,


DHT algorithm cheat sheet?

2020-07-04 Thread Zenaan Harkness
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