[p2p-hackers] P2P or centralized

David Barrett dbarrett at quinthar.com
Thu Aug 14 20:18:55 EDT 2008

Heh, now you've got me riled up. ;)

Salman Abdul Baset wrote:
>> The point is those p2p layers are far easier to build atop a solid
>> centralized core than on top of more p2p.
> Sure. Cost is usually the differentiator but it is probably decreasing.

Er, not sure I follow, but yes.  The cost of centralized components is 
decreasing while their power is increasing.

>>> Also, I suspect that the
>>> administrative costs and pains for managing 15-20 servers may overshadow any
>>> per-month bandwidth costs for connectivity.
>> Are you suggesting that it's easier to manage a 10-million node DHT than
>> 15-20 centralized servers?  I think not.
>> If you have 15-20 servers, that means you have millions of active users
>> and you are a massive success -- the centralized costs and
>> administration headaches are utterly trivial by comparison.
> Real numbers will be helpful here. I will like to compare the 
> administrative/bw costs of running Skype, GTalk, MSN, and Yahoo 
> messengers. Anyone with insights?

I'm giving you real numbers.  I'm in a position to know, as I was the 
engineering manager or Red Swoosh, acquired by Akamai.  Red Swoosh uses 
central indexing servers for P2P content distribution, and has 
successfully installed to hundreds of thousands of desktops.  This is 
not guesswork or simulation, this is the real world.

Prior to the acquisition, the servers were off the shelf dedicated 
servers, and they could handle 100K connections/server without breaking 
a sweat, and this was before any hard-core optimizations.

>> Also, I should clarify -- the 100K users / $100/mo box ratio I tossed
>> out is a rule of thumb because it's easy to remember and easy to
>> achieve.  With some work you can find cheaper boxes ($50/mo) and get
>> them to support even more connections 250K seems pretty easy.  Even
>> 1M/box seems achievable.
> As long as they only do presence. YouTube may not tell the same story.

Er, let me clarify once again -- I'm talking a rendezvous service that 
maintains near-idle keepalive connections.  YouTube is about as far from 
that as I can imagine.

>> Never underestimate the power of appropriate centralization, or your
>> competitors will beat you to the punch years early.
> Sure.
> However, there was nothing that prevented MSN or Yahoo, purely centralized 
> solutions, from offering a good IM/VoIP solution. Skype's success is not 
> solely attributable to p2p. However, the economic cost of their entry into 
> VoIP/IM space was lowered by using a p2p solution for NAT traversal.

Skype's success was in a distributed relay service -- brilliant.  But 
Skype did it atop an unnecessarily-distributed rendezvous service. 
Luckily, they had one sitting around from Kazaa, so it was an easy 
decision.  If you have proven software on a hundred million desktops, I 
agree -- use it, no matter how it's built.  But if you don't, then do 
what is easiest.

Regarding the big names, they stopped innovating their IM clieints in 
'98.  Microsoft and Yahoo didn't give a damn about VoIP because the 
revenue it generates is insignificant to a company that size.  It 
certainly wasn't due to a lack of capability.  Had they really become 
interested (and I still don't think they are today), they could have 
done the distributed relay part better than Skype.

But they're big companies focused on something else, with an established 
userbase so huge it puts everything else to shame.  They're risk 
adverse, with crappy engineers, with comparatively little to gain, and 
with a lot to lose.  Same story with every big company.

>>> Nodes need to connect to a central server to get their identity signed by a
>>> central server. This must happen to prevent Sybil attacks. A bootstrap server
>>> can be co-located with this authentication server.
>> That's one thing that's bothered me with a lot of discussions of P2P.
>> At the end of the day, real-world p2p systems utterly depend on
>> reliable, realtime access to centralized components.  Successful systems
>> recognize and exploit this.
> BitTorrent, eMule, Skype are examples of successful distributed systems. 
> They may not be 'purely' distributed, but work reasonably well.
>> Usability, security, decentralization.  Pick any two.
> For Skype, can we pick all three? :)

Skype isn't decentralized.  They have central bootstrapping, central 
authentication, central billing, etc.  If Skype says you don't talk, you 
don't talk.  If Skype blows up, you don't talk.  And as happened last 
year, if their pointless rendezvous mesh gets destablized due to massive 
reboots, you don't talk for a long time.

AIM, ICQ, or MSN are all far bigger than Skype; have they *ever* gone 
down that long?

Anyway, just pushing back on the religion that P2P has developed.  It's 
fun.  It's sexy.  It's really hard.  But it's often pointless.


More information about the p2p-hackers mailing list