IPFS星际文件系统

zhyuzh3d · · 5657 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

Web3.0是什么?Filecoin文件币是什么?星际文件系统是什么?它的目标是什么?它真的能够取代现有的云服务器存储模式吗?

image

以下仅是个人学习笔记,欢迎探讨指正。

Web3.0

  • Web1.0是Readable。
    只读的单纯的静态新闻和博客网站,单向信息服务。
  • Web2.0是Readable+Writable。
    数据是可读可写的,双向交互的,既可以传递信息,也可以实现功能。
  • Web3.0是Readable+Writable+Trustable。
    可读可写可信任的,不仅仅是信息,更涉及到真实社会人与人之间的关系。

这个Web3.0的说法也只是道听途说,其实行业内仍然没有统一的共识,大概只是大家觉得Web2.0的说法太久了,升级了而已。

IPFS

IPFS(InterPlanetary File System),星际文件系统。一种网络文件传输协议protocol,用于构建点对点peer-to-peer分布式文件存储。

IPFS可以说是集合了区块链、Git、BitTorrent等技术的综合体,目标是实现完全去中心化decentration的全球文件系统,颠覆现有的亚马逊、谷歌、微软、阿里巴巴、百度云存储系统。

内容寻址

不同于现有文件路径系统和网站域名系统,IPFS是基于内容寻址content-addressing的。对比而言,现在是C:/windows/system/drivers/nvidia/a.dll,或者是http://www.taobao.com/handuyishe/baobei/2020xinkuan/a.html,而IPFS则是ipfs://QmfDVtjMvBUGF2BQxybSiVnfabTyiqW14kSU13Z7JMgwDh

这个奇葩的乱码是什么?比如你有个文件,挺大的,但是我们可以对这个文件进行一些处理,比如每隔百分之一就取出一个字符来,这样就得到一个100个字符的乱码。如果我们假定一个前提,全世界所有文件按这个处理方法得到的乱码都不相同,那么,我们就可以把每个乱码和每个文件形成对应唯一的一一对应关系。——当然实际上的处理方法并不是这么简单。

这就是所谓的内容寻址。

有什么用?最直接的是,可以避免存储重复的冗余内容。比如说今天拍了一个小视频,我把它发到抖音、西瓜、B站、优酷、youtube、微博…各个平台,文件其实都是一个,但在整个互联网上存储了很多次,浪费了很多硬盘空间。更糟糕的是,同一个文件我可能改个名字又传了一次,还被其他人下载后上传到他的百度云盘、UC云盘…

这么一想,内容寻址还是挺厉害的(●′ω`●)

其实目前的云盘和大型视频网站都已经对这种情况进行了优化,所以百度云盘和QQ文件有时候会出现秒传的情况,就是因为你要传的电影文件已经被其他人传了n次。

Filecoin

IPFS是分布式存储文件的。但是莫名其妙的把你的硬盘空间和网络带宽拿来存储别人的文件,这种大公无私的情怀对于人性还是很有挑战的。

文件币Filecoin,这是一种基于IPFS系统之上的奖励系统,简单说就是谁贡献的硬盘空间多、带宽多、服务稳定不间断,谁就可以获得更多的虚拟币奖励。最终,这种虚拟币肯定也是可以像比特币那样换成真钱实现变现的。

具体方法可以访问(需要梯子,英文版,需要计算机专业背景):
https://docs.filecoin.io/

IPFS体验

IPFS官网地址(需要梯子):
https://ipfs.io/

这个比较简单,普通人也可以尝试。建议从下面这个地址直接下载电脑版软件安装使用。
https://github.com/ipfs-shipyard/ipfs-desktop/releases

下载后安装启动,会在系统托盘出现一个立方体小图标,点击它,从菜单选择【文件】可以打开界面窗口,直接把文件拖拽到这个窗口就可以实现上传。

image

然后点击文件右侧的三个圆点按钮可以得到分享地址。

但我并没有分享成功。目前的结论是,这个软件只是相当于一个本地服务器,类似于本地的Apache或者Nginx。虽然分享链接看上去像是互联网地址https://ipfs.io/ipfs/QmfDV...JMgwDh?filename=1-%20Introduction.mp4,但实际文件还是在本机的。官方说这个软件会连接全球的IPFS节点服务器(可以在节点面板里面看到),然后把我们上传的文件同步到全球其他节点服务器上,但我始终没有成功。当然,如果你在局域网内的另外一台电脑上如果也安装IPFS软件,它是可以访问这个链接地址的,或者直接把这个乱码(准确的应该叫HASH值)粘贴到软件窗口顶部的QmHash输入框,也可以找到这个文件,但即便是jpg、mp4这样通用的文件,也会被显示无法显示的格式…

无论如何,我都没有实现把文件上传到公网。如果其中一台安装IPFS的电脑具有固定IP地址,那么可以在【状态】面板的【高级设置】中找到本机的节点地址,类似/ip4/192.168.3.238/udp/43909/quic/p2p/QmTB1XkTrBT...PxzW5KajE这样的地址,如果另外一台安装了IPFS的电脑在【节点】面板添加了这个地址,那么就可以访问其上传的全部文件了。——但是如果我已经有了一个固定IP,为什么还需要IPFS呢?直接建网站不香吗?

结语

  • IPFS安装后会自动接管浏览器里面的ipfs://...地址,目前似乎还不能直接在页面内使用这种地址,但可以使用https://ipfs.io/ipfs/QmfDV...这样的地址,——ipfs.io需要梯子π__π
  • IPFS支持Golang和Nodejs实现,可以在Github上找到项目源码。
  • Fleek可以用于快速构建和部署IPFS网络。
  • Filecoin的安装程序实际是lotus,应该就是用来做文件服务器(挖矿)的,起步是4核8G5T一直在线…目前是testnet,正式的应该是mainnet,有条件的同学可以提前入手。

可能是我没有设置好,所以我上传的文件没有被同步到全球节点上。但是想想看,要保持多个节点同时在线才能实现区块链模式的互相验证,那么重复存储也肯定是不能避免的,但是否优于现有网络存储模式就不好说了。

那个IPFS软件挺难用的,看上去很干净漂亮,但是关键时刻总是缺乏报错提示,感觉不是给普通人用的。为什么不直接做个浏览器?能不能像以前emule那样全局搜索内容?

其实感觉现在的互联网已经够快够好了,我所遇到的麻烦就是总要背着梯子、自己建站视频流量太贵,对这些但似乎IPFS也无能为力。

如果每个节点都仍然是专业服务器,那么这种分布式应该还不如直接让大公司批量组建的成本低些。如果仍然需要固定公网IP才能实现点对点连接,那么对资料分享也不会有什么帮助。如果说所有历史记录都可以溯源保留,那么也有很多东西都应该随时间被忘却。IPFS背着宏大的理想和抱负,希望能走的更远。

怎样才能实现廉价、自由的信息分享?

本来抱着很大希望来了解这个星际文件系统,但似乎并不是我所期望的那样。

有时候也会想,星际之间传递文件,真正需要考虑的关键点会是什么呢?大概就像新海诚的《星之声》吧…

image

本文所在项目的传送门


欢迎访问我的个人站点,获取最新文章和更多资源

10knet.com传送门

image

有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:zhyuzh3d

查看原文:IPFS星际文件系统

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5657 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传