本发明专利技术涉及一种区块链数据加密方法及系统,其特征在于,包括以下内容:1)对写入内容的区块进行加密处理,得到加密区块;2)区块链管理账本上的每一区块均接收并记录一加密区块的密钥、交易哈希和敏感状态;3)通道管理员确定区块链操作账本上所有加密区块的敏感状态;4)当具有读权限的普通节点读取区块链操作账本上的加密区块时,自区块链管理账本尾部向头部追溯,获取第一个包含读取的加密区块交易哈希的区块;5)若获取的区块敏感状态为不敏感,则对加密区块进行解密,并将解密后的内容反馈至正在执行操作的节点;若获取的区块敏感状态为敏感,则将区块的敏感状态直接反馈至正在执行操作的节点,本发明专利技术可广泛用于区块链技术领域中。
A block chain data encryption method and system
【技术实现步骤摘要】
一种区块链数据加密方法及系统
本专利技术是关于一种区块链数据加密方法及系统,属于区块链
技术介绍
区块链也称为分布式账本,是一种互联网数据库,其特点是去中心化、公开透明,任何节点均可参与数据库记录,同时,数据不可篡改。区块链的特性为数据存储和维护提供新的解决方案。新一代的区块链可以在不需要第三方信任认证机构的前提下,实现信息的交换和共享,达到人与人之间的信任,变革生产关系,主要以公有链、联盟链和私有链方式存在。在新一代区块链中,数据访问权限的控制得到极大的重视,在众多框架中增加锚定节点(Anchor)、背书节点(Endorser)、排序服务节点(Orderer)、记账节点(Committer)等角色节点,通过不同角色节点之间的功能配合实现成员身份注册、身份保护、权限配置、内容保密和交易审核等。在层层的权限控制帮助下,得以形成复杂的层级关系,一条区块链就是一个通道(Channel),一个组织(Org)可以包含多个成员节点(Node),一个组织可以拥有多个通道,组织成员节点可以访问组织对有用的通道,通过上述秩序规则建立起层层的账本访问控制,一个节点可以同时属于不同的组织,因此,一个节点可以根据其相应的权限访问多个区块链账本。其他新兴的区块链也多采用此种类似的权限访问控制方法。区块链体系中的账本、通道、组织、角色以及智能合约的概念极大丰富区块链账本的操作可行性,通过访问权限和数据加密的配合,可以有效隐藏区块链账本的区块内容,防止非法数据和敏感数据的暴漏。区块链上的数据从创世区块诞生伊始,区块就不断增加,旧区块不能删除,只能累加增长,在整个区块生长环境中,难免会出现一些数据异常区块。对于异常区块,目前存在几类处理方式,一是改变共识机制,不再采用POW机制,而是改用DPOS机制(资产占比投票),通过多数投票实现回滚,然而,此种方式大大破坏区块链的公信力,同时,对于间隔距离较长的区块回滚需要耗费大量的资源。二是进行区块链分叉,但是,不断的分叉行为会造成整个区块链系统的不稳定和版本不兼容问题。
技术实现思路
针对上述问题,本专利技术的目的是提供一种不破坏区块链系统的公信力,且区块链系统稳定的用于异常区块的区块链数据加密方法及系统。为实现上述目的,本专利技术采取以下技术方案:一种区块链数据加密方法,其特征在于,包括以下内容:1)当具有写权限的普通节点将内容写入区块链操作账本并经排序节点进行打包时,通过执行打包功能的智能合约对写入内容的区块进行加密处理,得到加密区块;2)通道管理员处设置有区块链管理账本,区块链管理账本上的每一区块均接收并记录一加密区块的密钥、交易哈希和敏感状态;3)通道管理员确定区块链操作账本上所有加密区块的敏感状态,若加密区块的敏感状态为敏感,则修改加密区块的字段为敏感,将修改后的加密区块作为新区块同时追加至区块链操作账本和区块链管理账本的尾部,并指向未修改前加密区块的交易哈希;4)当具有读权限的普通节点读取区块链操作账本上的加密区块时,通过执行读功能的智能合约自区块链管理账本尾部向头部追溯,获取第一个包含读取的加密区块交易哈希的区块;5)若步骤4)中获取的区块敏感状态为不敏感,则根据区块链管理账本上指向该区块交易哈希的区块及其密钥,通过执行读功能的智能合约对读取的加密区块进行解密,并将解密后的内容反馈至正在执行操作的节点;若步骤4)中获取的区块敏感状态为敏感,则将区块的敏感状态直接反馈至正在执行操作的节点。优选地,在进行步骤1)之前,需要建立区块链网络的基础组织机构,包括区块链操作账本、区块链管理账本、通道、组织和智能合约,组织内设置有普通节点、排序节点和记账节点。优选地,每一通道均对应一区块链操作账本和一区块链管理账本;每一通道均设置有至少一个管理员节点,用于对附属于通道上的组织进行读写权限控制;每一通道均被至少一个组织共享,组织中的节点根据自身在组织中的权限操作区块链账本,每一通道均设置有通道管理员,组织对通道的接入通过通道管理员授权实现。优选地,共享通道的所有组织内节点的读写数据均位于区块链操作账本上,只有区块链操作账本上的智能合约和通道管理员能够对区块链管理账本执行读写操作。优选地,组织内设置有组织管理员,用于对组织内的节点权限进行控制,通道内各组织的内部权限由其对应的组织管理员控制。优选地,只有具备管理员根证书和管理员授权中间证书的节点具有写权限;共享通道的所有组织中的任何节点均拥有对区块链管理账本的读权限。优选地,所述步骤1)中对写入的内容进行加密处理采用AES加密处理。优选地,所述步骤3)中若加密区块的敏感状态为不敏感,则对加密区块不做任何处理。优选地,所述步骤3)中通道管理员通过授权证书的形式,对区块链管理账本的操作权限进行开放。一种区块链数据加密系统,其特征在于,包括:加密处理模块,用于当具有写权限的普通节点将内容写入区块链操作账本并经排序节点进行打包时,通过执行打包功能的智能合约对写入内容的区块进行加密处理,得到加密区块;记录模块,用于在通道管理员处设置区块链管理账本,区块链管理账本上的每一区块均接收并记录一加密区块的密钥、交易哈希和敏感状态;内容审核模块,用于通过通道管理员确定区块链操作账本上所有加密区块的敏感状态,若加密区块的敏感状态为敏感,则修改加密区块的字段为敏感,将修改后的加密区块作为新区块同时追加至区块链操作账本和区块链管理账本的尾部,并指向未修改前加密区块的交易哈希;追溯模块,用于当具有读权限的普通节点读取区块链操作账本上的加密区块时,通过执行读功能的智能合约自区块链管理账本尾部向头部追溯,获取第一个包含读取的加密区块交易哈希的区块;解密模块,用于若获取的区块敏感状态为不敏感时,根据区块链管理账本上指向该区块交易哈希的区块及其密钥,通过执行读功能的智能合约对读取的加密区块进行解密,并将解密后的内容反馈至正在执行操作的节点;若获取的区块敏感状态为敏感时,将区块的敏感状态直接反馈至正在执行操作的节点。本专利技术由于采取以上技术方案,其具有以下优点:1、本专利技术对于区块内容的审核不存在即时性,无论何时对区块内容进行审核,发现其内容敏感时均可进行修改,修改后便无法获取其内容数据,此外,对之前审核通过的数据,随着实际环境的变化,也可修改其未不通过数据,对于之前认为敏感性的不通过数据,也可修改其为通过数据,其内容开放程度便于控制。2、本专利技术对于数据异常区块,并不采用删除区块的处理方式,而是通过对数据异常区块进行数据加密,从而隐藏区块内部存储数据,但是暴露出头部、尾部和摘要信息,因此并不会影响区块链的追溯行为,但同时变相的隐藏了数据异常区块的内容,即可视为区块链上可访问直接读出的区块均是正常数据区块,可以广泛应用于区块链
中。附图说明图1是现有技术中证书信任链的示意图;图2是现有技术中组织共享通道的示意图,其中,P表示peer节点,Org表示组织,Channel表示通道账本。具体实施方式以下结合附图来对本专利技术进行详细的描绘。然而应当理解,附图的提供仅本文档来自技高网...
【技术保护点】
1.一种区块链数据加密方法,其特征在于,包括以下内容:/n1)当具有写权限的普通节点将内容写入区块链操作账本并经排序节点进行打包时,通过执行打包功能的智能合约对写入内容的区块进行加密处理,得到加密区块;/n2)通道管理员处设置有区块链管理账本,区块链管理账本上的每一区块均接收并记录一加密区块的密钥、交易哈希和敏感状态;/n3)通道管理员确定区块链操作账本上所有加密区块的敏感状态,若加密区块的敏感状态为敏感,则修改加密区块的字段为敏感,将修改后的加密区块作为新区块同时追加至区块链操作账本和区块链管理账本的尾部,并指向未修改前加密区块的交易哈希;/n4)当具有读权限的普通节点读取区块链操作账本上的加密区块时,通过执行读功能的智能合约自区块链管理账本尾部向头部追溯,获取第一个包含读取的加密区块交易哈希的区块;/n5)若步骤4)中获取的区块敏感状态为不敏感,则根据区块链管理账本上指向该区块交易哈希的区块及其密钥,通过执行读功能的智能合约对读取的加密区块进行解密,并将解密后的内容反馈至正在执行操作的节点;若步骤4)中获取的区块敏感状态为敏感,则将区块的敏感状态直接反馈至正在执行操作的节点。/n
【技术特征摘要】
1.一种区块链数据加密方法,其特征在于,包括以下内容:
1)当具有写权限的普通节点将内容写入区块链操作账本并经排序节点进行打包时,通过执行打包功能的智能合约对写入内容的区块进行加密处理,得到加密区块;
2)通道管理员处设置有区块链管理账本,区块链管理账本上的每一区块均接收并记录一加密区块的密钥、交易哈希和敏感状态;
3)通道管理员确定区块链操作账本上所有加密区块的敏感状态,若加密区块的敏感状态为敏感,则修改加密区块的字段为敏感,将修改后的加密区块作为新区块同时追加至区块链操作账本和区块链管理账本的尾部,并指向未修改前加密区块的交易哈希;
4)当具有读权限的普通节点读取区块链操作账本上的加密区块时,通过执行读功能的智能合约自区块链管理账本尾部向头部追溯,获取第一个包含读取的加密区块交易哈希的区块;
5)若步骤4)中获取的区块敏感状态为不敏感,则根据区块链管理账本上指向该区块交易哈希的区块及其密钥,通过执行读功能的智能合约对读取的加密区块进行解密,并将解密后的内容反馈至正在执行操作的节点;若步骤4)中获取的区块敏感状态为敏感,则将区块的敏感状态直接反馈至正在执行操作的节点。
2.如权利要求1所述的一种区块链数据加密方法,其特征在于,在进行步骤1)之前,需要建立区块链网络的基础组织机构,包括区块链操作账本、区块链管理账本、通道、组织和智能合约,组织内设置有普通节点、排序节点和记账节点。
3.如权利要求2所述的一种区块链数据加密方法,其特征在于,每一通道均对应一区块链操作账本和一区块链管理账本;每一通道均设置有至少一个管理员节点,用于对附属于通道上的组织进行读写权限控制;每一通道均被至少一个组织共享,组织中的节点根据自身在组织中的权限操作区块链账本,每一通道均设置有通道管理员,组织对通道的接入通过通道管理员授权实现。
4.如权利要求3所述的一种区块链数据加密方法,其特征在于,共享通道的所有组织内节点的读写数据均位于区块链操作账本上,只有区块链操作账本上的智能合约和通道管理员能够对区块链管理账本执行读写操作。
5.如权利要求2所述的...
【专利技术属性】
技术研发人员:梁循,
申请(专利权)人:中国人民大学,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。