IPFS红岸智能周雪松:三大去中心化存储区别

想参与存储挖矿的朋友一定对storj、sia和filecoin不陌生,但是大家对这三者的区别并没有一个深入的了解,特别是对于一些技术小白的朋友们更是很难弄明白,为了解答这些问题,小编找了一些资料,仔细的分析了三者之间的差异,以下是英国爱丁堡赫瑞瓦特大学 工程造价硕士周雪松总结的一些知识,与大家分享。

storj是什么

storj是一个去中心化存储网络,代币是基于以太坊发行的erc20的token,严格的说storj并不是一个区块链项目,也不是区块链的共识奖励机制,而是一个中心化的奖励机制,即每个月storj官方根据各矿工每月的存储量来发放奖励。

以下是storj的工作原理:

1) 用户U发布单价P的订单以存储文件F

2) 矿工M看到订单后同意存储F,接收订单后从用户U接收F文件。

3) 定期U向M询问关于F的问题,如果M回答正确,则U可能存储了F文件。

4) 如果M回答错误,则U认为M没有存储文件F,则再次寻找新的矿工。

以上过程是storj的一个工作过程,这个过程有几个严重的问题:

1) 用户U必须一直在线,询问矿工M关于F的问题,以便验证矿工M是否存储了文件。

2) 用户U只能确认存储了F的一个副本,M可以假装为M2,并且声称也存储了一个F的副本,但实际上只存储了一份,作弊者可以模拟N份F并能准确的回复验证,这就是我们常见的女巫攻击。

3) 用户U必须保存一份F,因为矿工M可能会删除F的副本,这样数据F就丢失了。

4) storj无法实现实时结算奖励,因为它是基于以太坊发行的,而以太坊的速度目前无法支撑这种高频率的交易。

sia是什么

sia是一个基于POW的区块链去中心化存储的项目,sia实际上是有二种矿工,一种是POW打包区块的矿工(不需要抵押),这种矿工获得sia网络打包区块的奖励,一般使用的是ACIS矿机;一种是出租存储的矿工(需要抵押),这种矿工通过出租硬盘获得奖励

sia在storj的基础上做了以下改进:

1) sia区块链网络自动生成关于文件F的验证问题,使矿工M证明存储了文件F,而不是像storj一样要求用户U用去验证矿工是否存储了文件。

2) 网络上的任何矿工都可以验证矿工是否存储了文件F,sia通过共识机制实现了去中心化的存储的目标。

sia虽然解决了用户需要一直在线和去中心化验证的问题,但是仍然没有所有的问题,从而无法大规模应用:

1) 矿M仍然可以模拟多个F的副本,向网络提交证明,达到女巫攻击的效果。

2) 为了防止文件F丢失,用户仍然需要保存一份备份数据。

3) 基于POW共识算法的区块链交易效率极低,无法实现高频率实时结算。

Filecoin是什么?

filecoin是基于IPFS的一激励层,filecoin彻底的解决了storj和sia防止作弊的问题,那么filecoin是如何做到的呢?filecoin是通过复制证明和时空证明二种新共识算法来解决这个问题。这里看起来有点复杂和抽象,小编尽可能用通俗的语言这二种共识算法解释。

其实道理很简单,要防止作弊,就要让每一个矿工存储的数据D都不一样,即对数据D进行特定的加密形成矿工专属副本R,使得每个矿工在向网络提交证明时回答的内容都不一样,这样就防止了女巫攻击。

复制证明是用于在存储数据结束后,矿工向网络提交证明已经存储用户的数据,而时空证明是用于矿工一直不断的向网络证明存储了用户的数据。

1) 对于数据D,每个矿工都是存储其独立的副本R,构建方式:PoRep.Setup(1λ, D) 输出R, SP , SV。R是矿工M的专属副本,SP和SV是用于验证矿工是否存储了副本R的参数,并且由D到R的过程是一个相对较慢的过程,但是验证过程会非常快,如果矿工不能及时响应其他矿工验证者V的询问,则视为没有存储副本R。

2) 如果矿工要作弊,则需要模拟其独立的副本R',但这个过程相对验证过程会慢很多,因此无法及时提交验证,filecoin网络主要通过这种方式防止矿工作弊。

3) 有些人可能会有疑问,复制证明是可以防止作弊,时空证明怎么防止我存了一段时间之后再把数据删除的情况呢,时空证明采用了很巧妙的设计,每次验证都会传入不同的参数让矿工返回不同的验证值,因此矿工不得不一直存储数据专属副本。

除了复制证明和时空证明的防止作弊以外,filecoin在打包区块方式也有较大的创新,通过有效存储做为一种”算力“,有效存储越大,获得打包区块的概率越,并且通过领导节点选举的模式选择打包节点,比起基于哈希算法的POW的机制更高效,这种方式能够支撑大规律的实时奖励结算和交易结算。