「前区块链时代」的分布式存储2000 年一位来自美国的大学生 Shawn Fanning 开发了一款名叫 Napster 的软件,在该程序中可以下载自己想要的 MP3 文件,同时也可以上传自己的 MP3 文件,供他人下载。随之而来的,是这个软件带来的 P2P 文件传输技术的雏形,受此启发,电驴 /eMule 乃至之后大名鼎鼎的 BT (BitTorrent)协议横空出世。自此,中心化的存储方式发生巨大变革,不再依靠中心化服务器,点对点的文件存储传输应用风靡一时。以 BT 为例,其作为内容分发协议拥有诸多优势——与中心化服务器不同,BT 协议下对同一内容下载的人数越多,下载的速度越快,使用这种方法可以使下载服务器同时处理多个大体积文件的下载请求,而无须占用大量带宽。 磁力链接亦在此基础上发展,其不基于文档的 IP 地址或定位符,而是在分布式数据库中,通过散列函数值来识别、搜索来下载文档,即每种文件内容均有唯一哈希值作为 ID,使用分布式哈希表技术实现全网络的寻址与存储。因为不依赖一个处于启动状态的主机来下载文档,所以特别适用没有中心服务器的对等网络。 基于区块链技术的分布式存储解决方案区块链本身便是综合了分布式存储、非对称加密并基于共识算法的技术,基于区块链技术的分布式存储解决方案和 BT 协议技术上相同点为,均对要存储的文件进行了分片,并把片段存在各个节点上。在这一方案中,因区块链技术对于数据加密和隐私的保护、去中心化带来的不可篡改等特性,完美的胜过了中心化服务器。 在这类解决方案中,通常都设计有激励层的代币奖励——即当节点将自己的存储资源贡献给网络时,可以获得该网络对应的生态代币。目前应用区块链技术做存储的项目有 IPFS、Storj、Sia 等。 IPFS 技术应用与原理:HTTP 传输协议、Git 版本控制协议与 BitTorrent 传输协议的精妙组合从第一性原理出发看 IPFS 的本质IPFS 本质上一种文件共享和传输协议,例如 HTTP 超文本传输协议,它是现代互联网上最成功,最主要的传输协议之一。但是,与遵循客户端-服务器模型的 HTTP 不同,IPFS 是一个既可以服务又可以请求数据的分布式节点网络。 在客户端-服务器模型中,「客户端」(通常是 Web 浏览器)发送「服务器」(通常是文件托管服务器),对 Web 元素(图像,网页,文档等)的请求,并返回他们将收到其请求的网络元素的响应,该响应将在屏幕上显示。客户端和服务器之间有许多「代理」(计算机和机器),可帮助中继双方的 HTTP 消息。 此模型以及 HTTP 的缺点如下:
|