p2p

来源:互联网 发布:unity3d 2017无法破解 编辑:程序博客网 时间:2024/04/20 09:38
目前p2p技术面临的最大难题是什么?
内网穿透?分布式下载?网络规模?流式播放?p2p式路由?p2p式搜索?
都不是。除了最后一个还有一点点困难之外(我前几天发的那篇关于DHT的blog已经相等程度上解决了这个问题),这里提到的基本上都属于已解决的问题。
可以说,目前的 p2p网络研究已经进入到一个成熟期了,只需要有一个稍微强大的开发队伍,实现一个能承载几千万人的p2p网络根本不成问题。
只有一个问题没有解决。
这就使free-rider的问题。

什么是free-rider?free-rider原意指的是那种坐车不买票的人,在p2p研究中,用它来指那些只利用系统、但不对系统作任何贡献的人。
据统计,一般的p2p系统都有60%-80%的家伙是只下载不上传的,这些家伙就是free-rider。通常,一个p2p系统中的free-rider会随时间推移越来越多,直至最后维持在一个很好的水平上,那时系统就变得死气沉沉了。
free-rider问题,其实是一个p2p系统的维护和管理问题,是制定什么样的管理制度,让一个p2p网络能够在无人管理的情况下,永葆青春的问题。这已经有点超出技术的范围之内。但是这个问题如果不与有关的技术结合起来,是不可能得到一种比较好的解决方案的;而且这个问题非常重要,不解决这个问题,所有p2p系统de最后结局可能都是死路一条。

free-rider是一个比较含糊的概念,我这里稍微整理一下:
    最近的测量表明80%的eDonkey用户不共享任何资源,大概60%的Maze用户不上传资源。不共享、不上传资源的,我们称为第一类free-rider。
    用户为了降低自己的负载,倾向于把热门资源移出共享而保留那些非热门的资源,这是第二类Free-rider。
    第三类是诈骗性的free-rider,如将一部不怎么流行的电影改名为当前热门电影,骗取流量;如注册多个用户,互相下载,骗取积分等等,这是是第三类Free-rider。

为什么那么多用户会选择做free-rider呢?
很简单,大家都是聪明人,自然都会选择对自己有利的策略。如果共享东西对我没多大好处(可能还有坏处,如带宽占用,硬盘损坏等等,现在还多了个法律方面的问题),那么我为什么要上传东西呢?
用博弈论的话来说,这是一个囚徒困境,每个p2p用户都是一个可怜的囚徒:每个人都选择对自己最有利的方案,最终的结果却是导致整个p2p系统的不可用。
唱片公司们好像知道这一点似的,他们很明白:只要把几个热衷于共享的用户送上法庭,p2p系统中的违法文件就可能会大幅度下降——因为这是p2p系统的软肋。
free-rider的问题,实际上也就是用户的激励问题。只要共享东西对用户来说利大于弊,那么系统就不会有那么多的free-rider,系统就能生生不息;否则,系统必将走向没落。
free-rider是p2p系统的特有现象,因为一般的中心式系统,都会有一个监管的角色,提供资源、剔出不良用户、删除不良信息等等,维护系统的正常发展。p2p系统中,这一角色缺位,导致系统在最初设计的时候,必须从技术上解决这一难题。

那么现在有哪些解决free-rider的方案呢?可惜,现有的方法-效果不是很明显,不成系统,而且一般都有漏洞可以钻。
   1、 Ad-hoc的下载激励方式 。这种模式是用户在上传时,使用“以恩报恩”的方法:对方给我的下载速度越快,我给他上传的速度也就越快。这是BitTorrent系统采用的方式,是一种很聪明的方式。可惜,这种方式只针对某一次传输有效。
   2、 DC++,限制加入网络的人必须共享一定数目的文件。
   3、 eDonkey、Maze都根据你的历史上载记录来提高你的下载排名
   4、下载软件 默认的把下载资源添加到共享里(几乎所有的系统都是这样)
   5、文化影响——很多p2p社区已经开始了这样一种文化:人人为我,我为人人。提倡使用者积极主动上传数据,为p2p大厦的组建添砖加瓦。这是一个很可喜的现象,可惜我们都知道,一个组织要完全靠道德来维持是非常困难的。
特别要注意的是:很多p2p文件共享软件都是开源软件。开源软件意味着用户很容易修改在软件内部对他的限制,甚至有可能可以提高自己的积分(在积分不保存在服务器中的情况下)。
 
原创粉丝点击