随着区块链的发展,当前的很多公链项目都采用多层的模块化设计。举例来说,以太坊当前就正在进行 PoS 共识层的开发,未来也将成为拥有共识层和执行层的网络;再例如波卡网络,由中继链和平行链网络组成。类似的例子还有很多,而公链网络向该方向发展的主要原因就在于大家发现了区块链本身在速度方面的限制:如果将所有的信息全部上链则将大幅降低网络的效率,只将关键信息上链,其余信息在链下处理则将大幅提高区块链本身处理事务的效率。
对于存储公链而言多层网络架构尤其重要,因为网络自身就包含了存储功能,相较于一般的智能合约公链有更高的数据处理效率要求。这些要求包含了对存储、冗余、加密等等方面的确认,智能合约以及各种证明所涉及的数据量及复杂程度都比普通的合约交互要复杂的多。
所以本质上,多层网络的架构说起来优势无数,但并不是能在一个去中心化网络架构中轻易完成的任务。那么 CESS 是如何设计其多层网络架构的?我们来分解一下:
CESS 的多层网络架构包含了区块链服务层、分布式存储资源层、分布式内容分发层以及应用层四层网络。
区块链服务层自然是处理所有交易和合约的区块链网络。在 CESS 中,该层网络包含了共识算法、存储证明、支付及激励等等方面的功能。而 CESS 之所以单独架构公链系统,是因为 CESS 的区块中除了交易、存储证明等验证,还包括了全网存储空间和存储内容元数据的记录。在完成 CESS 区块打包任务的节点除了基础的任务之外,还需要根据供需等方面因素合理分配全网存储资源。也就是说,节点需要通过上链的存储资源情况进行实施调配,与当下 Arweave 数据上链不同,CESS 首创了存储资源上链的新模式,通过去中心化的节点实现中心化云的管理效率,其中细节我们后续详细阐释。
CESS 的区块链共识机制采取随机选取轮值共识节点机制(R²S),该机制允许任何人申请成为候选共识节点,并通过一套信用评级机制来对节点的工作进行监督,评级较高的节点有机会成为正式的共识节点并参与出块。在一个固定的时间窗口内会有 11 个节点作为正式的共识节点参与出块,候选节点参与数据预处理以及资源调配等方面的工作。当单个时间窗口结束后,网络会在满足条件的候选节点中随机选出下一个时间窗口内的 11 个正式的共识节点。
CESS 通过 R²S 在整体网络上不但做到节点参与门槛的公开平等透明,又保证了网络共识和出块的高效。
分布式存储资源层和分布式内容分发层是 CESS 的中流砥柱。存储层顾名思义就是用于存储用户上传的文件、数据等信息的网络,存储矿工可以通过提交存储证明的方式来提供有效存储空间,并获得奖励。值得一提的是,CESS 通过“池化”技术,将所有的存储空间资源作为了一个整体进行运营,将根据矿工提供的存储资源质量和用户实际的需求进行分配,提交资源利用率,也让可以提供高质量长期存储能力的矿工获得更多的奖励,也同时避免了大矿工的资源垄断。在 CESS 的存储资源池中,较大数据量的存储内容也会被切分成同等大小的碎片随机选取合适的存储位置,使得大小矿工机会均等,屏蔽了底层硬件设施的差异性。
内容分发层由检索矿工和缓存矿工组成。该层网络起到了 CDN 的功能,可以提高网络中对内容的检索以及热门信息的分发效率,这也是 CESS 之所以可以为大型商业应用提供支持的原因之一。将 CDN 的功能去中心化,也是整体网络去中心化的重要组成部分。
以上提到的三层网络由共识矿工、存储矿工、检索和缓存矿工共同组成并维护。CESS 通过矿工角色分工,解决了“矿工困境”、保证了快速的数据检索和交付、进行公平激励, 旨在最高程度去中心化存储网络上实现最高的执行效率。
最后就是应用层,也就是未来将在 CESS 之上搭建的各种应用,包含 Web2 和 Web3 领域等。值得一提的是,CESS 的开发采用了 Substrate 开源框架,该框架作为波卡的底层在去中心化和跨链上具有天然的优势,使得 CESS 在与 Web3 项目的交互和兼容上具有天然的优势。如此以来,CESS 将同时具有支持大型商业应用的基础以及与 Web3 应用更好的兼容性。
CESS 未来不仅会支持 WASM,还将兼容 EVM。如此,无论是对新兴的波卡生态还是当下公链生态中受众最高的 EVM 生态都提供了项目迁移或项目开发的便利性,开发者以及开发团队可以以一种更加熟悉的方式在 CESS 开发原生应用,从而在 CESS 生态扩展的早期实现快速的增长。
此外,CESS 的机制设计还可以支持拥有数据高频交互需求的 Web2 大型商业应用,作为整体解决方案,用户在使用 CESS 支持的应用时不会有明显的链感知,真正在去中心化的前提下实现“云”的功能与效率。