Hi David, my answers are below.
On Mon, Jun 28, 2010 at 02:36:52PM -0700, David Barrett wrote: > Interesting! My first question would be: why start out with a DHT, why > not keep things simple and start with a simple central server to get the > overall usability sorted out, and then go to a DHT later? It's a very > hard technical problem to solve; I'd just question whether that's necessary. You are right that we could have started without the DHT. There are several reasons for using the DHT right from the beginning: - To enforce privacy of data, Seeks does not differentiate the server from the client. This is to ensure that user data remain on the user's machine that serves them and not elsewhere. I do believe that trust and confidence in the project do grow because of such decision. - We believe the users should be free to grow the network and to participate. - additionally, a single server would need backup (one good reason is that young software tends to crash), and would then need to be scaled and eventually migrated to a DHT or similar. [Naturally, an additional advantage is that P2P is more disruptive :)] > As for the core networking layer, I'd suggest putting a lot of thought > into your NAT penetration strategy up front. It's at least as hard a > problem as the DHT itself, and it has huge ramifications on the protocol > design. Does anybody know if there are any good libraries for this yet? > I know the P2P-SIP guys have been talking about this for *years* now > with ICE -- has anything come to fruition yet? Use of libjingle and other similar libraries was considered right from the beginning and then abandonned. The reason is that Seeks' DHT is expected to exhibit a high number of fast and tiny (a few hundred bytes) calls to many machines. In this context, NAT traversal seems counterproductive since establishing the connection remains the most costly operation. NAT penetration would be great, but for the near future what we expect is to ask people to open a port. Naturally, easing the connection to the DHT nodes is a major concern. Another option under study is to use a subscribe/push system to pass information to clients that would then 'subscribe' to a 'search group' (a group of seekers). Em. _______________________________________________ p2p-hackers mailing list p2p-hackers@lists.zooko.com http://lists.zooko.com/mailman/listinfo/p2p-hackers