
导读:
HSN技术解读课堂开课啦~本课堂将由HSN专业技术人员为您带来深入的技术剖析。
本次课题是:在白皮书中,HSN使用的其中一个关键核心技术称为“加密去重”,它的作用是什么?其原理又是如何的?
1 去重技术的意义
在数据存储领域,去重技术是文件系统领域一项非常重要的技术,可以大大提高存储空间的使用效率。
如在同一个系统中,存在两个内容完全相同的文件(这里指的内容完全相同不仅仅是指文件语义内容相同,而且从计算机角度看,两个文件对应的二进制文件也完全相同),在未使用去重技术的情况下,这两个文件需要存储两份,占用两份空间,会造成一定浪费,并且份数越多,浪费越多。

如果使用了去重技术,对于内容完全相同的文件,不管存在多少份,在文件系统层面只需要对其内容存储一份,占用一份空间,从而达到节省实际存储空间的效果。
2 去重技术的当前使用
目前这项技术在云盘、CDN等系统中使用广泛,如在百度云盘中去下载另一个用户云盘中的一部高清电影到自己的云盘,不管文件多大都能达到秒级下载完成,其实就是云盘文件系统使用了去重技术避免文件的实际拷贝动作,只需增加少量的文件管理信息,就可以实现同一个文件被多个用户的云盘间快速下载,既节省空间又节省时间。
3 去重技术的新挑战
在文件内容明文存储的系统中,去重技术是很好实现的,无需理解文件的语义内容,只需要计算二进制文件的MD5指纹信息就可以判断文件内容是否完全相同。
但在HSN区块链开放网络上,出于用户隐私和安全性考虑,用户私有数据需要使用其专有密钥加密后存储于HSN网络上。虽然用户的数据安全性大大提升,但也对去重技术提出了新的挑战,因为不同用户拥有的完全相同的文件通过各自专属密钥加密后生成的二进制文件完全不一样,无法通过计算MD5指纹信息来判断不同用户拥有的文件是否完全相同,传统去重技术在区块链领域丧失了用武之地。
4 HSN的解决方案
为此HSN技术团队设计和实现了独有的“多份相同文件加密后去重存储技术”(简称加密去重技术),实现多份相同文件使用不同密钥加密后也只需存储一份的效果,提升整个HSN网络的存储空间使用效率。

加密去重技术原理涉及到大量的数据计算和公式,目前已经申请国家专利保护。不过可以简单描述为如下流程:
1) 对于需要存储的大文件,我们在加密之前,将其切分为若干个碎片,对每个碎片进行哈希值转换,再根据已有的“碎片- 哈希值-所在节点”映射表,判断该碎片值是否已经存在。
2) 如果已经存在,则用该已有碎片取代新碎片,并将其所在节点更新为原有节点。
3) 之后,再采用通过特定种子字符串生成的密钥,对数据碎片进行加密,再分发到边缘节点,并记录到映射表之中。
4) 当某个用户需要调用某个文件时,则会根据这个文件所包含的碎片,从各个边缘节点搜集相应碎片,解密,进而组合成一个完整的文件。
通过这种方式,我们即实现了多份文件只保存一份,又确保了所有信息在这个过程中都完全加密。关于这个算法的具体计算方法,请参考《HSN白皮书》第4.4.1节“数据加密去重算法”。
以上为本次课堂的内容,后续我们会陆续推出一些技术介绍的文章,也欢迎大家向HSN提出问题,我们会筛选出其中的问题并作解析,以便大家更好地了解HSN项目。