IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)
  mcY8w4sKMujI 2023年11月02日 83 0

经《IPFS原理与实践》主要作者董天一、戴嘉乐,以及华章出版社孙海亮老师的授权

上两篇分别是

《IPFS与区块链的关系 - BlockChain Storage 区块链存储 (2)》

《什么是IPFS - BlockChain Storage 区块链存储 (1)》

本篇包含了书籍第1章的第3节,原标题为 IPFS的优势与价值;第4节,IPFS的应用领域;第5节 本章小结。

第1章 认识IPFS​

第3、4、5节

1.3 IPFS的优势与价值

前文描述了IPFS大概的基础知识和与区块链的关系,这节我们仔细介绍一下IPFS的优势和价值来源

1.3.1 IPFS的优势

IPFS的优势在于其强大的技术积淀,精巧的架构设计,以及强大的开发者生态。

1.技术优势:

IPFS技术可以分为八层子协议栈,从上至下为身份、网络、路由、交换、对象、文件、命名、应用,每个协议栈各司其职,又互相搭配。图1-8为IPFS协议栈的构成,接下来我们逐一进行解释。

IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)_数据

图1-8 IPFS协议栈

(1)身份层和路由层:对等节点身份信息的生成以及路由规则是通过Kademlia协议生成制定,KAD协议实质是构建了一个分布式松散Hash表,简称DHT,每个加入这个DHT网络的人都要生成自己的身份信息,然后才能通过这个身份信息去负责存储这个网络里的资源信息和其他成员的联系信息。如同微信名片分享,在无法通过直接搜索微信号的情况下,如果你要找一个人,可以通过有这个人联系方式的朋友分享名片来建立联系。

(2)网络层:比较核心,使用的LibP2P可以支持任意传输层协议。NAT技术能让内网中的设备共用同一个外网IP,我们都体验过的家庭路由器就是这个原理。

(3)交换层: IPFS吸取了Bittorrent的技术,并在其之上进行了再创新,自研了Bitswap模块,使用Bitswap进行数据的分发和交换,用户分享数据会增加信用分,分享得越多信用分越高。相反,如果用户只下载数据而分享数据,信用分会越来越低,直到被其它节点忽略。这一设计可以解决女巫攻击,信用分不可能靠机器刷去提高,一直刷检索请求,信用分越刷越低。请求次数和存储量的变量之间有一个比较精妙的算法,类似一个抛物线,前期可以容忍一些“吃白食”情况,达到一定次数后不再信任。

(4)对象层和文件层:这两层适合结合来谈,它们管理的是IPFS上80%的数据结构,大部分数据对象都是以Merkle DAG的结构存在,这为内容寻址和去重提供了便利。文件层是一个新的数据结构,和DAG并列,采用Git一样的数据结构来支持版本快照。

(5)命名层:具有自我验证的特性(当其他用户获取该对象时,使用指纹公钥进行验签,即验证所用的公钥是否与NodeId匹配,这验证了用户发布对象的真实性,同时也获取到了可变状态),并且加入了IPNS这个巧妙的设计来使得加密后的DAG对象名可定义,增强可阅读性。

(6)应用层: IPFS核心价值就在于上面运行的应用程序,基于IPFS的CDN功能,应用可以快速下载数据,从而提升整个应用程序的效率。

新旧技术的更替,无非就两点:第一,能提高系统效率;第二,能够降低系统成本。IPFS把这两点都做到了。

图1-9是一个IPFS技术模块的和功能间的映射关系图,同时也是一个纵向数据流图。刚才所说的八层协议,其实每一层的实现都绑定在对应的模块下,进行了一个直观的图表设计:

IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)_数据_02

图1-9 IPFS模块关系图

IPFS的团队在开发时,采用高度模块集成化的方式,像搭积木一样去开发整个项目。协议实验室团队2015年创立,到2017年的时间里都在做IPLD、LibP2P、Multiformats这三个模块的开发,它们服务于IPFS底层。

Mutiformats是一系列hash加密算法和自描述方式(从值上就可以知道值是如何生成)的集合,它具有SHA1256 5123B等6种主流的加密方式,用以加密和描述nodeID以及指纹数据的生成。

LibP2P是IPFS核心中的核心,面对各式各样的传输层协议以及复杂的网络设备,它可以帮助开发者迅速建立一个可用P2P网络层,快速且节约成本,这也是为什么IPFS技术被众多区块链项目青睐的缘由。

IPLD其实是一个转换中间件,将现有的异构数据结构统一成一种格式,方便不同系统之间的数据交换和互操作。现在IPLD支持的数据结构,是比特币、以太坊的区块数据。这也是IPFS为什么受到区块链系统欢迎的原因之二,它的IPLD中间件可以把不同的区块结构统一成一个标准进行传递,为开发者提供了成功性比较高的标准,不用担心性能、稳定和bug。

IPFS应用了这几个模块的功能,集成为一种容器化的应用程序,运行在独立节点上,以Web服务的形式,供大家使用访问。

最后是Filecoin,作为去年7月才宣布的项目,它的开发进度至今保密。Filecoin把这些应用的数据价值化,通过类似比特币的激励政策和经济模型,让更多的人去创建节点,去让更多的人使用IPFS。

本节只对IPFS的技术特性进行了概要介绍,将在原理篇中对每个技术细节做系统性详解。

2. 社区优势:

协议实验室是由Juan Benet在2014年5月份发起。Juan Benet毕业于斯坦福大学,在创建IPFS项目之前,他创办的第一家公司被雅虎收购。2015年,他发起的IPFS项目在YCombinator孵化竞赛中拿到了巨额的投资,同时成立了协议实验室公司。并于2017年8月底,完成了Filecoin项目的全球众筹,在Coinlist(协议实验室独立开发、严格遵从SAFT协议的区块链融资众筹平台)上共募集了2.57亿美金,如图1-10所示,协议实验室(Protocal Labs)具有强大的投资者和开发者社区。

IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)_区块链_03

图1-10 Protocal Labs投资人和机构

IPFS的社区由协议实验室团队维护,到目前为止,如图1-11所示,开发者社区已经拥有上百位代码贡献者和数十位核心开发人员,IPFS目前已经发布了27个版本的迭代,开发进度一直非常好。

IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)_区块链_04

图1-11 IPFS开发者社区

同时,协议实验室官方也授权了部分社区(IPFS Community)中的Co-Organizer牵头全球性的推广交流活动,目前已在美国芝加哥,费城,波士顿,华盛顿、英国伦敦、印度德里、哥斯达黎加圣何塞、巴西圣保罗、西班牙巴塞罗那、加拿大蒙特利尔,德国柏林、新加坡、中国北京,深圳,福州等数十个各国城市开展了社区自治的Meetup线下活动,下图中的红点标记即为Meetup所在城市的分布。

1.3.2 与其他区块链存储技术的对比

当前,如图1-12所示,全球去中心存储区块链项目出现了包括Filecoin、Sia、StorJ、Burst、Bluzelle等一批优质的区块链项目,欲抢占存储市场制高点。它们都能够很好的提供类似的去中心化存储功能,但在具体技术手段和应用场景上则略有差异。下面将重点阐述以IPFS和Filecoin构建的区块链存储体系与其他去中心存储区块链项目的对比。

IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)_区块链_05

图1-12 全球去中心存储区块链项目

1.    Burst

Burst作为第一个使用容量证明(Proof-of-capacity) 的项目还是具有很大的进步意义的。该项目是2014年8月10号在bitcointalk上发起的,发起人是的账号是“Burstcoin”,一年后创始人 “Burstcoin”跟中本聪一样消失了,由于项目是开源的,2016年1月11日一些社区成员将这个开源项目重新继承,独立运营开发,在Bitcointalk上新开了一个专区板块来维护。

相较Filecoin所采用的多重复杂共识算法,Burst是使用的一种叫做容量证明(Proof-of-capacity) 的简易存储证明机制,即:在帮助公司挖矿的时候,矿工利用的是未使用的硬盘驱动器空间,而不是处理器和显卡。矿工可以提前生成的大量数据,被称为“plot”,然后保存到硬盘。块存储的数量实际上是采矿速度。对于每一块,矿工浏览储存的plot和计算时间,直到如果另一块尚未发现,并且它有足够能力挖取一个块。plot只需要生成一次,对电脑处理器单元(cpu)或显卡(gpu)使burst系统硬件和能源更加友好,且实现起来更为简单。

官网:https://www.burst-coin.org

2.    Sia

Sia是一个让云存储去中心化的项目,通过运用加密技术,加密合约和冗余备份,Sia能够使一群互不了解和互不信任的计算机节点联合起来成为一种有统一运行逻辑和程序的云存储平台。其倾向于在P2P和企业级领域与现有存储解决方案进行竞争。Sia不是从集中供应商处租用存储,而是从彼此个体节点租用存储。Sia本身只存储各方之间形成的存储合同,定义其安排条款。Sia最初将实施为基于区块链Altcoin,未来将计划支持与比特币进行双向锚定。

相较于Filecoin的共识机制,Sia采用的是POW(Proof Of Work) 和 POS(Proof OfStorage) 的组合设计模式,其次,要使用Sia,必须在数据存储空间的提供者和租用者之间签订协议。租用者需要提前购置一大笔的Siacoins,用以支付给区块链,如果满足了协议条款,那些Token就会支付给提供者。如果协议没有按照预期的那样完成,Token就会返回给租用者,对于存储的使用者而言,需要为文件的上传、下载和存储付费。Filecoin的文件交易市场,对Sia有参考借鉴。

官网:http://sia.tech/

3.    Storj 

Storj是一个去中心化的基于区块链的分布式云存储系统,主要功能与中心化的Dropbox,Onedrive类似。Storj激励用户分享自己的剩余空间和流量以获得区块奖励,因为其充分利用用户资源,成本极低,并且数据采用冗余端对端加密存储,更加安全可靠。Storj已经达成与开源FTP文件传输项目FileZilla的合作。

相较于Filecoin,Storj为基于ERC2.0的以太坊众筹币种,没有成熟的公有链架构,用一种边走边付的方式,在这种方式里租用者频繁地给托管主机付款,如果用户不见了或不在线,托管主机将得不到报酬。Storj更像一个被项目方撮合的共享存储经济体,不存在矿工挖矿产生区块的概念。

官网:https://storj.io/

4.    Bluzelle

Bluzelle是一款快速的、便宜的、可扩展的、使用于全球DApps的去中心化数据库服务,填补了去中心化基础架构的一个关键空白。

对比:软件通常处理两种类型的数据:文件和数据字段,IPFS侧重于对大文件提供分布式的存储和分发解决方案,而Bluzelle想要打造的是将那些通常很小,大小固定,按照数组、集合等结构的数据字段进行结构化存储,便于快速存储和检索,数据字段存储在数据库中以实现最佳的安全性、性能和可扩展性,并提供创建、读取、更新和删除(CRUD)等基本功能,区别于类似IPFS这样的分布式文件存储服务。

官网:https://bluzelle.com/

基于IPFS构建的Filecoin区块链项目,是从基础层而不是单单的应用层去改变云存储模式,因此也决定了其应用的范围更加广阔,其对应的加密数字货币增长空间也更大。

1.4 IPFS的应用领域

IPFS的优势与价值 - BlockChain Storage 区块链存储 (3)_数据_06

图1-14 IPFS应用领域

1.建立永久信息档案

IPFS提供了一个弱冗余的,高性能的集群化存储方案,仅仅通过现有的互联网模式来组织这个世界的信息是远远不够的,我们需要建议一个可以被世界永久记住,随着人类历史发展而一直存在的信息档案。

2.降低存储、带宽成本

IPFS提供了一个安全的点对点内容分发网络,如果你的公司业务需要分发大量的数据给用户,IPFS可以帮你节约大量的带宽成本。在云计算时代,我们大部分的网络带宽和网络存储服务都由第三方服务平台来支持,例如YouTube这样的大型视频平台,需要支付高额的流量费用给ISP(互联网服务提供商),而YouTube也将通过各种商业广告以及收费会员的商业形式把这部分的成本转嫁到广大用户身上,整个流程体系的总成本是相当庞大的。为了激励人们参与到IPFS协议中,协议实验室团队借鉴了比特币的经济模型,开发出了基于IPFS的货币Filecoin。

Filecoin将IPFS网络参与者分为了两类:Host(为网络提供空闲的存储空间)和Retriver(为网络中的节点提供带宽,帮其他用户传输文件),通过这种共享模型,无论给项目方,还是用户都节约了很大的开支,节约了整个流程体系的总成本。目前,将这个应用方向做得比较成功的项目叫「Dtube」:它是一个搭建在Steemit上的去中心化视频播放平台,其用户上传的视频文件都经过IPFS协议进行存储,具有唯一标识。相较于传统视频网站,它降低了同资源冗余程度,同时大大节约了海量用户在播放视频时所产生的带宽成本。

3.与区块链完美结合

IPFS和区块链是完美的搭配,我们可以使用IPFS处理大量文件数据,并将不变的、永久的IPFS链接放置到区块链事务中,而不必将数据本身放在区块链中。毕竟,区块链的本质是分布式账本,本身的瓶颈之一就是账本的存储能力,目前大部分公链的最大问题是没法存储大量的超媒体数据在自己的链上。比特币至今全部的区块数据也才100G-200G左右,以太坊这样可编程的区块链项目也只能执行和存储小段合约代码,DApp想发展成超级App,受到了极大的限制。

运用IPFS技术解决存储瓶颈是目前来看的过渡方案,最典型的应用就是EOS。EOS引以为傲的是可以支持百万级别TPS的并发量,其中除了DPOS共识机制的功劳之外,还归功于其底层存储设计是采取IPFS来解决大型数据的传输效率。EOS将自己打包好的区块数据通过IPLD进行异构处理,统一成一种便于内容寻址的数据结构类型,并挂载到IPFS的link上,让IPFS网络承担存储和P2P检索的逻辑,而不消耗EOS区块链系统本身太多的计算资源。

4.为内容创作带来自

IPFS以充分的力量和低成本为网络带来了自由和独立的精神,可以帮助您以一种可以节省大量金钱的方式交付内容。Akasha是一个典型的应用,它是一个基于以太坊和IPFS的社交博客创作平台,用户创作的博客内容通过一个IPFS网络进行发布,而非中心服务器。同时,用户和以太坊钱包账户进行绑定,用户可以对优质内容进行ETH打赏,内容创作者能以此赚取ETH。它没有太多监管的限制,也没有中间商抽成,内容收益直接归创作者所有。

1.5 本章小结

在这一章里,主要为读者构建IPFS大致的概念和框架,只涉及很少量的技术描述。我们知道了IPFS是一种基于内容检索,去中心化,点对点的分布式文件系统。IPFS项目是通过整合已有的分布式存储方式和密码学的成果,实现互联网中能永久可用,数据永久保存的全球存储系统。

它整合了分布式哈希表,BitTorrent和Git,自验证文件系统四种技术的优点。使用DHT实现内容检索;借鉴BitTorrent,实行分块存储,分块传输和奖励机制;Git中应用的默克尔DAG使得大文件分享,修改变得简单高效;而自验证文件系统确保了数据始终属于用户。

我们回顾了区块链的基本知识和重要研究历史,了解了区块链从加密算法到比特币和以太坊的历史进程。同时,我们指出了当前区块链和互联网难以解决的问题,以及IPFS在这二者中有可能会带来哪些改变。Filecoin是IPFS的经济模型,是IPFS借鉴了Bitcoin,为鼓励矿工贡献出网络资源,使网络更加稳定而向矿工发放的代币奖励。

IPFS的优势包括团队技术积淀,开发者社区和精巧的设计。我们提到了IPFS的八层协议栈,从上至下为身份、网络、路由、交换、对象、文件、命名、应用;IPLD、LibP2P、Multiformats三个组件。

同时说明了IPFS与Burst, Storj和Sia三类区块链网络云盘项目的区别对比。

第四节里,主要介绍了应用领域的几个典型的例子,他们包括分布式社交创作平台Akasha,基于Steemit的去中心化视频平台Dtube;以及目前区块链与IPFS结合的公有链案例;正在开发的分布式缓存模型IPFS-GEO。

下一章我们开始介绍IPFS的底层原理。

未完待续,欢迎持续关注微信公众号 乐生活与爱IT

上两篇分别是

《IPFS与区块链的关系 - BlockChain Storage 区块链存储 (2)》

《什么是IPFS - BlockChain Storage 区块链存储 (1)》​

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
mcY8w4sKMujI