带你玩转区块链--深入剖析IPFS-第三章-第四节【ipfs篇】

一、什么是IPFS

IPFS英文全名为InterPlanetary File System,中文名叫做星际文件系统。

1.IPFS是一个点对点的分布式文件系统 (分布式系统:无中心服务器、依靠用户群 交换信息的互联网体系。网络中每个用户端既是一个节点,也有服务器的功能。)

二、IPFS的特点

  • 内容可寻址(区别于位置寻址): ==通过文件的哈希值进行索引==
  • 数据稳定性==(永远告别404,只要上传过,就一定会存在==):
  • 点对点超媒体(P2P、上传、下载速度很快)

三、IPFS的原理

1.IPFS的原理是基于内容的地址替代基于域名的地址,也就是用户寻找的不是某个地址而是储存在某个地方的内容,不需要验证发送者的身份,而只需要验证内容的哈希,通过这样可以让网页的速度更快、更安全、更健壮、更持久。IPFS 技术就是把文件打碎,分散地存储在不同的硬盘里,下载的时候,再从这些散落在全球各地的硬盘里读取。其实用过 BT 下载的人会发现,IPFS 其实就是一种 BitTorrent 协议,开发团队对 BitTorrent 协议稍微升级了一下。

2.IPFS是一个协议,但是拥有更加强大的功能,使得IPFS拥有可以取代HTTP的潜力。在中心化项目中的网络协议是:【数据层-----网络层--------传输层-------应用层】而在区块链中的网络协议为:【数据层------网络层--------共识层(porep、post)--------激励层(FileCoin)-------应用层】

我们知道BTC的共识层为POW,ETH的共识层为POW+POS,那么IPFS的共识层是什么呢?

四、IPFS的共识层

IPFS的共识层为:复制证明PoRep(Proof-of-Replication),以及时空证明PoSt(Proofs-of-Spacetime)。

复制证明

简单来说,PoRep是一个凭证,证明用户的数据已经被复制存储到证明人唯一的专用物理存储设备上了,(说白了,就是证明数据被上传了)。PoRep主要防止以下三大伪造文件储量的手段:

一.女巫攻击(Sybil Attack)

女巫攻击能够伪造多个身份,试图对实际储存文件的数量作出欺瞒,例如实际只存放的文件只有1个,但女巫攻击则伪造其余99个储存凭证,从而骗取Filecoin。(一份数据上传多次)

二.外部数据源攻击(Outsourcing Attack)

当攻击者收到检验者要求提供存储了数据证明的时候,攻击者从别的矿工那里生成虚假证明,欺骗检验者有存储数据,但实际上并没有!(利用别人的数据,伪造自己的数据)

三.生成攻击(Generation Attack)

攻击者可以使用某种方式生成数据,当检验者验证的时候,攻击者利用重新生成的数据来完成存储证明。(利用假数据,混过校验)

所以,有了PoRep,就可以防止Sybil Attack、Outsourcing Attack及Generation Attack了!当然,储存者的网络也要做好黑客及病毒的防御,以防止被黑客袭击。

时空证明

PoSt就是一个时空证明,检查存储提供者是否在某一段时间真的在存储数据的一个凭证。(检验数据上传时间是否正确)

五、FileCoin源码重构

未完待续

你可能感兴趣的:(区块链开发)