IPFS技术和Filecion技术实际上是两种技术,它们之间既有联系又有区别,首先我们从技术角度去说,IPFS使用的技术栈里面主要包含BT技术,再加上其它类型的技术。它是一个集各项成熟技术为一体的创新型项目,这就是IPFS。需要注意的是:IPFS技术栈里边并没有任何区块链特有的技术,比如共识,比如代币等等。也就是说它里边没有用到区块链相关技术。
Filecion是另外一项技术,但是Filecion和IPFS共用了同一个模块,我们称之为基础模块,叫Libp2p模块。LibP2P模块既是IPFS的网络基础,又是Filecion的网络基础。Filecion是一个完全基于区块链的分布式存储项目,它所使用的技术是区块链技术。Filecion还有非常多创新性的东西,比如说时空证明POST,还有它使用了数据存储本身做算力进行共识计算。
Filecion和IPFS之间的区别是使用的技术不同,应用的场景也不同。IPFS用的场景可以类比HTTP,主要是做数据的传输、定位。什么叫传输?传输就是把数据从一个节点传到另外一个节点,也就说从一个地方传到另外一个地方。比如,手机打开京东的时候,从京东服务器传到你手机上,这就叫数据传输,所以IPFS技术功能之一是做数据传输。IPFS的另外一个主功能是数据的定位,即找到数据在什么地方,类似HTTP的DNS。
Filecion主要是做数据存储的,我们知道做数据存储必须去做数据传输,否则你存储就没有意义。所以说Filecion其实是架构在IPFS之上的一个应用,它架构在IPFS之上做了一个数据存储的项目,它们底层网络是可以相通的。所以数据传输和数据存储就被融合成了一个整体,IPFS和Filecion组成了一组互补协议。
IPFS的上线时间是2015年5月份,到现在已经五年了。目前Filecion二测上线了,现在大多数的应用都分布在一些私有网络,公有网络不是特别多,而且还有很多顶级公司,包括国内的一些大公司在使用IPFS的技术。
IPFS实际上与区块链技术并没有太大联系,它只是一个互联网技术,但是IPFS使用的底层模块叫LibP2P,它被抽象出来之后成了一个独立的项目,而这个项目实际上跟区块链有相当多的联系,它可以作为区块链项目的一个基础设施。也就是说如果有项目方想开发一个区块链项目,可以直接借助LibP2P这个项目进行开发,会有非常多的工作被节省下来,也就是说你不用在上面去开发基础的网络和数据传输部分,因为LibP2P已经帮你封装好了,基于这样一个模块儿去做的话,你只需要在上面做共识部分就能够开发出来一个区块链项目,降低了区块链开发者的难度。
IPFS是分布式网络的一种协议,现在的网络基础架构越来越向分布式去走,不管是大的网络还是小的网络,当前所说的微服务其实都是分布式网络,包括京东、淘宝、天猫、支付宝、微信这些技术都已经是分布式网络了。最早的中心化网络,由一个节点控制全网,到后来很多个节点,再到像IPFS或者区块链时代的完全的分布式网络,所以这是技术的两个极端。IPFS是在分布式网络下诞生的一种技术。
如果你需要开发一个分布式应用,基于IPFS开发是一个非常好的选择,因为IPFS网络本身就具有分布式的特点。IPFS节点也就是大家说的点对点网络,是一个节点多连接任意其它节点的,意味着IPFS在数据传输上比HTTP有更大的优势。IPFS的核心就是BT协议,所以说BT下载对IPFS数据下载来讲,它大约比现在的HTTP能节省60%的带宽,这是IPFS优势。
IPFS具体的一些应用场景,从大范围去分可以分为两种:一种的是公网应用,公网应用就是我们接入整个IPFS的大公网,它像巨大的BT网络,我们接触BT网络之后,可以开发一些自己的应用,这种公网应用多数可以开发一些DAPP的东西,或者平台相关的一些东西;另外一种是私网应用,IPFS允许用户启动一个IPFS网络,跟主网隔离开来形成一个小的局域网,这种我们可以多见用于企业的企业网内部,现在已经有不少公司在探索企业内网里使用该类型的网络。据我所知,有一些公司已经开始把IPFS网用于自己的项目。
Filecoin是一个基于区块链的存储项目,通俗点儿来讲,它就是一个巨大的网盘,这个网盘是建立在区块链项目基础之上的,是由矿工来维护和运营的一个网盘,这就是Filecoin这个项目的通俗理解。IPFS是Filecoin的技术基础,它们之间使用了一些共用模块。IPFS是一个BT网络,需要更多的节点,因为节点越多,性能越好。
在以往的BT项目里面(例如,电驴),很难有一种方式激励这些使用BT的人一直开着自己的BT网络,一直去给别人做种子。因为这样对它们自己没有什么好处,还要消耗自己的资源,比如说电能、硬盘甚至网络带宽。如果想让BT网络变得更好,就需要更多的用户去做种子,但这是一件非常难的事,在以往的BT网络里,我们很难去做到让用户去主动去分享自己的数据。
我们都知道以前那些BT软件,曾经尝试过各种激励方式。比如说你限制了带宽,那么它的软件会主动去限制你的下载。还有一些在很多年前的大型BT站,它们是采用积分的制度,就是说你可以花钱购买积分,其实就相当于花钱购买流量,这都是激励大家去做种子的一种方式,都不尽够理想。
但是非常幸运的,这十年我们碰到了区块链,而区块链是在做这方面具有先天优势,所以说Filecoin就是IPFS上面的一个激励层,然后以Filecion的形式可以给IPFS提供更多的节点,这就是它们之间的关系。也就是说IPFS使用的人越多,或者使用的应用越多,对Filecion的需求越大,Filecion的节点越多,对IPFS网络的支持越大,它们是一对儿互相促进的协议。
虽然IPFS早在五年前就已经上线了,但是在那个时代,因为没有激励层的存在,这些企业或者这些开发者使用的时候,只能自己来存储这些数据,就相当于是自己取这些IPFS节点来存储。在Filecion上线之后,它们多了一种选择,可以不用自己来存储这些数据,甚至不用自己去跑一个服务器的节点了,所以它可以继续Filecion这个项目,两个项目结合起来再去开发应用,这就是它们之间的联系。
首先说Filecoin的共识机制, 我们拿比特币的例子来讲,众所周知比特币的共识是使用PoW,它就是使用你手里的计算能力作为投票的比例。举个例子,你拥有全网的计算能力的1%,那你将来从概率上来讲,就拥有全网1%的比特币回报,这是比特币的共识机制,即挖矿模型。它采用的计算能力其实就是PoW工作量证明。
其实Filecoin也能使用比特币的方式,白皮书已经说得非常明白了,Filecoin可以使用任何类型的共识机制,至于你具体选哪种共识机制,这完全是团队的选择,没有什么强制的规定。Filecoin为什么不采用跟比特币一样的共识机制,我们都知道Filecoin是一个基于实体经济的项目,它跟实体经济结合的非常的紧密,所以说它必须降低成本,刚刚说它是个巨大的网盘,如果它不降低成本,意味着网络成本太高。我相信不会有更多的人去选择。
基于这方面的理解,Filecoin必须找出一种共识机制,越便宜越好,这种共识机制显然不能采用比特币的共识机制,因为比特币的共识机制成本很高,Filecoin需要规避这个问题。我们刚才说了Filecoin是一个巨大的网盘,矿工做的事情是提供自己的存储和带宽,那是不是我们可以换一种思考方式?我把你提供的存储空间,就是说你存储的数据本身作为你的共识机制基础计算方式如何?这就是Filecoin的一个方向。
基于这个思考,Filecoin共识机制就提出来了一种叫PoST的时空证明,时空证明就是证明一个矿工在一段时间存储一定的数据量,只要你存储了数据,你就有算力。它从本质上来讲,跟比特币是一样的。比如说你存储的数据量的大小,如果占全网数据量的1%,那你所获得的Filecoin的回报,也就是token的回报也是全网的1%。所以说它是按照存储的数据量大小。一旦我们按照存储数据量的大小去计算这种共识机制,显然不需要巨大的计算工作来完成这个事情,我们只需要适当的计算工作来完成,这样可以节省计算资源和电力。
这就是Filecion为了降低成本所做的努力,这样做对Filecoin来讲,它将面临巨大的挑战。以前没人这样干过,这个创新就非常的具有挑战性,意味着Filecion的共识机制太难了,因为它要一直盯着矿工存储的数据本身,矿工不能删除数据,是临时生成数据都不可以。
数据本身在Filecion里,因为我们刚才已经说过Filecion是一个巨大的网盘,这个网盘是用来存数据的。数据来自于用户,来自于使用者,用户把自己的数据交给矿工,然后矿工拿这个数据存储之后,作为自己的算力,然后进行区块链的共识机制维持,获得区块链的回报,这就是Filecion挖矿的共识机制的方式。这里边特别巧妙的地方就是Filecion在做它共识机制的时候,恰好可以使用矿工存储的数据。
所以在Filecion里的共识机制,以上说的那些,这只是一些比喻,这里仅仅涉及了一个时空证明的这种概念,还有其它很多概念并没有去涉及,就是想让大家能够明白它是做的一件什么样的事情即可。
Filecion的生态里的角色大概分这么几种。一种是开发者,因为Filecion是一条区块链,可以在上面进行开发,它是一条跟实体经济结合的区块链。如此,就意味着开发者是要在上面做应用的,否则Filecion就失去了自己的价值,所以开发者是这边的角色之一。另一种是矿工,在Filecion项目里矿工分了两种,一种我们称之为检索矿工,一种称之为那个存储矿工,我用一个简单的描述来跟它讲一下它们是什么,大家应该一下就能明白。
在传统的BT项目来讲,大家下载数据的时候,你是不是特别想有人帮你做种子?这样你就可以下载数据,我相信会有一些人遇到类似的这样的一个情况,就是你下载了一个文件,下载了50%的时候,结果发现没有种子了,你的下载中断了。在Filecion里。矿工的概念就是为大家做种子的节点,然后你下载的时候,你可以从很多地方进行下载,会有网络加速,这就是矿工。
我们刚才说了开发者和矿工。还有币的持有者。跟比特币的持有者是非常相似,投资者、爱好者或者是交易所。但是Filecion的token跟比特币的token并不太相同,Filecion的token是有交易价值的。因为在这个网络里边,我们要衡量存储了多少花多少钱,或者下载了多少花多少钱,这个事情是要使用token进行衡量的。
大家一定要注意,在互联网上每一个比特都是有人付费的,天下没有免费的午餐。比如你手机打开京东,然后你下载了京东的商品数据,那我想告诉你这个付费的过程是什么样的,首先你需要从网络运营商里边付流量费,然后下载这些流量到你的手机里,这个流量是有人付费的。其次,然后这些存储在京东的服务器上,京东是要付存储费的。最后,从京东那里下载数据的时候,京东还要再给你们付一次流量费,实际上这个流量在我们现在当前的经济模型里边,它是双向收费的。所以说所有的数据都是有人付费的,所有的存储也都是有人付费的。Filecion这个经济模型恰好符合这些规律。用户是一种角色,它是Filecion的网络的使用者。
最后我们再说一下Filecion里矿机的概念,在Filecion系统里矿机的概念和比特币不太一样,比特币的矿机出厂的时候已经确定了矿机算力,我们习惯用算力的概念来形容一个矿机的挖矿能力,这就是算力。Filecion矿机出厂的时候算力是零,你完全无法预估它的算力有多大。那怎么办呢?那它的算力是多大?它的算力是这样算的,你在里边存储了多少有效数据,算力是根据你存储的数据量大小来衡量的。比如:全网的数据存储量有100T,你自己存了1T,那你矿机的存的算力就是1%。如果过了一段儿时间全网的数据量变成了200T,你的数据量没有增长,那你就变了0.5%。所以它的算力是动态变化的,跟比特币这是不太一样的,大家不要按照比特币这种方式去衡量Filecion矿机的算力。
目前来讲Filecoin测试已经持续了小半年,因为受疫情的影响,也做了适当的测试延长期。实际上整个测试过程,也出现过很多问题,比如说网络重置,测试就是为了把这个测试网络的bug给找出来。
测试目前为止大概分了三个阶段,第一个阶段是开发网测试,其实就是边开发边测,它是开源项目,要求一个大的开发网,测试完全没有任何参考意义,第一阶段测试就是在今天之前两、三个月的测试期,开发团队完善了很多东西,也变更了一些协议。因为测试的时候逐步发现有一些问题需要进行妥协和权衡,在安全性和成本之间进行博弈。不管从技术来讲,还是经济模型上来讲,都有不少改动。
从第一期测试到今天启动这个测试之间仍然有一些改动,这是以前的那个经济模型里边无法呈现或者无法保证的,但是我们发现这个问题还是必须去解决。Filecion的上线时间理论上来讲,应该是在七月份到八月份之间,不会出太大的问题,因为测试到第二阶段,网络已经比以前稳定性高了很多了,包括这里边采用了一些新的做法。Filecion是有两个实现,一个我们都知道叫Lotus的实现,另一个是go-filecoin实现,现在网络已经实现了互操作,网络已经被联通起来了,第二阶段会进行两个网络的两种实现方式比较,其结果有可能两种共存,或者是将来只使用一种。
Filecion进展到今天,有很多人不太清楚它的难度,总以为Filecion这个项目一拖再拖,但实际上是因为这个项目的难度实在是太大了,它涉及到了非常多的数学前沿知识,比如说零知识证明或者非交互性零知识证明。由于这些知识在数学上都没有完美解决,所以说Filecion在某种程度上,它就是半科研性质的一个项目,有很多东西是在做科研,所以说它的项目方案一直无法完全真正稳定下来,现在很多高校也在参与这个项目的研究。在二测的时候,我们可以看到一些目前使用的证明机制或者一些数学机制。
它的稳定性已经相当不错了,但是不排除还有可能发生变化,包括主网的经济结构、技术结构都有可能发生变化。这样说吧,大概80%能在7、8月份按时上线,但是还有很少的概率会往后延期,比如发生了非常严重的bug。所以,呼吁矿工或者矿机生产商参与测试,把bug留在上线之前,千万不能留在上线之后,那对所有人可能都是灾难级的。
参与Filecoin挖矿跟比特币不太一样,先以比特币作为例子进行对比,方便大家理解。我们都知道比特币的收益曲线特别好计算,因为用电成本是多少?管理成本是多少?包括机房费用、矿机费用。所以说它可以精准计算收益率,比特币挖矿特别透明,很容易弄清楚投资能赚多少,包括风险,所以这是比特币。
但是Filecoin就不太一样了,相对要复杂一些,它需要挖矿的一些技术支持。如果是比特币,买了矿机插上电,就可以挖矿了。Filecoin不一样,你买个矿机,插上电,有可能是一点儿币都挖不到的,因为我们都知道,刚才已经说过了它的算力大小是存储的数据,你必须关注你存到多少数据。所以它还是有一定的技术含量和技术门槛的。
要参与挖矿,第一就是需要学习足够的知识,矿工必须去了解这个系统是如何运转的,当你了解到它是如何运转的以后,你自己将来就能够做出来自己预估的一个收益曲线,所以你要准备充足的知识。
第二,如果你觉得自己学习这个东西难度太大,还有一种方法,我建议大家可以找一个技术实力较为强劲的团队进行投资,当然这样的话你肯定是要付过路费,这个大家都很明白,最终要看收益率,最为普通的投资项目即可。
所以如果大家参与挖矿,很重要的一点就是不要过早投资,这也是我从2017年开始一直提醒大家的事情,到现在是已经到二测了,我仍然这样告诉大家,不要做过早的投资,你可以再观察观察。再看一看实测情况,因为Filecoin现在的网络没有到最终代码稳定阶段,所以说我们还并不清楚Filecoin数据挖矿的性能等一系列东西的最终形态是什么样子。