1

本文简短回顾下P2P网络发展的一些重要标志性事件。

ARPANET,1969年

ARPANET,中文称为阿帕网,一开始只是连接加州大学洛杉矶分校,斯坦福研究所,加州大学-圣塔芭芭拉和犹他大学,彼此间视为对等的计算机节点,而不非 C/S 结构。阿帕网为美国国防部高级研究计划署开发的世界上第一个运营的封包交换网络,它是全球互联网的始祖。

早期互联网比较流行的应用,比如 FTP 和 Telent 都是 C/S 结构,但其实主机也扮演着其它主机的服务器角色,出现了对称使用的情况。

Usenet,1979年

Usenet又称"新闻组"(newsgroups),是一个全球性的文件交换网络。它的底层协议是基于UUCP(Unix-to-Unix-copy)。我们可以将它看成是一个巨大无比的网上讨论组。

Napster,1999年

从80年代到90年代,开始流行客户端 - 服务端模式,但是个人消费级CPU的计算能力仍然不理想。大部分文件传输还是依靠电话线,使用FTP或者Usenet网络。90年代后,新的数据压缩技术出现,例如MP3,MPEG。

在此背景下,Napster出现了。用户可以免费下载Napster客户端,然后从别人那里下载MP3文件,同时自己也作为一台服务器,供别人下载。
Napster有一台中心服务器,向所有用户提供文件目录服务,客户想下载音乐时,需要先到这台中心服务器上查询哪些客户端拥有这首音乐,然后直连到那台机器下载。
不到一年时间,它的用户量达到100万,两年时间不到,金属乐队起诉这家公司。2001年七月,Napster被关闭,此时距它成立还不到三年时间。

Gnutella,2000年

Napster不能算是完全意义上的分布式网络,因为它依靠中心节点来存储索引,所以这也是为什么Napster容易被关闭的原因。Gnutella则是通过泛洪查询模型,它向与自己直接连接的节点发起查询,被查询的结点再去查询与自己连接的节点,如此递归下去,直到查询到为止。尽管它没有直接查询中心节点有效率,但它不再依赖一个中心化的索引节点。

Freenet,2000年

Freenet 是一个内容发布和沟通平台,专为抵御内容审查而设计。在Freenet网络中,任何人都可以在上面自由发表言论,做自己想做的网站,传自己想传的资源。Freenet开启了暗网时代!

Bittorrent,2001年

Bittorrent是基于TCP/IP协议开发的。发布文件之前需要制作种子文件,种子是一个记录了下载文件的服务器信息的索引文件。BitTorrent协议下载的特点是,下载的人越多,提供的带宽也越多,下载速度就越快。同时,拥有完整文件的用户也会越来越多,文件的“寿命”也就越长。
BitTorrent引入了分布式哈希技术( DHT ),相比泛洪查询技术,DHT效率显著提升。下一篇文章我们将重点分析它的原理。

Bitcoin,2009年

Bitcoin虽然不是为了分享文件而设计的,但是他提出了一种新的p2p存储框架。和之前的DHT不同,区块链是一种分布式的注册表,中本聪希望用它来存储不可修改以及不断增长的交易信息。DHT是为了解决查询效率的问题,并不关注数据的不可篡性。
矿工们自己可能没有想到,他们的共识机制被抽像出来,应用在了存储、财产交易等不同的场景。

Namecoin,2011年

Namecoin是一个去中心化的域名系统,功能和传统的域名供应商类似,用来解析域名。我们现在使用的域名系统是分布式而非去中心化的,所以理论上强权是可以做到控制整个域名系统,从而控制互联网的访问。而Namecoin是去中心化的,理论上是没有人可以关闭他的。Namecoin提供的域名后缀是.bit,目前主流浏览器都还不支持它,要想使用就需要安装插件。可以说Namecoin是第一个非货币的区块链应用。早期以太坊的创始人就提到了用区块链来做DNS系统的可能性。

Diaspora,2012年

Diaspora将自己定位为开源的个人Web服务器和去中心化的社交网络。2010年在Kickstarter上筹资$200.000后,项目正式成立,并迅速发布了一个测试版本,到了2012年,稳定的社区版才算正式发布。Diaspora的目标之一就是替代Facebook。Facebook是一个集中式的平台,用户使用它时,只需要一台Web浏览器即可,而Diaspora是需要专门下载自己的程序客户端的,这也使得推广起来比较难。另外,有的人其实根本不关心集中式平台带来的隐私问题。

DSNs

DSNs, Descentralised Storage Networks。 去中心化存储网络的背后思想是将云存储转变成一种带有激励措施的去中心化存储系统,并向愿意提供存储空间的矿工节点发放代币。经济激励是关键,它是系统可持续运行的重要保障。目前代表作有 IPFS。在比特币这样的区块链上存储数据,效率非常低,并且成本高,而在IPFS上,我们可以很方便的存储例如PDF、mp4等文件。

如果我们把P2P文件分享发展分成4个纪元,分别是:

  1. 依赖中心索引系统的Napster时代。
  2. 使用泛洪查询,摆脱中心索引的Gnutella的时代
  3. 使用分布式哈希的BitTorrent
  4. 带激励的分布式存储

我们看到,P2P的发展史就是一部人类的民主自由奋斗史,一部与王权主义的斗争史,一部统治者与被统治者的斗争史。区块链不是终点,但它已经成为了经典。

参考

https://medium.com/paratii/a-...


icattlecoder
455 声望29 粉丝

放牛班的程序员


引用和评论

0 条评论