GO 构造的下一代互联网:IPFS全解析

     大家好,我是余长洪,来自INBlockchain。很高兴今天和大家分享下 IPFS。

     严格来讲 IPFS 不算是区块链项目,只是一个去中心化存储解决方案。其上开发的FileCoin才是真正的区块链项目。

    今天的主题定的比较大,请不要在意这些细节。我们一起来看看它怎么做的,是否真的能完美的替代HTTP的协议。这个是IPFS官网上贴的目标,就是为了替代HTTP协议,打造一个更好的互联网。

我们来看一下目前互联网存在的一些问题。

     首先现在的互联网有很多大量重复的内容。我们有一句俗话:“天下文章一大抄”。现在搞内容互联网的都会用到各种爬虫,结果就是网络上都是重复的内容。IPFS可以把大的文件都切成很小的Block,每一个Block有自己的唯一Hash,可以做到重复的部分只存一份,这就可以节省很大的存储成本。对于带宽来讲,P2P 网络可以从很多不同的节点拉取你所需要的 block。对于内容的服务商来讲,不需要很大的带宽,以为流量都被整个网络分摊了。现在如果对网络上的文件做了修改,之前的历史你可能就找不到了。但是在 IPFS 中文件有了 Version 的概念,每个版本都会存储到网络中,并且只存储修改的部分。谈到开放程度呢,现在互联网是被中心化管控的,我们用去中心化的网络可以更加开放。像朝鲜这样的国家都访问不了 Facebook等网站,我是接受不了的。


我们来看一下 IPFS 的技术架构。

由下到上是网络、路由、数据交换、数据存储、naming服务、和应用。

IPFS 是很多现有技术的组合,右侧是 IPFS 采用的关键技术,底层网络在go网络库上基础上实现了一个 libp2p 库,包含了各种网络协议。

路由技术使用的 DHT 分布式哈希表,数据交换是从 BitTorrent 基础上演化的 BitSwap,数据存储借鉴了Git。还有 SFS,一种自签名的文件寻址系统。


节点ID

    上面这个算法是怎么去算节点ID的。跟 Bitcoin 等有点类似,先生成公私钥,再根据公钥生成地址。有一点不同的地方是它在里面加入了一个轻量级的 PoW 算法。在生成节点ID的时候,经过一定运算生成合法的nodeID。这么做的好处就是可以提高攻击的成本。以女巫攻击为例,攻击者需要伪造很多恶意的节点来污染整个网络,如果采用这种生成 ID 的方式,可以提高攻击者的成本,从而避免一些攻击。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值