美文网首页
IPFS调研报告草稿

IPFS调研报告草稿

作者: ioufev | 来源:发表于2021-10-12 11:33 被阅读0次

是什么

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文件

相关文章

  • IPFS调研报告草稿

    是什么 IPFS是什么? IPFS是协议,定义了基于哈希寻址内容文件系统,并结合了来自Kademlia、 BitT...

  • 【本来就好生活馆】服务体验报告

    报告调研地点:本来就好 报告调研时间:14:15——14:35 报告调研人员:李兰兰、程莉 调研报告分为有形产品和...

  • 萨恩斯:硕士毕业论文调研报告型论文要求

    硕士毕业论文调研报告型论文要求 一、调研报告的含义 调研报告指的是通过对某对象,如企业、组织、行业、决策行为等对象...

  • Flutter技术学习贴

    1,flutter技术调研 Flutter技术调研报告

  • 1593.职场写作:调研报告的写作要点和技巧

    为确保调研的有效性,在调研结束后,要撰写调研报告,这既是对调研工作的一个总结,也可以为领导决策提供参考。 调研报告...

  • 【天光学术】几类常用调研报告的写法和技巧!

    不同种类的调研报告,其调研报告格式与写法总体上大致相同,但由于强调的重点和要求不完全一样,因此,每种调研报告格式的...

  • 关于项目解决方案

    一、概述 在进行项目调研以后需要根据调研的情况提交一份调研报告。而调研报告的主要目标不是向目标客户传递存在的问题,...

  • 调研报告

    高淑娟,从教18年,小学语文教师,现在城村小学任教。城村北临黄河,南临伏牛山,高铁和高速公路把村夹在中间,全村有3...

  • 调研报告

    小组组别:酒店管理1601 第一组 小组成员:林逸 陈潇杨 张杭吕德喜 冯宏涛 胡樊军陈弘翰 小组分工:文档制作:...

  • 调研报告

    一、调研 1、现实状况 2、公司标准 3、对接问题及对接内容 二、方案 如何推进分城市工作 三、实施 1、实施内容...

网友评论

      本文标题:IPFS调研报告草稿

      本文链接:https://www.haomeiwen.com/subject/srudoltx.html