IPFS挖矿原理探究

本文章允许转载,但必须注明:原文来自于星际资本(http://ipfs.fund)。否则视为侵权。

前言:

1943年,IBM董事长托马斯.沃森笃定地告诉人们:“我想,5台主机足以满足整个世界市场。”后来,随着个人电脑市场的兴起,人们将这句话当做一句笑话。但是,在云计算进入大众视野的时候,又开始盛传一句话:“全世界只需要5台电脑,Google一台,IBM一台,Yahoo一台,Amazon一台,微软一台。”今天再看这句话,我们除了感叹其中Yahoo的没落外,更惊讶于历史大潮中时隐时现的“轮回”。

其实,距离理想中的云计算真正实现,我们还有很长的路要走。但五大公司各自坐拥一台电脑满足全球的思想,已经被IPFS击得粉碎。因为五大公司的五台电脑,其实更应被叫做“超级服务器”。这样一种依赖中心服务器的网络必然也依赖主干网络,所造成的结果是只要发生服务器关闭、服务器被攻击、主干网络被拦截,我们的就将无法访问服务器上的任何内容,更不用说被监管审查等问题。另一方面则是大量闲置存储资源的浪费、远程传输的带宽消耗。从这里我们看到了中心化网络这种与互联网开放、协作初衷的背道而驰。那么,是时候回归互联网的初心了。

星际文件系统(InterPlanetaryFile System,缩写IPFS)是一个点对点的超媒体协议。旨在构建一个去中心化的存储网络,网络中的每一个节点为其他节点提供存储、检索服务,并通过内容寻址的方式向其他节点访问自己所需的数据。该系统由Juan Benet设计,并在Juan Benet所创立的开源社区Protocol Labs(协议实验室)中被开发出来,并与2015年1月上线。通过IPFS协议构建的网路,将为大家提供更安全低廉数据存储和更有效率的数据传输。

同时,ProtocolLabs即将上线的Filecoin项目将为IPFS的节点提供激励,与IPFS项目行程相辅相成的关系。比起更早时候上线的Storj、Sia、MaidSAFE等同类区块链项目,我们在IPFS+Filecoin的协作模式上看到了更加自由、开放、健康的成长前景。在2017年8月Filecoin的ICO上,我们也通过30分钟2.5亿美金的成绩和后续的期货价格看到了举世对于这个项目的高度关注与巨大信心。

于是,很多人都对于Filecoin上线后如何挖矿保持了持续的关注。这里,星际资本将我们本阶段的探索结果写出来,与大家共同探讨。

一、接入IPFS网络

要对Filecoin进行挖矿,首先要接入IPFS网络成为一个节点。因此,我们首先要下载相关的代码并进行配置。

1、下载

IPFS拥有go语言、js语言、python语言三个版本,由于人力有限,目前python版本的开发进度较为落后,在此推荐大家下载go版本。

下载地址:https://dist.ipfs.io

2、解压

将下载包解压。我这里是解压到D盘的IPFS-FUND文件夹中。

3、打开命令行

通过开始——运行,或win+R快捷键的方式运行CMD打开命令行界面,最好是以管理员的身份运行。

4、启动ipfs

进入go-ipfs文件夹,输入ipfs init命令。这样就启动了ipfs程序,如果是初次启动还会进行节点的创建与初始化。

可以看到小编这里的节点哈希是:

QmNbETCMTCden6patJJs3nxAxWrLWPeaHk72jckUawu3JQ

更多指令可参考https://ipfs.io/docs/commands/,每条指令都有详细的说明,这里就不展开了。

5、启动节点

输入ipfs daemon命令,启动ipfs节点。这里可以看到节点的一些信息。

6、上传文件

通过“ipfsadd -r 文档路径”即可上传文件到IPFS网络,小编这里把要上传的图片直接放在go-ipfs文件夹下,所以是直接写文件名,如果是在其他文件夹,则要写完整的文档路径。

这里可以看到图片上传完毕,并产生了相应的哈希值。只要存储了该图片的节点在网络中运行,就可以通过这串哈希值访问这张图片。

7、访问文件

访问文件的指令是“ipfs cat /ipfs/哈希值 > 存储路径”。如果存储路径只写文件名就会存在当前目录下。如果存储路径下已存在同名文件,则会覆盖原文件,这一点需要注意一下。

这里需要说明一下,如果通过简单的“ipfs cat /ipfs/哈希值”,则会把数据直接在命令行界面中显示出来,比如:

8、用浏览器访问http://localhost:5001/webui地址可以进入浏览器界面对ipfs进行操作,这个比较直观,就不多说了。

在这个使用过程中,网络节点实现了两个关键行为“存储”和“检索”,接下来我们将由此入手,为大家讲解Filecoin的挖矿原理。

二、挖矿原理

要了解Filecoin的挖矿原理,关键从IPFS网络中的节点行为入手,即“存储”和“检索”两种行为,围绕这两种行为,衍生出一系列具有相应性质的概念。

存储挖矿:通过存储来获取代币。

检索挖矿:通过检索来获取代币。

存储矿工:存储挖矿的节点。

检索矿工:检索挖矿的节点。

存储订单:根据存储需求提交的订单。

检索订单:根据检索需求提交的订单。

存储市场:存储订单构成的市场。

检索市场:检索订单构成的市场。

其中一个节点可以同时进行存储和检索。存储市场和检索市场共同构成可验证市场,是一个存在竞争的市场。

具体而言,可以分三个部分来看(小编灵魂画手的人格又出现了):

1、存储服务

简要说明:存储矿工的抵押代币和承诺的存储空间大小相关。

2、检索服务

简要说明:检索矿工提供检索服务时,无需抵押代币。

3、区块打包

简要说明:只有存储矿工可以竞争新区块的打包权,从而获取代币奖励,竞争的依据是提供的存储量占全网存储量的比重。

好了,都说一图抵千文,相信通过三张图大家已经比较清楚Filecoin挖矿的原理了,下次我们将就硬件配置和大家做一下探讨。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180302G06VB400?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券