leecher的前世今生

前言:事实上leech/leecher这个词最早出现在p2p世界的时候并不是特指吸血的,而是相当于今日的download,即正在下载的客户端(相对于下载已经完毕正在进行上传的客户端)。leecher是何时被用来指代用各种手段使得数据不公平交换的技术和客户端,已经不可考,但是无疑的,emule世界出现的anti-leecher相关技术是最为明确的标志。

这篇文章将不再考证anti-leecher出现的历史和背景,而是主要着眼于emule世界中leecher的性质和行为。
下文中所说的emule网络,指代所有使用eD2K协议进行数据交换的p2p网络(为了避免使用电驴网络这个目前在中国指代意义混乱的名词)。

一、leech与leecher

关于吸血的定义,我在另一篇文章什么是吸血,如何定义吸血行为,如何对抗吸血行为已经讨论过了。这里要重新强调的一点是,必须从行为的本质上分析吸血行为,而不是单纯地从上传或者不上传来判断是否属于吸血。
首先我将展开论述这一点。

如上所述,emule是建立在p2p(=peer-to-peer ,peer这个词自身就含有地位平等的意义)上的网络,因此它是建立在平等的数据交换这个基本前提上的。这里的平等,与公平有本质上的不同,它强调的是客户端之间的地位是对等的(即不是服务器端到客户端的数据传输方式),因此每个客户端的(获取数据的)权利和(上传数据的)义务是平等的。emule的公平是由平等的数据交换而产生的公平,不是一般意义上的我给你多少你就给我多少的公平。emule并不要求获取了1G的数据量就必须上传1G的数据量(也就是公平),而是要求将所获取到的数据在其他客户端发出需求的时候回馈至网络中。在这个层面上,emule的信用系统(credit system)的作用是巨大的,它保证了上传数据较多的客户端会取得较高的数据获取优先权,从而实现了数据传输的良性循环。同时通过一些策略保证了新加入网络的客户端也能够较为优先的获取数据(因为新加入的客户端必然没有很大的上传积累量,即没有很高的因上传而带来的信用“积分”),以利于网络能够不断拓展。而emule的文件优先级的设计,使得信用系统(即俗称的积分)成为程序确定上传哪个文件、上传多少给某个特定的客户端的唯一依据,这也是保证数据传输的良性循环非常重要的一环。(因此使用者可以控制自己的哪些文件用于上传,但是不能控制将某个文件上传给特定或确定的客户端,通常所说的emule的公平的意义正在于此。)

吸血行为恰好相反。吸血行为的本质,就是通过控制上传(的具体内容和数据量),来欺骗性的获得数据获取优先权,以便能够最大化地进行下载。leecher并非不上传,因为在emule的credit system的作用之下,不上传数据而想获得下载,必须依靠信用系统给予新客户端的“优惠”,但是这个“优惠”具有时效性不能长期使用,在下载较大的文件时必然会产生一段时间之后几乎无法获取数据的情况。(相应的,有一种吸血行为是每次启动都变换userhash来伪装成新手,这是很不便的,因为并不是所有的客户端程序都可以随时关掉重开的)。

二、leecher的上传与正规客户端的上传的差异

上面已经论述了leecher必须上传的原因,下面将要讲到的部分,就是leecher的上传如何体现了leecher的本质。

在我们所熟知的http下载中,并不存在吸血这样的事物。leecher是伴随着p2p出现的新鲜事物,它的基本特征就是为了最大化数据的获取,即使破坏数据传输的良性循环也在所不惜。因此我们通常说,吸血是“一切上传仅为了下载”。它不考虑整个网络的数据循环和发展,而只注重最大化下载。如果是在http下载中这无可指摘,但是放到依靠平等的客户端互相传输数据的p2p网络中就变成了严重的问题。

下面的这个部分,并不涉及community boost所形成的私有网络。

leecher向正规客户端上传数据是具有选择性的。它不向自己没有数据需求的客户端上传数据,甚至采用failed upload这样的技术手段骗取上传积分,以提高在正规客户端的上传队列中的排名,更早更多地获得下载。因此,它上传的数据,不是为了回应其他客户端的请求以将数据在网络中传播出去形成数据的循环,而是满足自身下载需求。换言之,它的“给”,从头到尾都是为了“拿“。

leecher不考虑与其他客户端之间的数据交换,只是一味的通过各种技术手段尽多尽快的获取数据,因此会造成在宏观上的数据单向流动,从而会破坏数据的良性循环,影响emule网络的正常传输,严重时就会直接毁掉依赖对等传输的emule网络。

三、community boost(社区吸血)

社区吸血是当前非常典型的、也是较为主流的leecher类型。社区吸血的主要特征就是一个小团体内部进行数据交换,但是极少反馈给作为数据来源的全球emule网络,通常把这个小团体称为”私有网络“(private network)。

社区吸血的标志性技术手段,是通过特定的用户名(或用户名的部分)及/或userhash及/或mod string来对特定的客户端进行加分,以给予其相对较高的数据获取优先权。非常明显,这个信用系统是特别改造过的,且这种信用系统与对上传者高回报的信用系统(常见的非官方信用系统)是完全不同的。私有网络的内部数据交换,可以是不完全”公平“的,但是因为其小范围的特性,私有网络的成员仍然享有相对于公共网络成员而言完全不可想象的数据获取优先权。另外,由于社区吸血的私有网络内部,使用的多是一些leecher mod或者有吸血行为/技术手段的客户端,本身就对emule网络有一定的破坏性,使得社区吸血几乎就相当于一个毒瘤。

必须指出的一点是,社区吸血并不是通常想象的那种一个自给自足偶尔跟外界交换的”小水塘“,它的每一个节点都在不断的从公共网络中获取数据,但是获取到的数据在这个私有网络内部的交换的数据量远远大于回馈至公共网络的数据量。因此不管是从微观上看还是从宏观上看,社区吸血都造成了数据交换中事实上的大范围不平等。

10条评论隐藏

  1. #1 SD
    2010年12月2日 周四 22:49 | 回复

    @feathia 有人说真理不辩不明,其实也可以说不争不进步,若个人身心疲惫,则独善其身即可,争论的目的从来不是为了东风压倒西风,只为了表达自己的观点。

  2. #2 half unselfish sharer
    2010年12月3日 周五 01:01 | 回复

    @祈祷永恒的爱 emule能提供一种双赢的结果,而xl无论怎样玩最终的结果也是零和游戏。为了维护游戏规则,让游戏的结果达到双赢,我觉得在一定限度内dlp和ipfilter是合理的,而吸血的定义也是合理的。既然emule世界没有强有力的“法律”,那用大家都认同的dlp和ipfilter这种融合和司法和执法行为的工具来维持公平(也就是尽量提供达到双赢的环境)也就合情合理了。

  3. 2010年12月3日 周五 11:44 | 回复

    歪楼的评论就请尽量少点吧。

  4. #4 kao
    2010年12月3日 周五 15:23 | 回复

    @killsophia 啊呀你小心点,如果祈祷永恒的爱一会儿又认为“歪楼”一词是在这里特指他,有损他的人格名誉怎么办?又拿这个法那个法威胁取emulefans博客资料,威胁要告你怎么办?年轻啊,涉世不深啊 💡

  5. 2010年12月3日 周五 15:52 | 回复

    @kao 有什么可威胁的,即使是editor也不代表就等于emulefans这个blog。另:什么样程度的言论属于诽谤,法律上有明文规定,不是某个人觉得是就是的。
    旧话重提:请回到本文的主题上吧。

  6. #6 chenjiajia9411
    2010年12月3日 周五 20:53 | 回复

    关于某爱同学的长篇大论,鄙人基本上已经看懂了(绝不是说您写的文字如此高深以至于看不懂才“理解错”您的意思),鄙人只想说,如果您真的觉得ed2k乃至P2P用户(指不指吸血者不重要(不是说您是跟他们一帮的))是在“贬低”您,“围殴”您,您尽可以愤而离开,依据《中华人民共和国宪法》,《中华人民共和国刑法》和《中华人民共和国民法通则》向您所在地的中级人民法院或高级人民法院提起诉讼,或者您乐意的话直接来把我砍了,不过您还要普及您那“爱”的理论,估计您是不会停止辩论的。

    注:引号并非引用,也并非讽刺,仅为对无法确认之事的分隔

  7. #7 Mle
    2010年12月12日 周日 17:13 | 回复

    这个需要Mark下,慢慢研究…

  8. #8 kingwoniu
    2011年11月4日 周五 17:32 | 回复

    官方emule好像没有反吸血的措施,那不是很惨,上传列表中一堆迅雷。

  9. #9 gid
    2011年11月4日 周五 23:07 | 回复

    @kingwoniu 不会没有,而是很弱,但关键问题是国外没有那么多迅雷似流氓软件和用迅雷的。

  10. #10 manjianghong
    2013年11月26日 周二 18:39 | 回复

    吸血驴与整世界潮流背道而驰,被全球文明驱逐剿杀,那是自食其果。

共5页上一页12345

发表评论

您的Email将不会显示出来。头像请至Gravatar.com注册上传。*号标注项为必填。

*
*
*
标签用法
字数:0