美文网首页
学习filecoin复制证明小结

学习filecoin复制证明小结

作者: 螃蟹酱 | 来源:发表于2018-12-28 19:53 被阅读21次

    filecoin项目中,复制证明(PoRep)是一个很重要的概念,下图为白皮书中的表述

    白皮书原文

    翻译如下:

    复制证明(PoRep)是一个新型的存储证明。它让服务器(即证明者 𝒫 )说服用户

    (即验证者 𝒱 )数据 𝒟 已经被复制到了它的唯一专用的物理存储上了。我们的方案是

    一种交互式的协议,证明者 𝒫 :(a) 承诺存储数据 𝒟 的 𝑛 个不同副本(即独立物理副

    本),然后 (b) 通过一个挑战/响应协议说服验证者 𝒱 : 𝒫 确实已经存储了每一个副本。

    据我们所知,PoRep 改进了 PoR 和 PDP 方案,阻止了女巫攻击、外包攻击和生成攻击

    的发生。                

    PoRep必须能够防范以下三种常见的攻击方式:女巫攻击,外源攻击和生成攻击,他们的共同特点是攻击矿工实际存储的数据大小要比声称存储的数据小,这样攻击矿工就能获得本不该他获得的报酬。

    女巫攻击(Sybil Attack):利用n个身份,承诺存储n份数据D,而实际上存储小于n份(比如1份),但是却提供了n份存储证明,攻击成功。

    外部数据源攻击(Outsourcing Attack):当攻击者矿工收到检验者要求提供数据D的证明的时候,攻击者矿工从别的矿工那里生成证明,证明自己一直存储了数据D,而实际上没有存储,攻击成功。

    生成攻击(Generation Attack):攻击者A可以使用某种方式生成数据D,当检验者验证的时候,攻击者A就可以重新生成数据D来完成存储证明,攻击成功。

    实际的情况来说:

    1、假设我要存一个文件到某度云盘上,如果某度云服务器宕机了,假设我把文件只存在了该服务商,可能我的文件就拿不到了。而去中心化使我们不依赖于单一中心节点,即使某个节点宕机,我们还可以从其他的节点获取我们的文件,这就是去中心化的意义之一。

    2、假设我存一个文件在IPFS某个存储提供者,我的文件内容肯定是不想让他看到的,那么就可以把我存储的文件加密,这样存储商只会存储我的文件但却看不知道我存储的究竟是什么,隐私可以得到有效保护。

    3、如何确保存储提供者真的保存了我的文件呢?此时需要存储提供者定时向我或者链上提供他存储该文件的证明(POS)。而我可以通过该证明来验证他是否真的存储了我的文件。

    4、假设我要把一个文件存储10份,如何确保存储提供商真正的存储了10份,而不是只存储了一份,等到验证的时候再复制出9份呢,这时候就需要给这9份文件加些不同的特征,可以认为这就是通常说的“加盐”。为了保证存储商不会从某份文件中生成出其余9份文件,我们可以使用一个编码慢而解码快的函数。其中一种实现就是Cipher block chaining,可以成功避免生成攻击。

    相关文章

      网友评论

          本文标题:学习filecoin复制证明小结

          本文链接:https://www.haomeiwen.com/subject/arxelqtx.html