论文部分内容阅读
近年来,区块链技术得到了快速的发展,涉及加密货币,金融,物联网,医疗等各个领域,各种类型的区块链应用中产生了海量的交易数据,这为研究人员通过分析区块链数据,了解和解决相关问题提供了前所未有的机会。然而区块链技术在给人们带来便利的同时也暴露出了一些隐私问题,因此如何在保护个人隐私的前提下让研究者获得数据进行分析成为一个亟待解决的问题。在公有链中,目前针对交易数据隐私的保护方法大多是通过修改区块链的底层机制来实现的,典型的方法是混币机制和基于加密的方法。这些方法给区块链带来了额外的开销并造成了效率低下的问题,这在很多应用场景下是不允许的。另外经过混币和加密处理后的交易数据通常难以用于数据分析,这就损失了数据的可用性;在私有链和联盟链中,数据的所有权和管理权归区块链管理员所有,在这种情况下采用面向数据发布的匿名方法可以在不修改区块链机制的前提下对数据进行匿名处理,这样可以在保证区块链的性能不受影响的前提下同时使得数据得到了合理的利用。但由于区块链交易数据的一些特点,传统的关系型数据发布中的匿名方法无法直接应用在对区块链的交易数据的隐私保护当中。本文针对区块链的特有的数据格式结合传统的数据匿名方法展开研究,提出了一种应用在私有链和联盟链上的交易数据匿名发布方法。主要的研究工作如下:(1)首先,本文详细分析了区块链中存在的隐私问题,将区块链的隐私问题分为身份隐私和交易隐私,结合以往的l-多样性模型提出了扩展模型——l-地址多样性模型和l-交易多样性模型来保护区块链中的身份隐私和交易隐私,使得数据发布结果既满足了匿名性要求,也满足了数据分析的需求。(2)然后,我们将区块链的交易数据以表数据形式来表示。在对标识属性的处理上,本文使用哈希算法对标识属性进行匿名,这样既保护了个体的隐私信息,也保护了区块链的结构信息。在对准标识属性进行匿名时,分为数值属性和分类属性分别进行讨论,采用不同的方式进行处理。(3)接着,本文提出了一种基于聚类的交易数据匿名方法CP-BK(clustering partition based on Bisecting K-medoids)。我们使用准标识属性的差异程度来衡量元组之间的距离,按照距离公式对元组进行聚类。在聚类时,采用改进的K-medoids算法不断地对数据集进行划分,使得每个分组中的元组数量尽可能小,从而降低信息损失。我们还对算法的隐私性以及时间复杂度进行了分析。(4)最后,我们实现了本文提出的匿名方法并给出了详细的系统分析以及各模块的实现过程。我们使用真实的区块链中的交易数据集进行了仿真实验,并从信息损失、算法执行时间,聚类效果三个方面对算法进行评估并和以往基于聚类的匿名方法中广泛采用的贪心算法进行了对比。本文通过对实验结果进行分析,验证了本文提出方法应用的可行性,所发布的数据在满足身份匿名性和交易匿名性的情况下具有较高的效用性,本文提出的基于聚类的匿名方法在聚类性能和信息损失方面优于以往基于贪心策略的聚类匿名方法。