BT下载的未来

作者: 阮一峰

日期: 2009年11月19日

珠峰培训

1.

前天,世界最大BT下载网站"海盗湾"(thepiratebay.org),在官方网志上宣布,永久关闭Tracker服务器:

TPB has decided that there is no need to run a tracker anymore, so it will remain down! It's the end of an era.

我们认为没有必要再维护Tracker服务器了,它不会再上线了!它的时代已经结束了。

无论对于海盗湾,还是对于整个互联网社区,这都是一个非常重大的事件,就像官方网志中所说,"一个时代结束了"。因为从今以后,我们使用BT下载的方式将发生革命性变化。

2.

表面上看,这个事件似乎是经过一系列法律纠纷之后,"海盗湾"做出了妥协,对版权组织的压力屈服了。要知道2009年整个一年,海盗湾都是麻烦缠身。

事情的起源是在2008月1月31日,瑞典检察官对"海盗湾"提起公诉,起诉该网站违反版权法。根据检察官的记录,控告海盗湾的案件已经达到了34起,其中涉及音乐行业的21起、电影行业9起、游戏行业4起。

形势在2009年出现了急剧发展。

2月16日,瑞典法庭开庭审判此案,庭审持续了9天,到3月3日结束。

4月17日,四个主要负责人被判有罪,入狱一年,支付罚金360万美元。四人随后提起上诉,目前此案仍在上诉中。

5月13日,几家唱片公司对海盗湾提出追加起诉,并连带起诉了海盗湾的网络接入商Black Internet。

6月30日,瑞典广告娱乐公司GGF宣布与海盗湾达成协议,将以850万美元的价格收购后者

7月30日,美国一些主要的电影公司(包括Disney、Universal、Time Warner、Columbia、Sony、NBC和Paramount),加入起诉海盗湾的行列。

8月21日,法庭宣判Black Internet必须立即停止为海盗湾提供网络接入,否则将面临6万美元罚款。

8月24日,海盗湾下线。但是,24小时之内,海盗湾更换了服务商,又重新上线。

9月9日,瑞典证券交易所以"严重违规"为由勒令GGF退市,GGF面临破产压力,导致收购海盗湾协议流产。

10月5日,由于反盗版组织的压力,海盗湾的新网络接入商NForce切断网线,海盗湾再次下线。

10月6日,海盗湾将服务器搬入荷兰,在一个建在废弃的北约军事基地中的机房重新上线。

11月17日,海盗湾宣布永久性关闭所有Tracker服务器,此时距离它成立刚好满六年。

3.

难道"海盗湾"真的要"弃暗投明",做一个顺服的"良民"吗?

不,真正的反抗者永远不会向腐朽的旧势力妥协,不会在金钱和权势面前低头。他们只会改变战斗的方式,继续抵抗下去。

"海盗湾"是这样解释为什么要关闭Tracker服务器的:

Now that the decentralized system for finding peers is so well developed, ...the era is no longer up2date. We have put a server in a museum already, and now the tracking can be put there as well.

去中心化的下载模式已经非常成熟了,......tracker模式过时了。我们已经把一台服务器送入了博物馆,现在是时候将旧的下载模式也送进博物馆了。

这就是说,海盗湾认为,关闭Tracker服务器只是因为它过时了,有更好的技术出现了。海盗湾为什么这么说呢?Tracker模式真的过时了吗?

4.

为了说清楚这个问题,我们必须了解传统的BT下载模式是什么样的,以及Tracker服务器到底起到什么作用。

请回忆一下,你是如何使用BT下载的。

首先,你从浏览器中找到你感兴趣的内容,下载相应的torrent文件。然后,你用一个BT下载客户端软件,打开这个文件。这时,客户端软件就会根据torrent文件中的网址,自动连接Tracker服务器,从它那里接收到其他正在下载该文件的人的网址名单。下一步,软件就一一与名单上的网址取得联系,从他们那里获取文件的片段,直到整个下载完成。

从这个过程中,我们可以看到,Tracker服务器是整个BT下载的灵魂,文件可以不存在,但是Tracker服务器却不能不存在。要是连不上它,BT下载根本没法启动,因为你无从知道,找谁索要文件。就是由于这个原因,Tracker服务器成为了版权组织打击的重点。他们的想法很明确,只要除掉了Tracker,BT下载就完了。他们的理由是,虽然Tracker本身不传递内容,但是为传播盗版提供了便利,是犯罪的协助者。更何况,Tracker服务器的网址是公开的,很容易找到它的所有者,逃都逃不掉。

在这种形势下,Tracker提供者的日子都很难过。海盗湾是世界排名第一的Tracker提供者,它已经在被追杀了。排名第二的Demonoid从今年9月15日起,就一直处于维护状态,不知道何时重新开放。其他的Tracker提供者基本上也是在法律诉讼的阴影下度日。那些不提供Tracker服务,只提供torrent文件索引服务的网站,比如MininovaTorrentzisoHunt,日子稍微好过一点。但是明摆着,版权组织收拾完Tracker以后,就要收拾它们了。比如,今年8月,Mininova就在一场官司中败诉,荷兰法官判决,该网站必须移除所有侵权内容的torrent文件。

5.

既然,Tracker服务器在法律上很难立足,那么有没有办法,在不使用Tracker的情况下,依然使用BT下载呢?

2002年,纽约大学的两个教授Petar Maymounkov和David Mazières发表了一篇论文,提出了一种真正去中心化的"点对点"下载模型,他们把它叫做Kademlia方法。Emule率先在软件中支持这种方法,KAD网络就是这样来的。到了2005年,BT软件也开始跟进了。目前,所有主流的BT下载客户端软件都支持这种方法。在BT下载中,这被叫做DHT协议(Distributed hash table,分布式哈希表)。

为什么有了DHT协议以后,就不再需要Tracker服务器了,真正实现了去中心化的点对点下载?

根据我对这个协议有限的理解,它是这样做的:

每一台加入BT下载的计算机,都被称为一个节点(node),有一个自己的ID。这个ID是一个哈希函数值,通过对要分享的文件内容或它的元数据进行哈希运算而得到。这就是说,如果两台计算机正在下载同一个文件,那么它们的ID应该是彼此相似的。于是,每一台计算机就通过寻找与自己相似的ID,来找到自己可以与之交换数据的其他节点。

DHT协议的另一个巧妙之处在于,每一台计算机只保留自己附近的一部分节点信息。因此,为了得到更多的节点信息,就必须采用接龙方式,在一个个节点之间跳跃,逐步得到全网的节点分布图。这种信息获取方式,就保证了整个网络没有单个的中心,即使一个节点下线了,依然可以通过其他节点来获取文件,因此也就不需要Tracker服务器来告诉你,其他节点在什么地方了。

我对这个协议有一个细节还不是很清楚,我不知道,当BT下载刚刚启动的时候,如何获得第一个外部节点的位置?需不需要有人告诉你,你首先应该去找谁?如果需要的话,那么这个协议或多或少还是有一个中央服务器的。但是,如果不需要的话,那就真的是纯粹的去中心化的分布式下载协议了。

现在所有主流的BT下载客户端,都支持DHT协议,也就是说,它们都能在没有Tracker的情况下完成下载。事实证明,它们不仅能完成,而且还能完成得很好!海盗湾和Demonoid的Tracker服务器都已经关掉了,但是如果你使用它们以前的torrent文件,依然能够完成下载。为什么?这就是DHT协议在发挥作用啊。所以,正是由于DHT可以取代Tracker,海盗湾才会宣布放弃Tracker模式。

6.

让我们看看,现在在海盗湾上,如何使用BT下载。

如果你细心观察的话,你会发现在每一个文件后面,现在都有一个磁铁标志。点击以后,会打开一个地址,这被叫做magnet URI。

举例来说,今天的热门下载文件是Inglourious.Basterds.DVDRip.XviD-iMBT.avi,按照以前的方式,我们需要下载它的torrent文件,然后才能下载这部电影本身。但是,在新的模式下面,我们不需要下载torrent文件,我们只需要知道它的magnet URI,就可以了。只要把这个地址告诉下载软件,软件就会开始自动下载。这和emule下载非常相似,只需要一个资源定位信息,其他都不需要。

Inglourious.Basterds.DVDRip.XviD-iMBT.avi的magnet URI如下:

magnet:
?xt=urn:btih:60c423137f453492ca34c2d69f6f573408dca35a
&dn=Inglourious.Basterds.DVDRip.XviD-iMBT.avi
&tr=http%3A%2F%2Ftracker.publicbt.com%2Fannounce

分解一下这个网址:

magnet:协议名。

xt:exact topic的缩写,表示资源定位点。BTIH(BitTorrent Info Hash)表示哈希方法名,这里还可以使用SHA1和MD5。这个值是文件的标识符,是不可缺少的。

dn:display name的缩写,表示向用户显示的文件名。这一项是选填的。

tr:tracker的缩写,表示tracker服务器的地址。这一项也是选填的。

简单说,只要知道magnet:?xt=urn:btih:60c423137f453492ca34c2d69f6f573408dca35a这个地址,不用下载torrent文件,也不用再了解其他信息,就能开始BT下载这个文件了。

7.

这样做有什么好处?

显而易见的好处是,整个下载网络的可靠性提高了,每一个节点都是可以被替代的。另一个好处是,审查变得更困难了,因为每次下载的路径都是不一样的,而且每个节点都是动态变化的,导致实际上无法追踪谁在下载。此外,magnet URI只是一个字符串,非常容易传播,根本无法禁止。

因此,从这些方面考虑,magnet URI取代Tracker模式是大势所趋,迟早成为主流的BT下载方式。

根据TorrentFreak的消息,下一步,海盗湾连Torrent文件也不打算支持了,将彻底放弃传统的BT下载模式,只提供Magnet URI。当然,这样一来,BT下载和emule下载就是同一种东西了,因此很可能这两者最终也会统一起来。

更重要的是,我们可以想像,这种模式既然可以安全地、匿名地传播文件,就一定可以安全地、匿名地传播其他东西。当互联网上每一台机器都在自动交换信息的时候,谎言和封锁又能持续多久呢?

8.

最后是几个目前还在运行的Tracker服务器地址,大家可以继续使用,更多的tracker网址请参考Trackon.org(大陆访问者需翻墙)。

  * OpenBitTorrent

  * The HiddenTracker

  * OpenBitTorrent.kg

  * PublicBitTorrent

  * BitTrk

(完)

优达学城

腾讯课堂

留言(52条)

谎言和封锁又能持续多久呢?

启动的时候需要添加一个初始的node表,也就是现在在线的一些人
这些人可能并没有你要的文件,你只是通过他们做跳板找到你要的文件。
share和winny等日系的P2P共享程序初始时是要通过HTTP方式去下载一个node表。bt和电驴是自动储存你通过tracker或者电驴服务器连接到的peers来自己生成一个node表。

谎言和封锁又能持续多久呢?

刚才试了一下,用utorrent下无耻混蛋速度很慢啊,国内的电驴其实做的很不错了,国外的种子好像在国内下的时候比较慢啊。

有点曲终人散的感觉~
但新技术又会取代原来的不足吧~

有初始的启动节点,叫bootstrap,如果你曾经从一些节点那儿成功下载过东西,它就有可能被记录下来成为你下一次下载的bootstrap。

至于第一次下载的bootstrap怎么办……我也不清楚,也许是给定一些?不过可以肯定的是,给定100个固定的bootstrap,把它们都搞倒总比把tracker搞倒要难吧

这个就是斗争,只要盗版(你可以不屑于目前的盗版的定义,但是只要法律不变,分享这些电影,音乐就是违法)不停止,商家永远能找到办法,爱好自由的人开发出来分享软件,自然有爱钱的人为商业公司工作,找出破绽.不改变盗版的定义,这个矛盾解不开.即使去中心化,商业公司也会找出其他办法的.

不错,很精彩的文章,我顶你

好像日本的Winny和Share就是采用的这种方式。

当互联网上每一台机器都在自动交换信息的时候,谎言和封锁又能持续多久呢?

我来顶这句的。

谎言和封锁又能持续多久

引用fooltiger的发言:

share和winny等日系的P2P共享程序初始时是要通过HTTP方式去下载一个node表。bt和电驴是自动储存你通过tracker或者电驴服务器连接到的peers来自己生成一个node表。

看来还是需要一个中心服务器,那么就不能算真正的“去中心化”了……

DHT和Kademlia的关系是这样的:DHT是一种方法,它有很多中实现或者说design,包括CAN,Chord,Kademlia等等。

在Kademlia中,每个节点有一个节点ID,可以通过consistent hash 函数得到(比如对MAC地址进行HASH),每个文件也有一个ID(比如对文件内容进行hash得到)。两个ID之间的距离是由对它们进行异或操作得到,比如dist(id1,id2) = id1 XOR id2。 对于一个ID为x的文件,由一个ID为y的节点负责保存所有“正在下载文件x的节点“,其中节点y是所有节点中距离x最近的。其实节点y就充当了一个零时的tracker。当然实际设计的时候会提供一些冗余来增加可靠性。

新加入节点需要知道至少一个已经加入系统的其他节点,这可以通过某些网站获取(比如,http://www.nodes-dat.com/),或者某些服务器(对于verycd改得easymule来说,”高级“标签下会显示很多服务器,其中有些就是干这个的),所以说还是无法完全去中心化的。

emule 启动后穷举跟你 ip 最近的节点。不需要服务器。

decentralized 翻译成分布式会不会好些

Of course network blockage and censorship is wrong.

But do you really believe it is moral to pirate copy-righted information?

Blocking things is definitely wrong. But this doesn't give you the permission and moral comfort to access stuff without permission; that's to steal. Breaking the blockage and breaking into copy-righted things are completely different concepts.

基于此发布Web,那就无敌了!

我的公司电脑,一年前就不能下载任何东西了,我一直只能“目标另存为”,下个月起,老板下令禁止所有即时通讯工具和浏览网页,但看起来他的钱会越赚越多,政府和银行也会越来越依赖他,这种封锁和谎言又会持续多久呢?

有一种下载叫PT, 貌似可以替换掉BT, 只是不能匿名.

一个时代结束了,emule还活着

无服务器网络里目前比较流行的:
BT客户端的几种不同的DHT实现;
电驴(edonkey)的是overnet(可惜电驴已经“被倒闭了”),mldonkey还保留有;
电骡(emule)的kad2做的很不错,下一版本将全面支持kad2;
最流行的还是gnutella,支持gnutella的客户端最多,比如shareaza。

国内verycd公司的那个“电驴”当然不是货真价实的电驴,只是一个冒用电驴名号的电骡修改版,技术实现上严重依赖其自身公司的中央服务器的支持,除了为了low2low,还因为作为一个某某某积极合作者需要获取用户信息返回中心服务器,那个公司制造的谎言和封锁与对用户的蒙蔽行为也是一脉相承于某某某。

引用bwskyer的发言:

有一种下载叫PT, 貌似可以替换掉BT, 只是不能匿名.

PT只是private tracker,是为了解决掉"下了就跑"和"吸血行为"的强制分享比例的私有tracker,本质还是BT。不过可以了解下i2p网络,里面所有服务包括web服务都是匿名的,目前支持i2p的文件交换软件有imule

有关所有实现了Kademlia无服务器网络的软件介绍,http://emule-fans.com/kademlia/

有空好好读读相关论文去吧。
DHT的思想是很好,但是目前效率和Tracker相比还是过于低下。因此无论BT里的DHT还是eMule里的Kad,都只是辅助资源发现协议,难以完全取代中心索引服务器。

引用sonic的发言:

do you really believe it is moral to pirate copy-righted information?

So-called pirate,how to define it?If I just wanna share stuff with my friends?Copy-right laws allow 亅us to share things with friends for uncommercial using。 BT or Emule is just a tool helping us sharing stuff with friends uncommercially。

引用乱发吹风的发言:

基于此发布Web,那就无敌了!

Opera Unite可以以个人服务器发布,但是还没有去中心化。靠Opera中心的服务器寻找内容。

在BT的时候,单靠DHT的速度实在是不敢恭维。Tracker服务器的效率优势就体现出来了。如果能让中心节点的服务器只起路由的作用,不存储节点内的信息。是不是会让出版商找不到把柄啊?

因为我们有GFw 下国外bt本来就很慢 不知翻墙的人连海盗湾都上不去 这tracker倒了跟我们关系倒不大 反正我们的速度从来就是慢得很的 倒是新兴的 rapidshare等网盘打败了bt 付费在淘宝租来用算便宜 即使用免费的就是麻烦点 但根本不用担心下载人多人少的问题 网速有保障 只要文件没删就可以下 所以小弟觉得 以后网盘才是王道 呵呵

去看DHT的wikipedia就好了。

我正好这两天在做一个DHT的实现。

有很多人都在研究如何改进和提高DHT查询的性能呢,这些研究有一天会帮助到每一个下载的人。

引用微蓝的发言:

我的公司电脑,一年前就不能下载任何东西了,我一直只能“目标另存为”,下个月起,老板下令禁止所有即时通讯工具和浏览网页,但看起来他的钱会越赚越多,政府和银行也会越来越依赖他,这种封锁和谎言又会持续多久呢?

能否请教其中的因果联系?我始终觉得办公场所有网络使用方面限制很正常。

看来很多人都在低估大中华局域网的实力,哼哼,这是你们这辈子犯的最大的错误……

突然想到了《海盗电台》

我今天才在看《海盗电台》,我觉得通过去中心化是一种自由。

我们应该在互联网上首先实现共产主义

引用阿企的发言:


So-called pirate,how to define it?If I just wanna share stuff with my friends?Copy-right laws allow 亅us to share things with friends for uncommercial using。 BT or Emule is just a tool helping us sharing stuff with friends uncommercially。


Fine, share whatever YOU created it, but not the stuff without permission.

我觉的海盗湾应该搬到中国来,盗版在在中国还不能算是个问题,中国网民多。再搞个中文界面,它肯定能超过像什么百度、Google。

如果使用盗版泛滥,正版获得的经济支持大大减少。我们的未来可能变得不怎么创新了。当然这是最坏的结果。所以有能力的情况下,这一代盗版,下一代可以正版。

看过《North.Korea.Undercover》,知道北韩是没有互联网的,才知道中国是多么幸运。

但小小的日本国和从韩国分列出来由美国支持的南韩,城市平均网速有48Mbps,又感觉我们是多么不幸

引用微蓝的发言:

我的公司电脑,一年前就不能下载任何东西了,我一直只能“目标另存为”,下个月起,老板下令禁止所有即时通讯工具和浏览网页,但看起来他的钱会越赚越多,政府和银行也会越来越依赖他,这种封锁和谎言又会持续多久呢?

那网站掉供商不是没戏了!其实做这么多事情不都是为了一件事吗?就是做个虚拟路由器...这之间的算法太过复杂了.

这不在中国也完了吗

支持海盗湾~

只要有需求,就会不断产生新技术。Nasper不就是为了分享mp3产生的嘛,被禁掉不是产生了Gnutella吗。BT被禁掉会产生新的技术的,DHT应该是BT的未来,DHT效率低?拜托,那需要你做贡献的,如果大家都在LEECH,什么技术都不行啊。
影响P2P将来的我觉得是严酷的政策,如果你今天下了一个mp3,明天就收到一个律师函,估计P2P马上就死掉了,DRM技术并不能解决P2P的盗版问题,付费后通过P2P下载,估计还不如直接去买盗版盘呢,或者正版盘,速度也要比下载快。

没有人权的国家

干什么只要管理不方便都可以直接行政关停

武装到牙齿都没用

bt下载需要那么多人,自然容易打击

你以为去中心就打击不了你?那是老外,有人权,政府不能随便禁止很多好坏都有的行为

中国是株连,管不了你菜刀杀人,我就管你菜刀制造者

管不了菜刀,我就管你商店

管不了商店,可以继续株连下去,把你钢厂关了,没铁你还能生产菜刀?

权限分享

私有分享才是王道

参与的人多了,吃白食的多了,容易被注意,被发现

影响的人多,自然没前途

在中国必须靠地下组织

说道底还是立法不严

如果产权明晰,我分享自己有版权的,别人管的着吗

比如说我分享自己写的软件,gnu软件

你没有任何理由行政关停

行政就是以损害一部分人的权力方便自己管理

如果有信息法,我自己拉一条光纤,组建自己的通信网,国家有什么权力禁止?

在中国就禁止,不准

没有理由

很多人天然的随意的被剥夺各种天赋的权利

这就是人权

谎言和封锁又能持续多久

电驴中有个叫断头档的玩意(比如 Cyndi-connect.tmp) 这种文件永远都不会被下载完 所以可以通过断头档来获得更多的节点

我对于DHT网络的接入一直也存有疑问,觉得始终不可能做到去中心化。翻看了一些网络上的资料,可以说,达到了一定程度的去中心化。rTorrent网站上面的资料提到了DHT bootstrapping的三种常见情况。 http://libtorrent.rakshasa.no/wiki/RTorrentUsingDHT

从理论上来说,我感觉绝对的去中心化是做不到的,只能从某种程度上接近。除非有另外一个类型的服务可以专门自动提供key-value map service,而这种服务又应用的及其普遍。

磁链接似乎有时效性,如果你先把下载的文件暂停,过几个小时再重新启动的话,在我这里是显示不能下载了,而且事先不知道文件的名字,很难判断那个是那个,链接一多而且在有限的带宽下下载多个文件会引起混乱,尤其是你想优先下载某个文件的时候.

实际上还是有服务器的。只是使用技术手段增加了被k的难度和被抓到的难度。

或者绕过法律。

人类社会始终是矛盾的。只要人类存在就不能结束矛盾。
所以就算未来可能是云之彼端的世界。
可是我们依然可以找到盗版云,私有云,非法云等等。
人类世界就在这无休止的矛盾中毁灭。

呼唤真正的去中心化文件传输协议。

偶然想试试,这个不登录可以留言吗?
特征,标记的是哪里?

我要发表看法

«-必填

«-必填,不公开

«-我信任你,不会填写广告链接