关键词:
数据发布
区块链
智能合约
近似重复检测
计数型布隆过滤器
摘要:
随着数字社会的不断发展,数据以指数级的速度增长,数据发布已成为一种十分重要的数据基础服务。然而,传统的数据发布方案面临着数据安全和数据去重方面的新挑战。一方面,数据发布一般依赖可信第三方并且采用中心化的服务器存储数据。可信第三方存在单点故障或遭受内/外部攻击等问题,同时中心化服务器易出现软硬件故障或系统管理员有意或无意地操作而使数据易被篡改甚至删除,使数据的安全性受到威胁。另一方面,传统的数据发布方案均不支持近似重复数据检测机制,易将近似重复的数据进行多次存储,这将增大数据的存储负担。因此,如何在两方或多方之间可信且安全的进行数据发布是一个亟待解决的问题。针对数据发布面临的数据安全与数据去重问题,区块链作为一种去中心化的分布式账本技术,利用其去中心化、数据防篡改以及可追溯的性质可以为数据发布提供新的技术途径。本论文主要解决数据发布中的数据安全与数据去重问题,基于区块链技术和收敛加密技术,我们提出了一个基于区块链的可信数据发布方案。主要研究成果已被国际学术期刊Journal of Internet Technology(SCI源刊,影响因子:1.930)录用。本论文的主要贡献如下:(1)我们提出了一个基于区块链的可信数据发布方案。该方案具有以下优势:首先,利用区块链网络存储元数据信息,可以防篡改和删除,永久保存数据发布记录。利用收敛加密技术可以保护发布数据的机密性,并且方案中单个数据加密的密钥被泄露而不会影响其他数据的安全性。其次,为了解决发布数据时的数据去重问题,本方案构造了一个两层近似重复数据检测算法。其中利用基于非对称极值的分块技术将数据分块,然后利用布隆过滤器生成数据标签,最后根据数据标签相似度检测近似重复的数据,使得我们的方案可以节约存储开销,避免近似重复数据被多次存储。(2)根据本论文提出的基于区块链的可信数据发布方案,我们设计并实现了一个基于区块链的学术平台服务系统。基于PyCrypto库和EthereumJS TestRPC客户端,在Linux环境下搭建了一套基于以太坊的私有区块链网络。并利用MongoDB搭建数据存储中心来模拟云服务网络。我们对该系统进行了前端和后端的实现,提供Web界面供用户操作,其实现的功能如下:首先,该系统可以实现元数据的永久性存储与全文数据的完整性验证。其次,利用智能合约设计了一种学术积分机制,实现了对学术发布行为的公平奖惩制度,有效处理学术不端行为。最后,提供对数据进行发布、查询、下载等功能。本系统的建立及其设计方法已申请发明专利。