IPFS调研报告草稿

是什么

IPFS是什么?

IPFS是协议,定义了基于哈希寻址内容文件系统,并结合了来自Kademlia、 BitTorrent、Git等的想法来协调内容传输。

IPFS是文件系统。有文件夹、文件和基于FUSE的可挂载文件系统。

IPFS是一种互联网。文件可以通过HTTP网关来访问,例如https://ipfs.io。浏览器通过扩展能直接使用ipfs://域,且哈希寻址保证了内容的真实性

IPFS是p2p。支持世界范围点对点文件传输,具有完全分散的架构,没有中心点故障。

IPFS是CDN。在本地库中添加一个文件,立即对世界可用,并拥有对缓存友好的内容哈希地址和BitTorrent一样的带宽分发。

  • 开发者 Protocol Labs

  • 稳定版本 0.4.22 (2019年8月15日)

  • 源代码库 github.com/ipfs/ipfs

  • 编程语言

    • 协议实现:Go(参考实现)、JavaScript、C语言, Python

    • 客户端库:Go、Java、JavaScript、Python、Scala、Haskell、Swift、Common Lisp、Rust、Ruby、PHP、C#、Erlang

  • 操作系统 FreeBSD、Linux、macOS、Windows

  • 语言 Go、JavaScript、Python

  • 类型 协议、分布式文件系统、内容分发网络

  • 许可协议 MIT许可证

  • 网站 ipfs.io

维基词条

星际文件系统(InterPlanetary File System,缩写IPFS)是一个旨在创建持久且分布式存储和共享文件的网络传输协议。它是一种内容可寻址的对等超媒体分发协议。在IPFS网络中的节点将构成一个分布式文件系统。它是一个开放源代码项目,自2014年开始由Protocol Labs在开源社区的帮助下发展。其最初由Juan Benet设计。

历史

在2014年,IPFS协议利用比特币区块链协议和网络基础设施的优势来存储不可更改的数据,移除网络上的重复文件,以及获取存储节点的地址信息——用以搜索网络中的文件。

当前的实现采用Go和JavaScript,并有Python的实现正在发展。Go实现被认为是开发正式规范时的“参考实现”。

描述

IPFS是一个对等的分布式文件系统,它尝试为所有计算设备连接同一个文件系统。在某些方面,IPFS类似于万维网,但它也可以被视作一个独立的BitTorrent群、在同一个Git仓库中交换对象。换种说法,IPFS提供了一个高吞吐量、按内容寻址的块存储模型,及与内容相关超链接。这形成了一个广义的Merkle有向无环图(DAG)。IPFS结合了分布式散列表、鼓励块交换和一个自我认证的名字空间。IPFS没有单点故障,并且节点不需要相互信任。分布式内容传递可以节约带宽,和防止HTTP方案可能遇到的DDoS攻击。

该文件系统可以通过多种方式访问,包括FUSE与HTTP。将本地文件添加到IPFS文件系统可使其面向全世界可用。文件表示基于其哈希,因此有利于缓存。文件的分发采用一个基于BitTorrent的协议。其他查看内容的用户也有助于将内容提供给网络上的其他人。IPFS有一个称为IPNS的名称服务,它是一个基于PKI的全局名字空间,用于构筑信任链,这与其他NS兼容,并可以映射DNS、.onion、.bit等到IPNS。

为什么

区块链百花争鸣的时代, 各种应用场景争相开放,就算在同一个领域,也会有各种产品出现。如分布式存储领域,有storj, maidsafe, swarm, zeronet, ipfs等。在这里,主角当然是IPFS。 正如比特币一样, 它没有产生新的技术,而是总结前人的技术,它是p2p, 密码学,共识学等技术的组合体。IPFS则组合了4大技术点如下:

  1. 分布式哈希算法(kad算法,coral dsht算法,s/kad 算法)(快速点对点定位,最优路经,防攻击。)

  2. 百度种子用到的技术BitTorrent(数据是双通道传输,参与人越多速度越快,解决了带宽问题。)

  3. 分布式版本控制系统git(分布式记录所有版本,安全的有据可查。)

  4. 自我认证文件系统-SFS(分布式信任链,平等共享的全局命名空间。方便所有的文件有全局唯一名字)

IPFS是位于TCP/IP协议的应用层协议(与http协议是竞争关系)。

IPFS是位于TCP/IP协议的应用层协议(与http协议是竞争关系)。www虽然带来了一次互联网革命,但http协议设计的很丑陋, 所有的事情都集中在一段报文中。

image

http需要中心化的域名服务器,更需要中心化的web服务器。对于重要网站,必须要花费大量的成本防DDOS攻击, 也需要时刻担心服务器数据丢失。

IPFS协议栈是漂亮的, 是对现有臃肿的http协议的一次革命。看下图:

ipfs_stack.png

IPFS 技术栈

  1. sfs,git技术分别用到了IPNS 层,应用层(applications)。 全局唯一名字, 带版本跟踪。

  2. BitTorrent, 分布式哈希算法分别用到了数据交换层(exchange),路由层(routing)。快速定位,省带宽交换。 IPFS与http相比,瘦客户,富协议,解决了http应用的复杂编程。再加上解决了上面指出的http缺点, 这是对http的革命。以前的web等应用面对瓶颈,都是改良http,然而导致应用很胖。既然IPFS是革命http,革命,是需要流血的。撼动能满足现在的http协议不容易, 所以IPFS需要寻找革命的战友, 它提出来了用区块链来作为革命的导火索。为了应用区块链,最需搬走的大山是共识问题。目前为止,得到世人验证的有效防拜占庭共识只有POW。而IPFS想发布基于POR(带激励机制的带宽,存储容量等资源相关的一种共识)的filecoin,这无疑是困难的。所以这也是,持续这么久, IPFS都没出正式版白皮书的原因。因为区块链很火,应用都往区块链上靠,但要成为区块链应用,必须要解决共识问题。IPFS也不例外,IPFS的最难点, 就是怎么解决POR的共识问题,开发者还没有发布最实际的有效做法。个人看法, 如果IPFS能完美的解决POR问题, www的今天,就是IPFS的明天。

怎么做

在centos7上安装ipfs-go环境并启动

通过web界面上传文件,查看文件

参考:https://blog.csdn.net/jacky128256/article/details/98849193

安装

安装 golang

安装 git

设置环境变量

ipfs 源码安装

启动

使用ipfs daemon启动节点服务器

上传文件

查看ipfs文件

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,546评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,224评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,911评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,737评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,753评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,598评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,338评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,249评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,696评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,888评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,013评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,731评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,348评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,929评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,048评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,203评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,960评论 2 355

推荐阅读更多精彩内容