What is ipfs?
IPFS星际文件系统(Inter Planetary File System) IPFS是一种基于内容寻址、版本化、点对点的超媒体传输协议,集合了P2P网络技术、BitTorrent传输技术、Git版本控制、自证明文件系统等技术。IPFS允许网络中的参与者互相存储、索取和传输可验证的数据,目标是打造一个更加开放、快速、安全的互联网。
它是去中心化存储的领军者,对标的是目前统治互联网的超文本传输协议(HTTP,Hyper Text Transfer Protocol)。HTTP 协议是搜索域名地址,依赖中心化的服务器,IPFS 是搜索内容地址,是去中心化的P2P(Peer to Peer)。
IPFS的工作原理,IPFS利用基于内容的地址来替代基于域名的地址,只需确认验证内容的哈希,IPFS会为每⼀个文件分配一个独有的哈希值,文件指纹则是指根据文件内容进行分别创建。即便两个文件内容仅有一个比特的不同,那它们的哈希值也不相同,这个方式会使得IPFS能支持基于文件内容进行寻找地址。
发展历程
2014年5 月,胡安(Juan Benet,ProtocolLabs 创始人) 发起IPFS项目;
2015年1月,IPFS协议实验室成立,并发布IPFS;
2016 年,IPFS团队创建了libp2p、IPLD、multiformats、Orbit等模块;
2017年6 月,IPFS已储存50亿份文件;
2017年7 月,IPFS团队宣布成立Filecoin项目。
与IPFS类似的其它项目还有 Sia、Storj、Swarm,Lambda,DxChain等。
协议实验室Protocol labs官网展示的投资人、机构
Sequoia Capital 红杉资本2017、Digital Currency Group DCG集团、stanford university 斯坦福大学、Y Combinator(YC)、Winklevoss capital 文克莱沃斯兄弟基金等。
创始人胡安•贝内特(Juan Benet)相对于V神和BM低调了许多,但性格也较耿直,对天赋异禀的人来说,怀抱着改变世界的梦想,做着可能改变世界的项目,确实没必要对旧世界有过多的拐弯抹角。
据说在2015年的时候,IPFS技术就成熟了,但却一直发展不起来,因为IPFS缺少一个激励层,Filecoin正充当着这样的使命。Filecoin项目从启动以来经历多次延期,但依然被追捧,有的交易所就提前上线了FIL的期货合约,也不乏有人滥竽充数、浑水摸鱼地做起了资金盘,喧嚣总会归于沉寂,时间是消除波澜的锐器。
在IPFS白皮书上有提到,IPFS可以让所有区块链项目都跨链互通。有人说IPFS为区块链做好了轮子,IPFS将引发科技革命。
Filecoin项目最新进展
2019.9.25,胡安的团队发布了go-filecoin alphanet网络、go-filecoin0.5.6版,并称这是在2019年12月即将发布测试网(testnet)之前的最后一个重要的中期里程碑。alphanet版本还实现了几个重要的协议特性,比如:
更新的时空证明(PoSt)构造——RationalPoSt;
改进我们预期的共识(EC)算法实现;
更快的链同步,使用Graphsync的IPLDdag -遍历协议;
新的HTTP API设计(仍然是WIP)等。
IPFS入门知识点一览
参考中国社区https://ipfs.cn/ipfs
1、IPFS到底是什么?
IPFS是一种点对点的分布式文件系统。
(1)IPFS是一个运用git分布式、去中心化存储且单一的bittorrent群集。
(2)IPFS是依据内容从而来产生地址,它提供了高吞吐量的内容寻址存储模型。
(3)IPFS主要是通过默克尔树数据结构来构建版本文件系统。
(4)IPFS不存在单独的故障点,节点之间也是不需要相互信任。
2、IPFS与HTTP对比优势
(1)从成本角度来看,HTTP中心化服务器运行,存储成本、带宽成本等较高,。
(2)从效率角度来看,HTTP是依赖中心化服务网络里的服务器,而IPFS是 P2P网络拓扑,网域内所有计算机均可作为存储节点,减少中介节点,就近分布式存储能提高效率。
(3)安全性:HTTP所有数据存在中心化的服务器上,服务器承载的压力极大,容易造成系统崩溃,易遭受DDOS攻击,数据篡改丢失等风险更高;而IPFS的数据分布存储在多个节点,理论上更安全。
3、 IPFS架构可以分为以下8层:
(1)网络层(Network):用于更好的分散计算。
(2)身份层(Identity):管理节点身份生成和验证。
(3)交换层 (Exchange) :一种支持有效块分配的新型块交换协议(BitSwap),模拟可信市场,弱化数据复制,防作弊。
(4)路由层(Routing):维护信息以定位特定的对等体和对象。响应本地和远程查询。默认为DHT,但可更换。
(5)文件层(File):由Git启发的版本化文件系统层次结构。
(6)命名层(Naming):自我认证的可变名称系统。
(7)应用层(Application):IPFS上运行的应用程序。
(8)对象层(Objects):具有链接的内容寻址不可更改对象的Merkle DAG,用于表示任意数据结构,例如文件层次和通信系统。
以上各协议栈均各司其职,相互搭配协作。
更多信息请见区块链O2O公众号。
用户评论