IPFS介绍:星际文件系统IPFS(Inter-Planetary File System)是一个面向全球的、点对点的分布式版本文件系统,目标是为了补充(甚至是取代)目前统治互联网的超文本传输协议(HTTP),将所有具有相同文件系统的计算设备连接在一起。原理用基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。
星际文件系统IPFS(The InterPlanetary File System),是一种点对点的分布式文件系统,可能大部分互联网用户对它都很陌生,不过就像很多人使用了十几年的超文本传输协议(HyperText Transfer Protocol,简称HTTP),每次打开网页都需要输入也不清楚它具体是什么。
IPFS也是一种底层协议,通过底层协议,可以让存储在IPFS系统上的文件,在全世界任何一个地方快速提取,不受到防火墙的影响,让用户访问数据的速度更快,更加安全,并且更加开放。
互联网得以快速发展建立在HTTP协议上的,超文本传输协议(HTTP)的设计目的是保证客户机器与服务器之间的通信,打个比方,客户端的浏览器向服务器提交HTTP请求,然后服务器向客户端再返回响应,这是互联网诞生以来沿用至今的一种方式。但随着互联网用户量级的改变,以及越来越多的网络安全问题的凸显,互联网发展到了今天,HTTP也开始逐渐暴露出不足。
HTTP作为一种底层协议并不是非常安全的,它是一种明文传输协议,但它并无法加密数据。大部分的普通互联网用户其实都没有足够的能力对自己的浏览行为进行安全性的保护。因此当浏览器用户与网站进行HTTP链接时,两者之间传输的数据容易被窥视、窃取甚至篡改。
IPFS是使用内容寻找地址,内容作为唯一的表示去进行访问,并且会提前检验这个标识是否被储存过,如果它之前已经被存储过了,那么就直接从其他节点读取,这样就不需要重复存储,解决了存储空间浪费的问题。
IPFS的特性在应用层面让它与当下大热的区块链完美结合。区块链的本质是分布式账本,解决的传统账本的存储能力,可以在一定程度上为传统应用程序提供分布式缓存方案。
HTTP超文本传输协议从1999年创立以来,对整个互联网行业的发展起到了无法替代的作用。但是中心化存储的互联网运行机制下,运营成本高、效率低、安全性差、数据易丢失等缺陷也是无法避免以及正在解决的问题。
为了改变现在互联网的种种弊端,斯坦福大学毕业的胡安·贝尼特于2015年创立协议实验室,发布了IPFS(星际文件系统),目标就是取代HTTP,成为下一代互联网底层通信协议。
IPFS(Inter-Planetary File System)即星际文件系统,是一种基于内容寻址、版本化、点对点的超媒体传输协议,集合了P2P网络技术、BitTorrent传输技术、Git版本控制、自证明文件系统等技术,对标Http的新一代通信协议。
IPFS从根本上改变了用户搜索的方式。我们知道,通过HTTP浏览器搜索文件的时候,首先找到服务器位置,然后使用路径名称在服务器上查找文件,但是通过协议IPFS,用户可以直接搜索内容。这里是怎么实现呢?
首先,IPFS网络里的文件,会被赋予一个哈希值,这个哈希值类似于我们的身份证号,他是独一无二的,它是从文件内容中被计算出来的。
然后,当用户向IPFS分布式网络询问哈希的时候,它通过使用一个分布式哈希表,可以快速地找到拥有数据的节点,从而检索到该数据。简单来讲,就是以前我们是通过跳转多层网站才能找到一个文件,但是在IPFS上存储的文件,我们只需查询它的哈希值,便能快速找到。
IPFS对于一些大的文件,它会自动将其切割为一些小块,使IPFS节点不仅仅可以像HTTP一样从一台服务器上下载文件,而且可以从数百台服务器上进行同步下载。所以,只要所存储的节点通电且网络正常,那么这个访问速度就可以非常快。
IPFS和区块链的区别主要包括:
1、区块链是一种记录交易数据并在区块中维护历史的技术。IPFS旨在取代HTTP,它是一种协议和网络,设计用于共享和存储媒体的点对点方法。
2、区块链技术不适合存储大量数据。IPFS由需要可公开访问的数据库的区块链应用程序使用,IPFS将大量数据存储在不同的节点上,它使用区块链的通证经济(其激励层Filecoin)来保持这些节点在线。
3、在区块链上输入数据后; 它无法更新或删除,使用先前块散列函数的链接创建新块。在IPFS中,只有在另一个节点选择不重新托管时,才能删除网络数据。同时,IPFS支持版本控制。
4、区块链将数据存储在具有数据,哈希函数和先前哈希的块中。文件存储在IPFS对象中。这些对象可以存储高达256kb的数据,还可以链接到其他IPFS对象文件存储在IPFS对象中。这些对象可以存储高达256kb的数据,还可以链接到其他IPFS对象。
这些特性使IPFS成为分布式存储数据的理想场所,可以使用区块链技术进行参考和时间戳。
IPFS不是区块链项目,但其激励层Filecoin是名副其实的区块链项目。
Filecoin是运行在IPFS上的一个激励层,是一个基于区块链的分布式存储网络,它把云存储变为一个算法市场,代币(FIL)在这里起到了很重要的作用。代币是沟通资源(存储和检索)使用者(IPFS用户)和资源的提供者(Filecoin矿工)之间的中介桥梁,Filecoin协议拥有两个交易市场—数据检索和数据存储,交易双方在市场里面提交自己的需求,达成交易。IPFS和Filecoin相互促进,共同成长,解决了互联网的数据存储和数据分发的问题,特别是对于无数的区块链项目,IPFS和Filecoin将作为一个基础设施存在。这就是为什么我们看到越来越多的区块链项目采取了IPFS作为存储解决方案,因为它提供了更加便宜、安全、可快速集成的存储解决方案。
IPFS为区块链带来什么变化?
区块链的诞生本是为了做到去中心化,在没有中心机构的情况下达成共识,共同维护一个账本。它的设计动机并不是为了高效、低能耗,抑或是拥有可扩展性(如果追求高效、低能耗和扩展性,中心化程序可能是更好的选择)。
IPFS与区块链协同工作,能够补充区块链的两大缺陷:一是区块链存储效率低,成本高;二是跨链需要各个链之间协同配合,难以协调。
应用层 Dapp
采用IPFS技术的DAPP示意图
DAPP示例
(1)Openbazaar 是个开源的开放集市(c2c),没有中心服务器,靠的是分布式节点自动维护,交易付款用BTC,交易双方是匿名;网站没有没有域名,它并不是使用域名访问的,而是使用类似区块链技术的onename。
在1.0版本,OpenBazaar被称之为“黑市”,那时没有应用IPFS,利用ZeroMQ来实现P2P交易,把交易的手续费作为红利给到用户,同时它用比特币作为支付渠道而轰动一时,用户数量在短时间内迅速提升。
在2.0版本发布后,加入了一层审查机制,同时支持了比特币之外的BCH等数字货币,并且整合与重构IPFS,取代了之前的ZeroMQ。
现在,集市上众多的商店在没有用户上线的情况下,也可以在主机上就被运行。以前必须同时登陆才可以交易,现在利用IPFS相当于实现了离线店铺,这意味着,访问你店铺的人越多,店铺数据被复制越多,有利于优质的店铺宣传和推广,这也是一定意义上的价值回归。
(2)PeerPad是协作的实时编辑器,它不使用第三方,所有参与节点直接对话,不需要中央服务器。同时Peerpad开源,展示了开发者如何使用IPFS建立自己的无服务器的、实时的、离线优先的多人协作的分布式应用程序,由协议实验室和IPFS社区建立。可实现四种功能:
1、会议笔记
无论是使用纯文本、Markdown还是富文本,你都可以实时地与同事分享会议记录。
2、协作或共享代码片段
Peerpad有一个内置的代码编辑器,可以在编辑同一个文件时使用它与同事协作。
3、写文章并分享
您可以发布一个pad的快照到IPFS,使其在internet上可用。通过共享解密内容的读取密钥来选择与谁共享。
4、与多个用户同时协作
Peerpad可以与许多用户同时修改文档,实时处理彼此的变化。
IPFS应用层目前还多为当前互联网商业业务突出的产品的区块链版,有音视频娱乐服务、电子商务等,但结合IPFS特性及中心化社会的痛点,未来但凡涉及‘数据量大’、‘带宽压力’、‘数据安全’、‘文件版本’等基本诉求的业务,皆向去中心化甚至IPFS靠拢,在这里做个窥探性前瞻。
网络激励层–Filecoin
目前IPFS激励层应用在国内外有多个项目在探索,最受关注的还是协议实验室自搭建的Filecoin(文件币),它的出现旨在提升IPFS协议在全球范围内被应用的广度,这个普及推广的过程需数年甚至数十年,Filecoin自身也形成了一个应用生态,包含了存储网络、经济体系、技术架构等。
IPFS星际文件系统(InterPlanetary File System ),是个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。
我们现在常用的这些APP、网站、朋友圈的数据都是放在中心化的服务器集群中存储的,然后通过URL、URI、域名系统定位资源去访问,而IPFS呢,不是基于这种域名寻址,而是内容寻址,它会从一个资源的内容计算出一个哈希值,这个值直接反应这个资源的内容。一个IPFS客户存储一个大文件资源到IPFS网络,当该资源较大时IPFS通过对资源文件进行分片,分别计算哈希,并通过Merkle DAG(Git数据格式)对该资源文件进行组织,每个分片可能存在一个节点或多个节点,并且可能是多个副本来保证某些节点失效时还可以在其他节点取得文件分片。
Filecoin是一个去中心化存储网络,也叫做Filecoin的区块链,Filecoin的代币名称为FIL。Filecoin与IPFS是两个项目,IPFS是底层协议。FIlecoin区块链中的矿工可以通过为客户提供存储来获取FIL。相反的,客户可以通过花费FIL雇佣矿工来存储或分发数据。
Filecoin是基于IPFS进行 ICO的另外一个项目,本质上来说 Filecoin是对 IPFS网络的一个激励层IPFS可以理解为一个BT软件,那么BT软件多年来一直未解决的问题就是如何激励资源的贡献者,如何激励参与者提供更好的磁盘、更好的网络,提供给使用者更好的使用体验和稳定质量。
Filecoin 去中心化存储网络 (Decentralized Storage Network,简称DSN),在这个网路中准备构建两个市场分别为「存储市场」和「检索市场」,以此来奖励存储矿工提供更好质量的存储服务,同时在检索市场激励网络较好或响应性能较好的矿工获取奖励。