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的发展史就是一部人类的民主自由奋斗史,一部与王权主义的斗争史,一部统治者与被统治者的斗争史。区块链不是终点,但它已经成为了经典。

P2P分布式网络简史相关推荐

  1. 带血的庞氏,p2p消亡简史

    [这是半佛仙人的第69篇原创] 0 随着团贷网倒下,红岭创投宣布清盘,2019年的P2P行业又不安稳了. 2019年4月28日,母公司金诚集团实控人韦杰等33名高管因涉嫌非法集资,被警方带走,这家号称 ...

  2. java p2p技术内幕.pdf_JavaP2P技术内幕 PDF

    资源名称:JavaP2P技术内幕 PDF 第一部分 P2P简介 第1章 P2P的基本概念 3 1.1 P2P发展简史 3 1.2 P2P应用程序的用武之地 5 1.3 采用P2P的目的 5 1.3.1 ...

  3. 一文了解P2P的前世今生

    本文摘自<解构互联网金融实战>. 目录 产生原因 主要模式 发展历程 驱动因素 核心问题 总结 产生原因   P2P意为Peer to Peer,即点对点交易,是个人与个人之间基于互联网的 ...

  4. FinTech-Blockchain区块链

    FinTech-Blockchain区块链 原创 2016年07月07日 21:57:30 标签: FinTech / Blockchain / R3 / 区块链 / 比特币 5561 最近有同事研究 ...

  5. BlockChain:区块链技术基础概念综合理解——个人总结

    BlockChain:区块链技术基础概念综合理解--个人总结 目录 区块链的进阶与意义 1.区块链技术的进阶 2.区块链技术三大意义-传递价值.建立可信用环境.提高效率和降低成本 1.传递价值 2.建 ...

  6. 超级账本Fabric的架构与设计

    超级账本Fabric项目自诞生之日起就吸引了全球众多企业的密切关注,已经先后发布了两个大的版本,0.6实验版本(2016年9月)和1.0正式版本(2017年7月). 目前,超级账本Fabric架构上核 ...

  7. Fabric区块链架构说明

    目录 1. 区块链核心特性................................. 3 2. 区块链系统架构................................. 4 3. 核心 ...

  8. 贷前审查和贷中审查_大技术受到审查

    贷前审查和贷中审查 On Wednesday, the CEOs of Amazon, Apple, Facebook and Alphabet appeared before the US Cong ...

  9. 区块链简史:解读这场技术革命的前世今生

    链客,专为开发者而生,有问必答! 此文章来自区块链技术社区,未经允许拒绝转载. 真格基金徐小平的一个"内部讲话"被泄露,揭开了创投圈对区块链的新一轮热衷. 在这份微信群的" ...

最新文章

  1. 为维护视图创建事物码
  2. Spring综合课程总结
  3. 2018-2019-2 网络对抗技术 20162329 Exp5 MSF基础应用
  4. v-for能倒序遍历吗_神级遍历——morris
  5. MySQL update慢问题解决
  6. 【渝粤教育】国家开放大学2019年春季 1117机电控制与可编程序控制 参考试题
  7. matlab 自动交易系统设计3
  8. 老鸟成长之路:菜鸟入门八种安全工具(转)
  9. 基于RS485通信的Modbus通信协议
  10. ERD-ONLINE 免费在线数据库建模工具
  11. BCNF范式、第四范式和第五范式
  12. Google Java Style Guide
  13. ts语音自建服务器,用轻量搭建自己的语音聊天服务器
  14. Cocos技术派 | TS版属性面板定义高级篇
  15. 推荐综述博客网址马克
  16. 清华大学计算机学院考研参考书目,2020清华大学计算机考研参考书目及复试线...
  17. 如何确定MessageBox哪个按钮被点击。
  18. Visual Studio 2019 详细安装和使用教程
  19. C++入门>>初识类
  20. 软件项目的可行性分析包括哪些方面?影响决策的关键因素又是什么?

热门文章

  1. redis删除key命令
  2. 从无到有创建一个聊天App六-仿QQ号生成算法
  3. 个人原创 响应式的境外旅游私人订制网站模板
  4. 5-3 奥运排行榜 (25分)
  5. 根治Windows 2003操作系统登录及关机麻烦
  6. OneKeySetMat
  7. mysql报错 a foreign key constraint fails
  8. html的小图标组件,JS组件系列之Bootstrap Icon图标选择组件
  9. .net core IIS/Kestrel上传大文件的解决方法
  10. 老司机带带我:数仓建模架构|维度建模剖析与案例演示