学院 相关帖子. 文章

海量非结构化数据存储的技术挑战

作为分布式信息基础设施,区块链分布式存储系统的工作原理是将文件或文件集存储在不同的存储空间(如硬盘)中,在链上同时生成文件存储确权证明,通过激励机制来激励存储空间的提供方,区块链分布式存储在数据隐私、透明度、确权方面相比传统云存储都具有优势,加上数据存储市场本身天花板高,赛道从长期看具有足够的想象力,分布式存储也是区块链圈内外都普遍关注的方向,成功捕获了大量圈外流量,基于区块链的分布式存储项目赢得了密切关注,传统行业和资本已经通过直接投资或者间接的方式加入到分布式存储阵营的角逐中。

分布式存储是 2020 年区块链行业最热门的主题之一,该领域除了最热门项目

IPFS/Filecoin 主网 10 月上线带来整个分布式存储行业热度和流量快速上升,另外赛道也涌现出很多新的分布式存储项目,包括波卡生态分布式存储项目 Crust Network、永久存储区块链项目 Arweave 紧随 IPFS 步伐也推出各自的主网,这些存储新星和老牌分布式存储项目Storj、Sia 一起,共同为区块链分布式存储生态贡献力量,扩大分布式存储的生态版图。

根据研究机构 IDC 预测,2018 年到 2025 年之间,全球产生的数据量将会从 33 ZB增长到 175 ZB, 复合增长率达到 27%,其中超过 80% 的数据都会是处理难度较大的非结构化数据(文档、图片、视频)。预计到 2030 年全球数据总量将进一步达到 3,5000 EB。

随着社交网络、移动互联网和物联网的兴起,互联网信息爆炸式增长产生了海量数据,数据量级也从最初的 GB、TB 逐渐发展到 PB(1024 TB)、EB(1 024 PB)甚至更高。数据类型从简单的文本扩展到了复杂高维度数据,比如半结构化数据、图片数据、视频数据、传感器数据和流数据等。

而采用 Scale-Out 架构,通过分布式接入技术将独立的低成本存储节点组成一个大而强的存储系统。通过添加存储节点来进行处理和存储能力的扩展。目前的云存储系统也是通过分布式接入扩展储存容量已经可以达到 PB 级,每增加一个存储节点,性能和容量同时增长,大大降低了存储系统采购、部署和升级的成本。

海量非结构化数据带来的存储挑战主要在于如果采用传统集中式存储的Scale-Up 的扩展方式,这种纵向扩展架构处理海量数据环境中会存在扩展成本高、耗时长、难度大的问题,性能与容量无法灵活扩展,造成扩容成本较高。

于区块链的分布式存储的优势

传统云存储基于「分布式文件系统」存储文档、图像、视频等非结构化数据。典型的分

布式文件存储系统像 Google 的 GoogleFileSystem(GFS)。GFS 是 Google 分布式存储的基石,是构建在廉价服务器之上的大型分布式系统。GFS 的基本架构如下图GFS 系统包含三类节点角色:GFS Master(主控服务器)、GFS ChunkServer(CS,数据块服务器)以及 GFS 客户。主控服务器中维护系统元数据 ,包括文件及 chunk 命名空间、文件到 chunk 之间的映射、chunk 位置信息。主控服务器是性能最好的节点之一,很少有性能瓶颈,还存在备份服务器节点作为主服务器的镜像。

虽然这种存储系统将数据分散存储在多个存储节点实现较好扩展性,但因为元数据被保存在中心节点。在存储和读取数据时,都需要访问中心节点来获取元数据信息,也存在一些弊端,比较明显的问题包括:

元数据安全问题

如果中心节点发生故障或宕机,那么元数据无法被读取。虽然,通过引入备份节点可以一定程度上避免该问题,但节点之间切换效率较低;云数据中心因为各种问题经常出现运行故障或数据丢失泄露等情况。

信任问题

存储元数据的节点可信性很难保证,元数据存在被篡改的可能性,中心节点由各大云存储机构独立管理和运营,数据的可靠性和安全性完全依赖该机构的实力和信誉。如何保证用户数据不被窃取使用,存储运营商难以保证。

区块链是一个分布式账本数据存储技术,使用 P2P 网络、加密算法、数据存储等要素共同组成整个分布式账本,通过激励系统促使网络成员积极广播区块并进行数据维护,每一个

参与区块链运行的节点都可以复制一份完整的数据拷贝。除非有人能够同时控制住整个区块链中的 51%以上的节点,否则单个节点的数据篡改系统不会承认,这就确保了数据的不可篡改。区块链用冗余存储保障了分布式存储系统的一致性与安全性。

从存储角度,区块链存储构建成一个规模巨大的全球统一、全球共享的存储池,将数据分散在多处,来增强数据的可靠性、可用性、异地容灾性等特性。不同于分布式云存储有专

门的备份节点负责数据冗余,区块链所有的参与节点参与冗余存储。让存储成为区块链技术的最佳落地应用场景。对于非代码和线下的事物,应用区块链的难度会很大。企业级数据中心面临可靠性不足时,有人探讨将数据分布在多个数据中心,即把数据存储到全球上千万个节点上来提高数据的安全可靠性,拜托单个数据中心被黑客攻击而出现的数据泄露问题。

目前已经发展出四类存储:桌面级存储(硬盘)、企业级存储(磁盘阵列)、云存储(数据中心)和区块链存储。与企业级存储、云存储相比,基于区块链分布式存储的优势主要体现在以下方面:

可靠性更高,区块链存储将数据存储到成千上万个节点上,不是传统分布式存储的多副本模式,而是冗余编码,可以有效避免单点故障问题,比特币运行 10 年以来其分布式账本数据库未被任何黑客攻破就是最好的可靠性证明。

  可用性更高,云存储即使采用多节点分布式存储方式,仍然可能出现因为节点宕机或者中心节点负载过高故障问题而出现无法提供服务的情况,区块链只需要保证一定比例的节点数量正常,系统服务就是可用的。

  边缘存储成本更低,区块链将存储成本分摊到边缘节点,相对搭建独立的数据存储中心对硬件的需求和成本都更低。

  加密隐私性更高,中心化存储最终数据加密流程在企业内部完成。区块链存储数据都经过加密,没有明文数据,加密过程由数据拥有者用户自己完成,只要用户保存好加密密钥,就无法被第三方窃取到数据隐私。

分布式存储和区块链天然具有一定匹配性,两者都基于分布式系统。分布式存储作为链下存储方案可以扩展区块链存储空间效率低的问题,比如可以将核心的交易元数据和实际数据进行分离存储而非全链上存储,缓解链上账本空间膨胀的问题,元数据加密后存储链上,实际数据本身通过分布式存储避免单一节点故障造成数据丢失问题,分布式存储可以优化区块链的存储效率,释放链上存储空间存储更关键信息,同时又不影响区块链处理大数据时的可用性。

IPFS  分布式存储和挖矿激励

星际文件系统(Inter-Planetary File System,IPFS)由协议实验室(Protocol Labs)创始人 Juan Benet 提出,通过不同的设备连接建立一个「分布式文件系统」,使用「内容寻址」18方法将大文件分拆为数据块对象来提高存储效率,每个文件块通过对应块内容的哈希值索引,建立全局的分布式散列表(Distributed Hash Table,DHT),通过 Merkle DAG 树数据结构组织这些分散的文件块的哈希索引,将存储在树根节点位置的索引作为文件寻址哈希值。

IPFS 结合了 DHT、Merkle DAG、版本控制 Git、自验证系统 SFS,在点对点网络进行去

中心化的数据存储和交换,可以由用户自主设置数据访问和读写权限而不依赖信任主体,不存在单点故障问题,上传到 IPFS 上的数据不可更改,数据变更将生成新的 IPFS 对象,并链接到之前的对象版本这种基于 Git 的版本管理可以很方便追踪数据更新情况。另外 IPFS 产品拥有类似 TCP/IP 一样的协议簇,可以同样按分层模型对 IPFS 产品分层,包括八层,产品每层功能都使用不同的协议。

                            IPFS 文件系统的主要技术

                              IPFS 系统协议栈

总结来说,IPFS 提供了在没有中心化服务器的前提下搭建一个全新的 web 网页的可能性,只要节点贡献存储和计算资源来成为 IPFS 节点,就能实现这点,其本质是一个 P2P 的内容分发网络,不同于 HTTP 的中心化分发模式,没有中心化问题,所以它一直被对标 HTTP致力为成为下一代互联网协议,但是 IPFS 要实现这个目标挑战非常大,在分布式环境下数据存储可用性很大程度来自数据冗余备份,取决于节点积极存储备份,如果节点删除数据,数据甚至可能出现丢失情况。

为了解决 IPFS 节点数量有限而影响网络性能的问题,协议实验室 2017 年发起 Filecoin项目,作为 IPFS 的激励层,模仿的是比特币的区块链激励模型,不同的是 Filecoin 挖矿放弃耗能的 PoW( Proofs-of-Work),而是创建新的存储证明挖矿算法,即基于有效存储证明的复制证明((Proofs-of-Replication,PoRp)和时空证明(Proofs-of-Spacetime ,PoSt),基于存储挖矿的方式来激励存储节点在 IPFS 网络上贡献资源,矿工提供的有效存储空间并存储有效数据容量越大,最后获得挖矿奖励概率也越大,Filecoin 的挖矿模式相比起来更环保、

效率也更高。Filecoin 主网已经于 2020 年 10 月正式上线,从 Filecoin 官方区块链浏览器之一 Filfox 获取到的数据,目前全网存储算力已经达到 1.85EB,算力前十的节点存储能力都是 PB 级别,算力占比分布来看,网络去中心化程度不低,活跃矿工节点数 1059,矿工数量还不够多,尤其从区域分布看主要集中在亚洲国家,很多区域显示海外的可能也是 VPN 的影响;Filecoin主网目前区块高度达到 404049,平均出块时间 30s,另外 Filecoin 挖矿和其他 PoW 区块链项目提现出明显差异化的特征是它的质押挖矿,节点需要为有效算力提供 FIL 质押才能获得「挖矿权」,目前每个扇区大小 32G 需要质押 0.27FIL,每新增 1T算力,质押成本增加 12.46FIL,从目前挖矿产出看,相当于 43.4%的流通量是锁定状态,由于 Filecoin 总供应 20 亿,其流通率目前仅 3.4%, 随着更多的 FIL 进行流通,项目生态市值变化可能比较快。另外 Filecoin 目前网络运行的过程中也遭遇了网络 Gas 费率的问题,比如持续一段很长的时间费率达到 4-6nanoFIL, Filecoin 引进以太坊 EIP1559 案将 Gas 分为基础和附加两部分,基础部分会直接销毁,加速 FIL 的通缩,附加部分才会奖励打包矿工,而从目前的情况当 Gas 费率较高时,由于基础部分占比较高 Filecoin 矿工挖矿收益扣除支付的 Gas 可能会导致收益下降甚至为负的情况,而 Gas 费高企的背后是 Filecoin 在 Gas 费率设置了类似比特币挖矿那样的难度调整,Filecoin 矿工挖矿过程即封装数据并将消息上链都会涉及 Gas 费用支付的问题。随着加入 Filecoin 网络的矿工数量上升,不光挖矿收益已经从 0.25FIL/TiB 下降到目前的0.13FIL/TiB, 由于目前处理的交易消息大概每秒 14 笔,可能低于实际需求量,也是导致矿工Gas 费率的上升的原因。Gas 费持续高位将不利于矿工提高算力参与网络,协议实验室最近也是在 FIP-9 方案中加入提交时空证明阶段免除矿工基础费用的新政策来降低矿工 Gas 压力。

                           Filecoin 网络情况

                        Filecoin 矿池算力排行榜

Filecoin 网络出现 Gas 费较高情况

总体来看,目前 Filecoin 区块链目前还处在矿工如何通过提高有效算力来挖矿的阶段,并没有在「为用户提供低成本高效存储服务」上有很多的动作,矿工和官方之间几乎不可避免经常陷入博弈的状态。如果从 Filecoin 网络效用而言,协议实验室从一开始就非常排斥矿工牺牲网络来为自身牟利的各种行为,所以设置各种处罚(slash)机制,硬是把节点挖矿变成了一项复杂困难的生意,矿工如果不留意违规可能面临出局的风险,因为 Filecoin 挖矿并不像比特币那样自由。Filecoin矿工未来的收益当然可以不仅仅来自存储挖矿奖励,比如还有Gas手续费收入、检索收入,但目前阶段在 FIL 币价稳定在可观的水平上,努力封装数据提高算力才是王道,可随着更多的玩家进入,算力收益一定会下降,算进其他成本项,FIL 挖矿没有那么多「暴富神话」,如果要继续留守在赛道,就需要真正考虑能提供真正的商业价值,FIL 挖矿不能当纯金融来玩,目前官方在算力增长方面明显开始倾向用户存储订单的数据,网络公开验证人作为「数据质量检察官」,这样的数据在矿工算力贡献方面就是十倍的增长。另外从未来几年的发展目标,Filecoin 目前的挖矿算法在性能方面不能匹配大量数据存储和检索的需求,需要调整来满足未来检索市场的发展,所以下阶段可能在会封装数据环节进行新的算法迭代来提高矿工提交证明消息的速度。Filecoin 生态的构建对于项目成功也是非常关键,以太坊和波卡的成功基础都在于生态,目前 Filecoin 作为一条存储公链,而不是计算公链,后面也要上线自己的智能合约,如何结合自身定位来发展生态也是接下来项目进展的重要方向。

  小结

面对未来海量高并发的数据存储和计算需求,分布式存储是当下重要的发展趋势之一,传统的分布式文件存储方式仍然存在单点信任问题,基于区块链的分布式存储在可靠性、可用性、成本和数据隐私方面具有优势,这方面像 IPFS/Filecoin 通过将比特币的工作量证明激励模型模式迁移到提供数据存储服务的场景,设计了新的挖矿机制来保障区块链存储网络的安全,另外像 Crust Network、Arweave、Storj、Sia 这些分布式存储赛道的项目也都从不同的角度来发展分布式存储,体现一定的差异化,回到商业本质,未来分布式存储项目的竞争力一定体现在用户数量和存储生态建设上。

加⼊欧科云链社群

和全球数字资产投资者交流讨论

扫码加入欧科云链社群

相关推荐

related-posts