为什么我们需要去中心化存储?

Posted OneBlock Community

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么我们需要去中心化存储?相关的知识,希望对你有一定的参考价值。

为什么我们需要去中心化存储?
我们的社会正处于前所未有的信息大爆炸时代,未来将是数据成为主要生产要素的数字时代,而 Web3 也不外乎于此,作为数据解决方案——去中心化存储,不仅是区块链技术的三大支柱(计算、存储、网络)之一,也是 Web3 领域最早出现也最受关注的基础设施之一。

事实上,在中心化存储服务已经发展成熟,亚马逊 AWS 等互联网云服务市场已经巨头林立的的当下,我们不免提问,去中心化存储的意义何在呢?如今的去中心化存储赛道已经有哪些代表性项目?分别解决哪些问题?这是本文即将要回答的问题。

如何定义去中心化存储?
首先我们需要明确,究竟什么是“去中心化存储”?

去中心化存储指的是在一个存储网络中,没有中心化机构作为存储系统的背书,而是相对独立的个体或部分群体贡献自己的存储空间作为该存储网络的组成单位,如此绕开了中心化机构存储带来的数据绝对控制权。

但去中心化存储与我们日常生活中经常看见的“分布式存储”,并非同义词,仍然存在区别。

按照更广义的说法,分布式存储系统是将数据分散存储在多台独立的设备上。分布式存储是指的架构上是分布式的,而去中心化存储则是指存储的内容是不受一个中心机构或个体所控制的。所以,去中心化存储一定是分布式存储,但是分布式存储不一定是去中心化存储。

我们常见的“云盘”就是分布式存储的一类,但其背后是有中心化机构所管控,它可以随时删减、修改我们存在其中的数据,这与去中心化存储大相径庭。

因此,去中心化存储被认为是未来存储领域更加广泛和落地一类存储方式,既可以增强存储数据的安全,甚至还能减少存储成本。

为什么我们需要去中心化存储?
那么去中心化存储的意义何在?让我们来跟中心化存储服务做一个对比。

隐私保护
在当前的中心化存储模式下,用户将敏感数据全部上传,不但使用户失去了对自己数据的掌控权,还将数据泄漏的风险转移到云存储运营商一侧。这些隐私信息存在数据丢失、损坏、泄露、或被盗用的风险。

而在中心化存储网络,由于存储的文件会被拆分成很多份,再被加密的存放到不同的节点。因此,存储方并不能知道存储的内容是什么,可以有效地保护我们的隐私。

内容存储去中心化

同时,中心化的云存储运营商可能因各种市场或自身经营的问题跑路或是停止服务,而用户却无法对服务商的行为有任何约束和索赔的行为。这就造成用户往往倾向于将数据存储在规模更大、更有信用的服务商处,使头部公司的数据集中化程度越来越高,当前,亚马逊网络服务 (AWS)、微软 Azure 和谷歌云平台占据了云计算市场 65% 的份额。这也造成了数据一旦丢失将存在大面积丢失的情况。

而在去中心化存储网络,则允许内容以去中心化分布式的存储在不同的存储空间中,没有任何一个主体能够修改、删除存储的内容。

防止单点故障
传统的云存储虽然也能选择备份多次,但是备份再多依然是受控于该云存储的公司,其安全性并不能随着备份数量的增加而显著增加。

而在去中心化存储网络,其优势正在于数据可跨多位置复制并在多处被访问,减少了黑客通过单一节点攻击的安全性问题,可以有效地防止由于单点故障造成的数据丢失。

去中心化存储赛道项目
去中心化存储作为区块链应用的重要场景,当前已经出现了很多优质的项目。我们以当前比较老牌的 IPFS 项目和波卡生态中的 CESS 项目为例,从各存储方案的优势和独特之处出发,简明扼要的阐述当前去中心化存储项目的发展情况,同时也探析为何波卡是适合发展存储项目,是去中心化存储的温床。

IPFS
IFPS(InterPlanetary File System)是 2015 年提出的另一去中心化存储方案,克服了 bittorrent 的不足——可存储内容的多个版本、可预下载内容,进而实现去中心化、快速、高效率、可靠性、安全的内容存储。值得注意的是,IPFS 又开创性地引入了激励层 Filecoin,通过通证激励机制以确保文件在约定期限内的可靠存储。

Filecoin 允许任何个体利用空闲的硬盘空间和带宽在公开市场上提供数据存储和检索服务,将未用硬盘容量货币化,并通过 PoRep(复制证明)和 Post(时空证明)来保证矿工真实存储文件的情况,防止女巫、生成、外包等虚假存储数据的攻击。简单来说 RoRep 是证明矿工真实存储了数据,而 Post 则是证明矿工一直将该数据存储在自己的硬盘中。

IPFS 挖矿需要专业设备—GPU 矿机而使挖矿成本较高,行业进入壁垒的提高导致普通个体可能无法直接参与存储挖矿**,进而全网总存储将向少数存储供应商或大规模矿池集中。**这从某种程度上来说,IPFS所构想的完全去中心化在执行过程中又变成了少数供应商垄断的“中心化”存储。

CESS
与 Filecoin 不同的是,CESS 并不是一条单独的公链**,而是 Polkadot 的平行链。**基于 Substrate 框架开发,共识算法、链下工作机制、升级机制等都和波卡生态保持一致。

针对 IPFS 可能存在的**“矿工困境”中大节点垄断**,CESS 对分布式存储资源层做了改进。

CESS 存储网络通过虚拟化技术将存储资源「池化」,形成类似于“去中心化云存储池”,具体表现为将所有的存储资源作为一个整体的存储资源池而非个体矿工进行看待,用户上传的数据将会随机分配给满足存储条件的存储矿工。“池化” 技术有效利用了闲置资源,实现了利用效率的最大化。也让可以提供高质量长期存储能力的矿工获得更多的奖励,也同时避免了大矿工的资源垄断。在 CESS 的存储资源池中,较大数据量的存储内容也会被切分成同等大小的碎片随机选取合适的存储位置,使得大小矿工机会均等,屏蔽了底层硬件设施的差异性。

此外,针对中心化云存储的另一痛点——对于矿工尤其是国内的矿工而言,下载用户需要存储的数据不难,但当用户需要使用时上传所需要的网络成本却比较高。这就导致很多矿工在存储数据后虽然通过存储证明保证了数据的续存但不愿意将数据上传给用户,导致了网络实际上的不可用。而在 CESS 中,在内容分发网络中设计了缓存以及检索矿工来帮助网络实现更加高效的运转,其中缓存矿工将缓存热门数据来实现更快的调用速度,而检索矿工则将帮助应用快速定位所需数据的位置。

支持 CESS 在去中心化存储的方向向高精尖发展的背后,**离不开波卡网络的支持。**波卡中继链与平行链的设置,使得每条平行链可以通过中继链获得共享安全性,并通过异构分片获得可扩展性之际,能够专注于不同的业务,服务于不同的需求。

此外,CESS 的开发还采用了 Substrate 开源框架,该框架作为波卡的底层继承了其多链和跨链的特性,使得 CESS 在与 Web3 项目的交互和兼容上具有天然的优势。同时 CESS 未来不仅会支持 WASM,还将兼容 EVM。因此对新兴的波卡生态和 EVM 生态上的开发和应用都有着非常高的适配性和便利性,开发者以及开发团队能够以熟悉的语言和方法在 CESS 开发原生应用,大大降低了开发者的入门成本,帮助开发者在 CESS 生态扩展的早期实现快速的增长。从开发者工具来看,CESS 将为应用的开发者提供模块化的开发工具以及 API 等服务,方便开发者使用网络的数据存储、分发、智能合约、隐私保护和数据确权等功能开发应用。

关于 CESS ,OneBlock 在此前在《 CESS:波卡生态去中心化数据存储的未来》、《去中心化云存储技术 | CESS 的多层网络架构详解》中都详细阐述了 CESS 的技术优势。

总结
随着数据安全和用户数据所有权意识的提高,去中心化存储对于 Web3 来说,重要性不言而喻。去中心化存储在存储、隐私性、安全性、实用性等多个方面与中心化存储形成了差异化优势。当前的去中心化存储项目如 IPFS 通过引入激励机制来扩展网络总计算能力,从而克服了中心化存储的不足,但同时也衍生出新的痛点,而 CESS 为新起之秀,在波卡生态的支持与 Substrate 框架的基础上,表现也更为成熟。

然而,去中心化存储生态尚处于早期阶段,在存储量方面相比中心化存储仍相去甚远,但我们也相信随着存储技术的改进和激励模型的优化,去中心化存储行业最终将取得重大而稳定的进展。

参考文献:

Decentralized Storage: A Pillar of Web3

fundamentallabs.substack.com/p/decentral…

Centralized vs Decentralized Storage: Redefining Storage Solutions with Blockchain Tech

blockgeeks.com/guides/cent…

Comparison: Decentralized storage

medium.com/web3-magazi…

去中心化存储报告:WEB3.0发展基石

www.odaily.news/post/518131…

去中心化存储:Web 3.0 遇见元界

ld-capital.medium.com/decentraliz…

生态中为数不多的万亿市场:去中心化存储丨波卡生态观察

数据决定人类:去中心化云存储的探索

为什么需要 libp2p-rs ?

Netwarps 一直在做去中心化的存储和计算平台,目标是物联网,甚至 NDN 网络。因此我们需要构建一个简洁的高性能的底层网络。之前 Netwarps 使用 C 语言实现了一套基本的 P2P 网络,然后在这个网络上搭建了去中心化文件存储系统(DFS)和去中心化计算平台(DCP)。

但是随着技术的发展,我们越来越觉得基于 C 语言构建的 P2P 底层网络存在很多问题:
1、C 语言实现的异步框架维护困难,代码逻辑复杂;
2、C 语言在程序员的眼里里似乎正在失去吸引力;
3、C 语言与当下流行的很多设计方式,编程方式存在代沟,难以与其他项目形成良性互动。

于是,我们开始考虑使用更新的语言来实现一套异步的,代码简洁的,运行高效的 P2P 网络。

而这时,我们第一个就想到了 libp2p,作为区块链行业的明星项目,Go 语言的 libp2p 现在几乎成了去中心化网络的一个标杆。我们自己对 libp2p 的使用其实很早就开始了,然而我们却一直没有使用在我们自己的去中心化存储和计算平台里,原因只有一个,Go 语言是一个运行时比较重的语言,虽然 Go 适配了 Arm 等低功耗设备,但是其对硬件的要求,远不是我们考虑的 IOT 设备能达到的。

当我们起心开始做一个新的 P2P 网络的时候,我们基本上就确定了用 Rust 来实现。一方面,很多 IOT 设备已经兼容了 Rust,另一方面,没有运行时的诱惑是任何一个把目光放在 IOT 方面的团队拒绝不了的,这意味这我的程序可以在更低功耗的硬件上运行。

然而,这条路并不好走。

首先,大家低估了 Rust 语法的难度,我们的团队主要是 C 语言和 C++ 语言功底不错的程序员,在我们看来,还有什么语言的语法会比这两个老古董更繁琐吗?很快就被打了脸。

其次,Rust 的生态对于入门玩家不太友好。我们有同事说,当我编译出错的时候,我甚至不知道是我的问题还是编译工具的问题。

再次,Rust 对程序员的约束性很强,虽然这一点在我们开始这个项目之前也曾有所耳闻,但是我们真没想到,这个适应的过程会这么长。

还有,Rust 的异步框架成熟度都不太高,使用起来磕磕绊绊,有时候遇到问题也会无所适从。

但是,好在最后我们完成了。完成 libp2p-rs 对我们的团队是一个相当的成功也是一个相当的考验。

我们深知 libp2p-rs 这个项目不是完美的甚至可能都说不上完善,但我们坚持把它开源出来,一方面算是一个我们向 Rust 社区的些微贡献,另一方面,我们希望通过这个方式让更多的程序员尤其是中国程序员关注 Rust,关注 P2P。同时我们也希望大家能够了解,去中心化技术不仅仅是区块链和各种 Coin,去中心化技术也是 IOT 甚至整个互联网的未来方向。

Github 链接地址:https://github.com/netwarps/libp2p-rs

Netwarps 由国内资深的云计算和分布式技术开发团队组成,该团队在金融、电力、通信及互联网行业有非常丰富的落地经验。Netwarps 目前在深圳、北京均设立了研发中心,团队规模30+,其中大部分为具备十年以上开发经验的技术人员,分别来自互联网、金融、云计算、区块链以及科研机构等专业领域。
Netwarps 专注于安全存储技术产品的研发与应用,主要产品有去中心化文件系统(DFS)、去中心化计算平台(DCP),致力于提供基于去中心化网络技术实现的分布式存储和分布式计算平台,具有高可用、低功耗和低网络的技术特点,适用于物联网、工业互联网等场景。
公众号:Netwarps

以上是关于为什么我们需要去中心化存储?的主要内容,如果未能解决你的问题,请参考以下文章

什么是区块链存储?

为什么我们需要去中心化存储?

区块链公链“三元悖论”专题系列之去中心化(Decentralization)

区块链核心概念

区块链离我们有多远

详解区块链,智能合约,去中心化应用