写点什么

去中心化云存储技术 | CESS 的多层网络架构详解

  • 2022 年 5 月 14 日
  • 本文字数:4306 字

    阅读完需:约 14 分钟

去中心化云存储技术 | CESS 的多层网络架构详解

区块链以其特有的分布式算法和技术底层,让链上数据也随着区块链的不同实现了分布式存储,CESS(Cumulus Encrypted Storage System)去中心化云储存网络基础设施,让我们看到了去中心化云存储的未来

CESS 的创新为区块链行业提供了一个有效可行的数据云存储技术方案、完善了 Web3 的基础设施建设。CESS 为了适应去中心化场景下数据的云储存和使用,提供了安全、高性能和无限的云数据存储服务。同时满足个人和企业的数据存储和共享需求,以高安全性和高性能支持大规模企业存储需求。

我们在《CESS:去中心化数据存储的未来》一文中,从技术角度出发分析了,CESS 数据的共享协议、多副本可恢复存储证明(PoDR²)和多类型数据确权机制(MDRC)等多重技术优势。CESS 凭借其技术创新既满足了区块链语境下数据云存储的需求,又保障了数据的安全和私有性,做到将数据所有权归还给了用户,用实践验证了区块链去中心化的本质。

今天我们从技术实现的角度来看下 CESS 是怎么设计其多层网络架构,从而适应链上链下的数据存储需求。CESS 的多层网络架构包含了区块链服务层、分布式存储资源层、分布式内容分发层以及应用层四层网络。


区块链服务层/共识层

作为底层架构的区块链服务层是处理所有交易和合约的区块链网络,其中包含了智能合约、共识算法、存储证明、资源管理、P2P 协议、支付及激励等等方面的功能。

承担区块链资源管理器的功能是 CESS 单独架构公链系统的独特原因,CESS 作为云存储的基础设施。Blocks 中包括了交易、存储证明等,还包括了全网存储空间和存储内容元数据的记录。在完成 CESS 区块打包任务的节点除了基础的任务之外,还需要根据供需等方面因素合理分配全网存储资源。节点需要根据通过上链的存储资源情况进行实施调配,与当下 Arweave 数据上链不同,CESS 首创了存储资源上链的新模式,通过去中心化的节点实现中心化云的管理效率。

CESS 的区块链共识机制我们在《CESS:去中心化数据存储的未来》有所介绍,CESS 采用了创新的随机选取轮值共识节点机制(R²S)来实现区块打包以及其他链上事务。该机制中通过轮值完成链上共识的节点,也就是说会随着时间的推移而变化。同时这个轮值是被随机选取,简而言之,CESS 在一个时间窗口内会由一定数量的轮值节点负责共识的维护,并且通过选取的随机性来保证去中心化程度。

CESS 创新设计随机选取轮值共识节点机制(R²S),解决了“矿工困境”中的大节点垄断,大幅度提高去中心化框架下的效率且实现了链上事务处理。所有希望成为共识节点的用户可以自由地加入候选节点,但在每一个时间窗口内(例如每 1 万个区块),只选取 11 个正式的轮值节点参与出块。而未参与出块的候选节点,也可以通过参与数据预处理流程来为自己的工作能力提供证明,从而参与下一轮的正式轮值节点选取。在这个过程中,网络对每个节点都会进行信誉评分,当节点在工作过程中出现对网络整体利益存在损害的行为时,将会降低其分数。当分数低于某一基准线时,该节点将无法参与候选节点的竞争。

而考虑到作恶节点的出现或者网络要求导致的节点被强制下线时,网络将从候选节点里随机选抽节点补上直至完成此轮时间窗口的当值。所以对共识节点矿工来说,即使仅仅作为候选节点也需要保持对网络的持续贡献,这一点很大程度上保障了资源的充分利用。

如果某个节点受到恶意攻击,或者某些数据丢失或损坏,CESS 通过多副本存储和数据恢复算法来实现数据不丢失,确保数据完整性、数据安全和隐私。即使出现任意单点故障,也不影响线上存储服务,保证数据存在且随时访问,在负载均衡稳定、性能、可扩展性等方面均体现了先进性。

CESS 从存储公链的角度出发,采取的 R²S 机制能够防止大矿工的过于集权而和垄断,从而更好地实现真正去中心化的存储;同时通过随机选择 11 个轮值节点的设置很好地维护了共识,提高了在去中心化框架下的效率;实现存储内容元数据上链也保证了数据的真实性,降低像链上重复请求数据造成的高成本,方便了其他调度方更高效地在链上处理数据。CESS 通过 R²S 在整体网络上不但做到节点参与门槛的公开平和透明,又保证了网络共识和出块的高效


分布式存储资源层

存储层是用来存储用户上传的文件、数据等信息的网络,由存储矿工和缓存矿工共同贡献。存储矿工可以通过提交存储证明的方式来提供有效存储空间,并获得奖励。为解决当前去中心化存储无法提供弹性可伸缩的云存储能力的问题,CESS 存储网络通过虚拟化技术将存储资源「池化」,形成类似于“去中心化云存储池“,提供用户按需购买的云存储服务模式,屏蔽底层硬件差异化带来的不稳定问题。

“池化” 具体表现为将所有的存储资源作为一个整体的存储资源池而非个体矿工进行看待,用户上传的数据将会随机分配给满足存储条件的存储矿工。“池化” 技术有效利用了闲置资源,实现了利用效率的最大化

CESS 在网络中设置调度服务将存储用户的数据智能分配到全球节点中,最大限度和有效利用存储空间,实现智能云空间管理

当用户上传数据后,共识节点会首先将数据进行加密(采用可信执行环境进行加密)、分片和冗余等预处理(去中心化代理重加密机制),处理完毕的数据将依据用户对数据的存储要求挑选满足条件的矿工进行存储。这里值得高光的是,CESS 并非挑选一个或是几个矿工完成存储任务,而是将切片后的数据段随机分发给满足要求的矿工。这也是上述提到的防止大矿工垄断、伤害到去中心化的体现。

我们再来看下为什么同时 CESS 又实现了存储资源的利用率最大化。在现有的存储网络中,当接收了较大规模的数据存储任务(例如超过 5TB 的数据量),对于部分能力不足有设备限制的矿工来说就无法实现整体的存储,从而失去了贡献的机会。但是 CESS 的分片存储能够让存储能力为 2TB 和 3TB 的矿工一起完成这一存储需求。真正充分利用了所有资源,实现了利用率最大化

同时该模式还降低了存储设施的硬件门槛,这对于家庭矿工或个人矿工来说非常友好。一方面是由于矿工只需要执行存储的任务而无需进行例如“接单”和运行节点这样复杂和专业的事宜;另一方面,也是由于矿工会随机接收数据段,并不取决于矿工本身的规模有多大。

CESS 以解决“现存的存储证明不实用”为出发点,通过深度改良数据持有性证明(PDP)算法,并引入可信执行环境(TEE),创新设计多副本可恢复存储证明机制(PoDR²)。CESS 的多副本可恢复存储证明(PoDR²)机制使得数据更安全,确保数据完整性和可用性。我们在上篇分析 CESS 的技术优势中,已经详细介绍了 PoDR²。CESS 可将处理后的数据下发至各个存储矿工之上,在有效的周期内,矿工需要上报自己存储的数据,便于 CESS 系统确认数据是否损坏。重要的是,PoDR² 机制会以组成单个文件(包括所有副本)的所有数据段为整体进行统计与监测。一旦某个数据段被认定为损坏时,CESS 会自动生成新的数据段作为补充,并发送至新的存储矿工,保证副本的可恢复性。


分布式内容分发层

分布式内容分发层由检索矿工和缓存矿工组成,该层网络起到了传统云存储 CDN(Content Delivery Network)的功能,可以提高网络中对内容的检索以及热门信息的分发效率,这也是 CESS 之所以可以为大型商业应用提供支持的原因之一。同时,对 CDN 的去中心化技术创新,也是实现去中心化云存储的重要表现。

在这里首先不得不提去中心化云存储的痛点——对于去中心化的存储网络,最大的问题之一并非存储本身,而是“数据的上传”。所以对于我们的存储矿工,高网络成本来自于用户需要的数据上传需求。直接导致的后果是,很多矿工在存储数据后通过存储证明保证了数据的续存,但却拒以较高的成本将数据上传给用户,导致了存储网络实际上的不可用。

不仅是去中心化的存储网络,即使是对于传统的云来说,也无法承受用户直接从云数据中心直接调取数据而产生的高瞬时并发与流量,这也是 CDN 存在的必要性之一。


应用层

应用层作为距离用户最紧密最直接的一层网络结构,包含了在 CESS 之上搭建的各种应用,不限 Web2 和 Web3 领域等。我们从开发者的角度来解析一下,拥有安全、高效底层的 CESS 在应用层上为开发者和用户带来了哪些创新的应用体验。

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

同时,CESS 可以支持大规模的商业应用,也是业内首个在原生设计上就支持大规模商业应用的去中心化存储协议。对于能够处理大规模数据,实现安全和高效的技术实现,我们已经在前文当中的存储资源层和内容分发层做了深度解读。通过元数据上链保证数据的安全,降低矿工的带宽成本,防止中心化的垄断,便利第三方调度链上数据等等技术优势,CESS 在实现了去中心化框架之下最大可能的高效。


总结

随着 Web3 时代的到来,会出现越来越多的应用和场景,去中心化云存储会成为企业机构、开发团队和用户的硬性需求。CESS 先见之明地发现了目前去中心化场景下云存储的不足,从自身的多层网络架构出发,不管共识层用随机选取轮值共识节点机制(R²S)来实现区块打包以及其他链上事务;还是运用多副本可恢复存储证明(PoDR²)保障了数据的完整和安全,提升矿工空间的利用率、提升数据存储的效率等;抑或是 CESS 在加密、存储证明、解密等环节通过创新加入可信执行环境 TEE 技术,保障数据安全和保护数据隐私等;CESS 用技术带来了区块链云存储的建设方案,向着去中心化云存储的未来迈出了坚实的一步


如需更多技术分析,请参考 CESS 官方技术文章 👇

CESS机制详解(1):多层网络架构设计

CESS机制详解(2):区块链层与随机选取轮值(R²S)共识节点机制

CESS机制详解(3):存储、内容分发网络与多副本可恢复存储证明

CESS机制详解(4):应用层


关于我们

One Block+ 是中国最大的 Substrate 技术开发者社区,也是 Parity 在亚洲唯一的运营合作伙伴,波卡生态早期项目的创始人、CTO、核心开发者大部分都来自 One Block+ 社区。

Twitter: https://twitter.com/OneBlock_

Medium: https://medium.com/@OneBlockplus

Telegram: https://t.me/oneblock_dev

Discord: https://discord.gg/z2XZZWEcaa

Bilibili: https://space.bilibili.com/1650224419

YouTube: https://www.youtube.com/channel/UCWo2r3wA6brw3ztr-JmzyXA

用户头像

还未添加个人签名 2022.01.14 加入

还未添加个人简介

评论

发布
暂无评论
去中心化云存储技术 | CESS 的多层网络架构详解_区块链_One Block Community_InfoQ写作社区