LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 币圈百科 > Filecoin的性能与成本两难全?存储公链专家王东临提新招

Filecoin的性能与成本两难全?存储公链专家王东临提新招

2020-04-01 YottaChain 来源:火星财经

日前,Filecoin官方在Slack上举行了2020年第一场AMA,创始人胡安在线回应了矿工们的“灵魂拷问”。胡安透露,Filecoin主网将于7月上线,并对此充满信心。事实是否果真如此?同为存储公链创始人的王东临表示胡安的预测似乎过于乐观,因为对照自己带领团队发起YottaChain一路走来的亲身经历来看,公链进阶不易,Filecoin距离主网上线还需跨过颇多关卡。于是,结合胡安AMA的内容,王东临做了一系列深刻解读《从YottaChain的痛与悟,看Filecoin不必去走的弯路》,分享了这些不得不说的痛与悟。

欲知前情,请阅读:

(一)“最佳估计”≈不可能完成?Filecoin7月上线有几分把握

(二)SNARK还是HASH?Filecoin和YottaChain的存储共识大比拼

(三)对用户的数据生命负责,Filecoin/IPFS不能回避的存储“学分”

(四)削平用户入局门槛, Filecoin/IPFS还需过一道钱包关!


欲维系一个区块链系统的可信安全,就必须要制定规则保证每个节点公平有序地自行运转,抵制恶意攻击。这一点上,利用区块链技术来构建去中心化存储系统的Filecoin也不例外,其体系下也需要一种严谨的证明手段来验证矿工是否作弊,有无谎称自己存储了用户的数据,确保矿工们都凭借真实的存储能力争夺出块资格。

Filecoin系统中的证明算法最初源于存储证明(PoS)、数据持有性证明(PDP)和可检索证明(PoR),后面逐渐迭代、增强约束条件,才完善为如今工程中所采用的复制证明(Proof of Replication,PoRep)与时空证明(Proof of Storage-time,PoSt)。

PoRep是存储证明PoS的一个实现方案,用以证明数据被矿工独立地保存,可以防止女巫攻击,外源攻击和生成攻击;PoSt则用于证明在一段时间内,矿工在自己的存储设备上实际存储了特定的数据。

在胡安的AMA上,有人提问:当前的PoRep本质上是将一个PoR嵌入到一个PoS中,这就要求证明者总共使用2N的空间。这不符合“无大小扩展”,与传统存储供应商相比,是一个明显的缺点。Filecoin有没有超越时间限制的计划?多方计算?

对此,胡安的回答是,“我们不是在做两个独立的证明PoR和PoS,而是将这两个证明合并到一个有用空间证明中,我们称之为复制证明。矿工执行密封,以将原始数据转换为密封的扇区。密封扇区的大小仍然是N。矿工可以通过执行开封过程从副本中提取数据。如果该矿工拥有一个非常受欢迎的文件,并且不想开封或提供更快的检索速度,则他们可以保留额外的未密封版本。我们有一些不基于延时模型的候选结构,但我们仍在对其进行评估,并根据研究何时完成来提出一个新的分支结构。成本模型是偏离时间模型的方向之一。背后的直觉是:存储数据以进行再生攻击会更便宜”。

这段牵涉很多专业术语的回答听上去颇有些云里雾里,什么叫做面向成本的模型和面向延时的模型呢?王东临解释道,胡安的意思是说如果数据封包了,在读取的时候会慢一点,但是不需要2倍空间,成本上更低。如果封包一份,外面再留一份,那么读取的时候会比较快,性能更好,但是占了2倍空间,成本较高。在乎性能还是在乎成本,可以由矿工自主选择。

性能与成本,真的两难全?王东临说,其实未必,Filecoin在数据结构设计上可以考虑另一种可能,即在封包里面也能做到快速读取数据。在这一点上,YottaChain的元数据链设计有些成功的经验可供借鉴,其在最初设计时仅作为持久化存储使用,另外需要增加一倍的空间作为运行时状态,后来就改为了runtime直接读取持久化存储的数据,理论上是有可行性的,可以同时兼顾到性能和成本,不需要做取舍。

关于降低延时,王东临也提出了一个可供Filecoin参考的新招:变一对一读取为一对多读取。以YottaChain为例,每一个数据块都从100多个节点同时下载,每个节点只下载16KB,100多个节点同时下载的情况下速度非常快,这样哪怕出现几十个节点读取不出来也没关系,因为每个节点读取一小块,然后拼在一起就好了。这种模式对于提高性能无疑大有裨益。

本文来源:YottaChain
原文标题:Filecoin的性能与成本两难全?存储公链专家王东临提新招

—-

编译者/作者:YottaChain

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...