ipfs是什么?
它是一个协议也是一个网络,已经运行了2年半,并非虚无缥缈的空气。
它像比特币网络一样,并没有发明什么新技术,他只是将很多种技术(P2P网络技术,bt传输技术,Git版本控制,自证明文件系统的数据传输协议等等)加以结合,并在这些技术上改进创新,集成了ipfs网络。
它比我们现在互联网上使用的HTTP协议,功能更强大,使得ipfs协议有取代HTTP协议的可能,并,创造更美好,更高效、更低成本的互联网世界。
现在的互联网世界,用户和网站之间,是以HTTP协议为基础,进行交流的。
那么,ipfs协议,以去中心化为手段,辅以奖励机制和共识机制,重塑用户和网站之间的交流方式。
拥有ipfs协议的互联网世界是怎么样的呢?
ipfs网络里的文件,会被赋予一个哈希值,这个哈希值类似于我们的身份证号,他是独一无二的,它是从⽂件内容中被计算出来的。
即使文件内有一个标点的改动,被计算出来的哈希值也是完全不同的,就像一对双胞胎,也拥有不同的身份证号。
所以,ipfs网络中的文件,都只存在独一无二的一份,文件自然不会被重复存储,不会被恶意篡改(篡改了文件的哈希值就不同了),大大降低存储成本,减少存储资源浪费。
这份独一无二的文件,只要查询它的哈希值(身份证号),便能找的到,这个设计,比平时我们查找文件,方便很多。我们平时可能要跳转好几个网站才能找到文件,甚至有些文件在你不知道的网站里,就会错过这个文件。
ipfs网络里的下载,是一种类似迅雷下载的技术(p2p下载)。 当文件上传到ipfs网络,这个文件被分散成很多份,每一份都存在全国各地不同的硬盘里,每个地方都有这个文件的一部分。这个硬盘是在你个人的家里的,硬盘上百克甚至几个T,下载文件的时候,就从每个人家里同时获取数据,速度比中心化存储快很多。
上面说了,被上传到ipfs网络的文件是被分散成很多份的,文件分散在全球不同的地方,所以ipfs网络天然能防御自然灾害。
当某地遭遇诸如地震,水灾,洪水,这些不可抗力,ipfs系统会立即启动修复功能,把存储在灾害地区的数据立即恢复至其他地方。存储在ipfs系统里面的数据比目前你所使用的那些云服务都要安全,根据这个特性,你上传的文件将会永久性储存在互联网上,没有任何人可以将它破坏。
同理,ipfs天生就拥有抵挡DDoS攻击(瞬间大量的访问进入网站)的能力,因为所有的访问将会被分散到不同的节点,甚至攻击者自己也是节点之一。某种程度上讲,ipfs甚至能抵挡量子计算的攻击。
如果你存储的文件是不想别人看到的文件,在存入ipfs之前对文件进行加密即可,这样即使别人拥有此文件的哈希值,还需要私钥才能查看数据。
ipfs的加密性,永久性存储,会滋生一些灰色产业进来,例如发布各种无法管制的言论,盗版猖獗等问题。就像比特币的杀手锏是洗钱,暗网交易,以太坊是发币圈钱,小编认为,新技术的产生都会伴随各种争议,我们应该限制它的弊端,发挥它正能量的一面。
ipfs都能做些什么呢?
根据ipfs的以上特性,我们来看看它都能做些什么呢?
在/ ipfs和/施用肥料下面挂载全球文件系统:就是说我们所有的文件都可以存到上面。
挂载个人同步的文件夹,可以自动进行版本管理,自动备份。 也就意味着未来我们将拥有无限空间的网盘,不用担心数据丢失,不用担心隐私泄露(非对称加密)。
作为加密文件和数据共享系统.IPFS天生视乎就具备这样的能力,文件加密,数据共享,都是小菜一碟。
作为带版本控制的软件包管理系统。
作为虚拟机的根文件系统。
作为利用管理程序,把ipfs作为虚拟机的引导文件系统:在线操作系统。
作为数据库:应用可以直接操作ipsf的Merkle DAG数据结构,并且可以使用ipfs的版本控制,缓存。 试想一下我们的数据库直接存在ipsf的文件系统是什么体验吗? 自动备份,永不丢失,安全加密,无限空间,高速连接,想想就美好。 科技改变生活,未来会有多美好....
作为加密通讯平台,谁都别想窃听消息通信了
作为加密CDN,作为web的CDN,CDN功能全包了
永久网络,不存在不能访问的链接,跟404年说再见。
上面的应用场景是ipfs的创始人胡安驱魔师在ipfs论文里面直接提到的。 有兴趣的同学可以去ipfs白皮书里面看一下。
实际上ipfs能做的不仅仅限于这些场景。 我们所有的计算机系统几乎都是这种结构

ipfs为我们解决的是最后那一个部分:数据存储。它能够极大的降低数据存储的成本,提升数据下载速度。
那么凡是需要优化数据存储的地方几乎都可以使用ipfs来提升效率。
ipfs是开放的,它为所有的区块链准备好了数据存储结构,可以链接到不同的区块链项目,这就是为什么那么多的白皮书提到要和ipfs链接,ipfs将作为区块链的基础设施存在。
ipfs在其他项目上面的应用
又名沙:基于以太坊和ipfs的社交网络
亚历山大:去中心化的内容发布平台
Arbore:朋友之间的文件共享系统,相信很快就可以抛弃某度的云盘了
dtube:利用ipfs作为存储的视频分享网站
git-ipfs-rehost:可以把github上的项目存储到ipfs上
星际维基:建立在ipfs上的wiki(土耳其封锁了维基,借助于ipfs,现在已经恢复了访问)
ipfs-search:基于ifps来说的搜索引擎 ipfs-share:基于ifps来说的文件分享 ipfs.pics:基于ifps来说的图片分享网站
轨道:基于ifps来说的分布式聊天工具
Partyshare:一个简单的文件共享系统
computes.io:基于ipfs的分布式计算机(这个牛,把世界上的计算资源收集起来,构建一个巨大的分布式计算机)
OpenBazaar:openbazaar是一个去中心化的淘宝,口号是“买卖自由/自由买卖”,问题是一旦用户停止运行软件,商店就下线了,借助于ipf,openbazaar2.0打造一个离线商店。
Ubuntu:著名的linux发行版Ubuntu本正在计算把发行版本转移到ipfs上来,目前正在讨论方案。
火狐浏览器:支持ipfs在内的分布式协议 还有很多应用就不一一举例子了,更多的应用在开发中,相信也很快我们就能看到了,甚至你现在浏览的网页已经有一些是利用ifps来说建立的了。
 
Filecoin是什么?
ipfs网络有巨大的数据存储需求,需要很多的节点和分布式存储空间,需要分布在全球各地的硬盘加入工作,如果没有激励机制,我们凭什么买硬盘给ipfs网络共享呢?
于是ipfs设计了一套激励用户存储的规则,Filecoin协议,并发行一种代币:费尔。
只要你帮助ipfs网路存储文件,就能获得费尔,这是我们愿意把文件放在自己家存储的源动力。
获得的费尔是有价值的,因为在这个存储过程中,费尔与实体经济相结合。
用户存储文件需要支付费尔,矿工帮助用户存储文件,便获得费尔。
费尔代币能在Filecoin市场里流通起来,有供应需求。
Filecoin协议是如何运行的?
互联网世界,本质就是数据之间的传输,传输包含,上行(发送数据)和下行(接收数据)。
上行(发送数据),即你的电脑发送数据到互联网上,比如看网页时你点击想看的,就会上传指令到互联网上,你把图片上传到朋友圈,这些产生的数据就是上行数据。
下行(接收数据),是你从互联网上下载数据。比如你看电影时,不断的下载影片产生流量,或是看网页时互联网上展现到你电脑上的图片和网页文字。都是下载后展现的,这样产生的数据为下行数据。
Filecoin协议里有两个概念。1。存储市场。2,检索市场。
互联网的上行(发送数据),类似于Filecoin里的检索市场。
互联网的下行(接收数据),类似于Filecoin里的存储市场。
在Filecoin网络里,Filecoin把用户的存储和检索需求放在一个交易市场里进行。
小编思来想去,通过一段类比,能够很清晰的了解这个交易过程。
这个交易过程类似于用户在淘宝上购买商品。
淘宝店主就像Filecoin网络里的矿工。
卖家成为店主(矿工),需要交纳保证金(抵押费尔),以防止店主(矿工)在交易过程中发生违约,导致交易没有完成。
卖家成为店主后,创建自己的产品信息(Filecoin网络里注册硬盘空间)。
店主将产品上传至淘宝(filecion网络),明码标价。
买家浏览淘宝页面,找到符合自己心里价位的产品(存储服务)。
买家提交购买产品的订单(提交数据存储的订单)
店主收到订单
店主开始提供服务(存储数据)
服务完成
买家确认收货(确认店主已经存储数据)
付款(FIL)给店主(矿工)
这样,一套存储流程就完成了,客户要检索数据,也是类似的流程。
读到这里,小伙伴们可能会产生一个疑惑: 我平时用一些网络云存储(百度云盘),存储数据,也不用花钱啊,我也不关心什么效率问题,那凭什么我还要花钱买代币在你的ipfs网络中存储数据,多麻烦!
是的,我们使用云存储都是免费的,但是网络存储都是有成本的,之前有人曝光百度旗下的网盘大约一个月2千万支出,服务器硬件,巨大的带宽,以及各种场地,电费,人力,维护都需要大量的资金投入。
百度云盘将这些存储成本通过其他渠道转化到用户身上,花费注意力看广告,设置低下载速率迫使你买会员,企业大容量存储的收费。 所以将来,我们普通老百姓在ipfs网络存储数据也可能是免费的,只是这些费用转嫁到那些基于ipfs协议的应用开发商上,他们会用另外一种方式薅你身上的羊的毛。
Filecoin的共识机制(存储证明)
比特币网络的共识机制:比如,我今天给小丽转一百块钱,同时假如整个网络里有一百万台计算机,我转钱的同时,我向一百万台计算机吆喝一声,我转给她了,于是就把账记在每个人的小账本上,每个账本都是保持统一的。记账的时候,CPU高速运转,是非常费电的。
比特币的这种共识机制,即以上这种行为,叫做工作量证明,大量消耗计算资源和能源。
Filecoin的共识机制相对环保,淘宝店主(矿工)发完货(完成存储),买家是要确认收货(确认矿工完成存储),这里的“确认矿工完成存储”,就是Filecoin的共识机制(存储证明,PoSt),这个“确认矿工完成存储”会一直存在于Filecoin网络中,用户可以随时查看。
Filecoin把矿工在网络中的当前存储数据相对于整个网络的存储比例转化为矿工投票权,利用存储证明(PoSt)来产生共识,不用像比特币那样浪费计算资源和能源,并且能激励矿工投入更多的硬盘为网络做贡献。
挖矿
存储矿工:
网络:没有特别的要求,普通家庭网络就可以满足,但不排除官方修改filecoin协议。
硬盘:硬盘是最重要的,存储是长期开着,24小时状态下,所以需要一个能够长时间稳定运行存储的硬盘,监控硬盘的性价比会更高。
矿机:后续filecoin会推出挖矿软件,矿机只要能流畅运行挖矿软件即可。并不需要特殊的cpu、特殊的硬件。普通家用机的配置就能运行。
 
检索矿工:
网络:需要高网速、低延迟。重要的是搞到大型流量上传渠道,比如网吧,或者政府的流量渠道。
硬盘:没有要求。
矿机:后续filecoin会推出挖矿软件,矿机只要能流畅运行挖矿软件即可。并不需要特殊的cpu、特殊的硬件。普通家用机的配置就能运行。
Filecoin挖矿,小散和大矿场都有机会参与,小散吃青菜,大矿场吃猪的肉。

IPFS中文简介的更多相关文章

  1. PHP imagick API中文简介

    PHP imagick API中文简介imagick 类imagick ::adaptiveblurimage 向图像中添加 adaptive 模糊滤镜imagick ::adaptiveresize ...

  2. Phaser开源2d引擎 html5游戏框架中文简介

    功能特点(Features) 易维护代码(Easy Asset Loading) Phaser可以加载图片,音频文件,数据文件,文本文件和自动解析精灵图和纹理地图集数据(出口纹理封隔器或Flash C ...

  3. 计算器模拟器中的情怀——Free42简介

    说到情怀,我首先想聊几句电子计算器的历史.电子计算器这种东西,在最近这几十年的人类发展中,曾经起到过相当重要的作用,尤其是在七十年代到九十年代初这个时期,大型的全功能电脑贵得要命,有钱有时也买不到,而 ...

  4. 如何在基于Bytom开发过程中集成IPFS

    本文介绍了基于Bytom开发过程中集成IPFS. step1: 搭建bytom节点 比原相关资料:https://github.com/Bytom-Community/Bytom_Docs 搭建byt ...

  5. codis__简介

    参考文档 https://github.com/wandoulabs/codis 中文简介 https://github.com/wandoulabs/codis/blob/master/doc/tu ...

  6. 开源top100

    1.SwitchyOmega 项目简介:SwitchyOmega 是 SwitchySharp 的新版本.这是一个 Chrome 浏览器用来切换不同代理的插件.SwitchyOmega 初次安装时会检 ...

  7. android volley http请求框架

    2015年11月6日 14:35:19 注意: 1.安卓官方的volley在google的codesource上, 在github上有他的镜像android-volley, 并解决了官方的一部分bug ...

  8. Android 蹲坑的疑难杂症集锦一

    各位看官老爷子你们好,我就是那个挖坑不埋,还喜欢开新矿的小喵同志. 问大家一个问题,在Github上找项目的时候,看到中文简介说明你们是不是觉得这个项目很low不屑一顾? 最近朋友无意中说,在Gith ...

  9. XSS的高级利用部分总结 -蠕虫

    XSS的高级利用部分总结 -蠕虫,HTTP-only,AJAX本地文件操作,镜象网页本帖最后由 racle 于 2009-5-30 09:19 编辑 XSS的高级利用总结 -蠕虫,HTTPONLY,A ...

随机推荐

  1. Jenkins自动化部署入门(一)

    开始使用 Jenkins 这一段时间,技术总监为了减少测试环境每次提交新增接口都要部署项目的时间,搞了一个jenkins持续集成github.docker,这样只要每次push代码都会自动部署,确实节 ...

  2. Ext 上传文件

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <title> ...

  3. GOPATH设置

    go help gopath查看gopath的原文帮助信息 go env查看gopath的配置 GOPATH与工作空间 前面我们在安装Go的时候看到需要设置GOPATH变量,Go从1.1版本到1.7必 ...

  4. 只列出所有监听 UNIX 端口 netstat -lx

    只列出所有监听 UNIX 端口 netstat -lx

  5. Git 常用场景操作

    git init      在本地新建一个repo,进入一个项目目录,执行git init,会初始化一个repo,并在当前文件夹下创建一个.git文件夹.   git clone      获取一个u ...

  6. android:使用gallery和imageSwitch制作可左右循环滑动的图片浏览器

    为了使图片浏览器左右无限循环滑动 我们要自己定义gallery的adapter 假设要想自己定义adapter首先要了解这几个方法 @Override public int getCount() { ...

  7. python(32)- 模块练习Ⅱ:使用正则表达式实现计算器的功能

    开发一个简单的python计算器 实现加减乘除及拓号优先级解析 用户输入 1 - 2 * ( (60-30 +(-40/5) * (9-2*5/3 + 7 /3*99/4*2998 +10 * 568 ...

  8. MySQL插入数据性能调优

    插入数据性能调优总结: 1.SQL插入语句调优 2.如果是InnoDB引擎的话,尝试开启事务,批量提交 3.调整MySQl数据库配置     参考: 百度空间 - MySQL插入数据性能调优 CSDN ...

  9. 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制

    你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...

  10. c语言知识点总结-------静态区、堆、栈、常量区等

    在C语言中地址占4个字节 1.编程语言发展 低级语言----->高级语言 机器语言 ---> 汇编---->高级语言(C语言.C++.JAVA等) 机器语言 :0101 0010 1 ...