区块链的特有属性使数据可追溯、不可篡改的同时弊端也很明显,采用的分布式存储技术需要每一个节点保存一份数据库,存储成本高;网络中发生的每笔交易都需要其它节点认证和记录,处理速度慢;这让区块链的系统的存储效率相较集中式存储受到诟病。作为数字经济新型信息基础设施,区块链需面对全国乃至全球的用户带来的海量数据上链存储需求。

长安链从超大规模数据存储场景出发,推出 PB 级区块链开源存储引擎“”,英文名定为“Huge”,预计将在 2022 年底正式开源。泓在保证区块链系统中数据一致性和唯一性外还将具备:大规模、低成本、高性能、强隐私的特点。

效率成本兼容

采用混合式存储架构、数据分片、冷热分离等技术,具备海量数据存储能力,兼顾效率和成本。

1.混合式存储架构

区块链上存储的数据有多种不同读写特性,比如:区块和交易这类数据一旦写入就不再修改,且数据量大,适合采用文件存储,同时对文件中的数据项创建索引以方便查询;而状态数据需要频繁修改与查询,适合采用KV数据库或OLTP类(联机事务处理 Online Transaction Processing)的数据库;对于合约事件这类需要进行数据分析的场景,也可以采用OLAP类(联机分析处理 Online Analytical Processing)的存储系统;对于区块链以区块为单位的批量处理流程,我们采用预写式日志(WAL)加内存缓存的方式来优化存储效率。因此泓基于混合式的存储架构来实现。混合式存储需要解决多个不同存储系统之间的数据一致性问题,我们采用区块作为检查点,来实现不同存储系统之间的异常校验与数据自动恢复。

2.数据分片

要面向海量数据,区块链存储系统必须具备水平扩展能力,基于我们混合存储架构中的数据一致性管理能力,可以将区块数据拆分成更细粒度的数据项进行存储,使得系统中的不同存储组件都可以实现分片能力,可以兼容市面上常用的分布式存储服务,包括:分布式文件存储,分布式数据库等。

3.冷热分离

区块链要求数据可追溯,需要保存全量的历史数据,通过对数据进行冷热分级,可以兼顾性能和成本。对于近期写入的区块、交易、热点状态数据可以定义为热点数据,通过对热点缓存到内存中,来提升效率。对于某个区块高度之前(某个时间戳之前)的历史数据称为冷数据,冷数据可以归档转移到成本更低,容量更大的网络存储中。同时对冷数据可以通过去中心化文件存储(如IPFS InterPlanetary File System 星际文件系统)进行共享,使得多个节点共用一套存储服务。如果热数据与冷数据比例为1:9,并且块存储和文件存储成本为3:1,那么用了归档,可以把90%的旧区块,归档到成本只有33%的文件存储中。从而节省60%的存储成本。在PB级场景中,一年节省600万以上的成本。

性能安全并进

泓面向大数据量采用多种方式提升数据处理性能及安全性,持续释放大数据价值。

1.两阶段提交,并行处理提升性能

存储模块不是一个独立运行的系统,需要和长安链共识模块、核心模块、虚拟机模块等配合,以组成一个完整的区块链系统。泓与长安链共识模块、核心模块、虚拟机模块等充分适配,在长安链共识产生新区块的过程中,存储模块采用“两阶段提交”,并行处理提升性能。

2.先写缓存后异步写入分布式数据库

为了提升写入区块的性能,同时保证读到已提交数据的事务隔离级别,长安链采用先写缓存后异步写入分布式数据库的模式。当一个新区块对应的数据需要写入数据库时,系统将数据写入内存中的缓存区域,并开启一个后台线程,按顺序将缓存区域数据写入数据库,此时系统便可正常返回,从而达到快速写和支持读已提交数据的要求。

3.交易ID过滤器,加速交易防重检查

提升交易查重性能方面,泓提供了3个过滤系统来实现交易查重,用户可以基于自己的场景自定义选配是否开启,配合使用会极大的提高交易防重检查的效率。

4.透明数据加密,保障存储安全

为了增强区块链落盘后的数据安全,应对硬盘被盗、黑客入侵系统或内部IT人员违规操作等情形,长安链提供了透明数据加密特性。该特性可以基于硬件密码机也可以基于软件加解密,区块链数据在落盘时自动加密,在读取数据时自动解密,增强了数据安全。

结 语

泓将在AIot、工业互联网、金融的大数据量的场景下发挥作用,也可以对元宇宙、web3等新技术场景提供支撑。泓包含10余个主要模块,预计将于2022年底正式开源,后续将对主要模块进行介绍。