本发明涉及区块链领域,特别涉及一种区块链数据监管方法、系统及计算机存储介质。
背景技术:
区块链才有区块-链的结构保存数据,虽然区块链名义上有着公开透明不可篡改的特性。但是理论上仍然存在分叉等手段修改区块链上数据的可能的。所以用户本身自己维护链上的数据公信力仍然是受到质疑的,需要第三方的区块链对用户的链的区块进行数据确权,以确保用户的链没有被篡改。
技术实现要素:
本发明提供了一种区块链数据监管方法、系统及计算机存储介质,具有技术适用度更高的特点。
根据本发明提供的一种区块链数据监管方法,具体方法包括,
构建监管链;所述监管链包括主链和ipfs;
对监管的业务链中的区块数据进行哈希计算,生成第一哈希值,将生成的第一哈希值保存至主链的文本空间;
进行防篡改确认时,对所述区块数据进行哈希计算,生成第二哈希值,将生成的第二哈希值与所述第一哈希值进行比较,如果哈希值不同,则表明所述区块数据被篡改。
所述方法还包括,将所述区块数据区块中的数据条数保存至主链的文本空间;进行防篡改确认时,对比所述区块数据区块中的数据条数与保存至所述文本空间的数据条数是否一致,如果不一致,则表明所述区块数据被篡改。
所述方法还包括,将所述区块数据保存至监管链的ipfs中。
所述方法还包括,获取保存至ipfs中的区块数据的文件索引,并保存至主链的文本空间。
所述方法还包括,将所述区块数据的区块摘要信息保存至主链的文本空间。
根据本发明提供的一种区块链数据监管系统,包括,
监管链,包括主链和ipfs;
第一哈希值获取模块,对监管的业务链中的区块数据进行哈希计算,生成第一哈希值,将生成的第一哈希值保存至主链的文本空间;
第一篡改判断模块,对所述区块数据进行哈希计算,生成第二哈希值,将生成的第二哈希值与所述第一哈希值进行比较,如果哈希值不同,则表明所述区块数据被篡改。
还包括,
数据条数获取模块,获取所述区块数据区块中的数据条数并保存至主链的文本空间;
第二篡改判断模块,对比所述区块数据区块中的数据条数与保存至所述文本空间的数据条数是否一致,如果不一致,则表明所述区块数据被篡改。
还包括区块数据获取模块,将所述区块数据保存至监管链的ipfs中。
还包括文件索引获取模块,获取保存至ipfs中的区块数据的文件索引,并保存至主链的文本空间。
还包括区块摘要信息获取模块,获取所述区块数据的区块摘要信息,并保存至主链的文本空间。
根据本发明提供的一种计算机存储介质,存储有能够被处理器加载并执行上述任一种方法的计算机程序。
与现有技术相比,本发明方案中,业务链和监管链不需要采用同种技术,业务链之间也不需要采用同种技术,适用范围广,技术使用度更高。
附图说明
图1为本发明监管链架构示意图。
图2为本发明其中一实施例的存储数据的方法流程图示意图。
图3为本发明其中一实施例的监管链和业务链的架构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本说明书(包括摘要和附图)中公开的任一特征,除非特别叙述,均可被其他等效或者具有类似目的的替代特征加以替换。即,除非特别叙述,每个特征只是一系列等效或类似特征中的一个例子而已。
根据本发明提供的一种区块链数据监管方法,具体方法包括,
构建监管链;如图1所示,所述监管链包括主链和ipfs;
对监管的业务链中的区块数据进行哈希计算,生成第一哈希值,将生成的第一哈希值保存至主链的文本空间;
进行防篡改确认时,对所述区块数据进行哈希计算,生成第二哈希值,将生成的第二哈希值与所述第一哈希值进行比较,如果哈希值不同,则表明所述区块数据被篡改。
主链的区块由交易记录组成,交易记录包括交易信息和文本信息,文本空间为交易记录里面存储文本信息的存储空间。对被监管的现有业务链的区块数据进行哈希计算,生成第一哈希值,将生成的第一哈希值保存至主链的文本空间,当需要进行防篡改确认时,再次计算所述区块数据的哈希值,得到第二哈希值,如果第一哈希值和第二哈希值相同,则说明所述区块数据应该没有被篡改,如果第一哈希值和第二哈希值不同,则说明所述区块数据被篡改。本发明方案的实现,业务链和监管链不需要采用同种技术,业务链之间也不需要采用同种技术,适用范围广,技术适用度更高。
作为本发明的一种实施方案,所述方法还包括,将所述区块数据区块中的数据条数保存至主链的文本空间;进行防篡改确认时,对比所述区块数据区块中的数据条数与保存至所述文本空间的数据条数是否一致,如果不一致,则表明所述区块数据被篡改。作为本发明的实施方案,如果哈希值和数据条数有一个不一致,则表明所述区块数据被篡改,作为具体实施方案,可以先比较哈希值再比较数据条数,也可以先比较数据条数再比较哈希值,或者分别同时比较。
作为本发明的一个实施方案,所述方法还包括,将所述区块数据保存至监管链的ipfs中。作为本发明的实施方案,将所述区块数据进行保存,一方面由于区块数据在区块中存储时,可能会丢失原先的数据,这里存储的区块数据能够作为丢失的数据的备份;另一方面,如果所述区块数据被篡改,则另外存储的区块数据就能够作为篡改的证据。作为本发明的实施例,将所述区块数据保存至监管链的ipfs中,从而使存储在ipfs中的区块数据无法篡改,保证安全透明。
作为本发明的一种实施方案,所述方法还包括,获取保存至ipfs中的区块数据的文件索引,并保存至主链的文本空间(交易memo)。与现有技术的文件索引的存储方式不同,本发明申请将所述文件索引存储至主链的文本空间,保证了存储的文件索引无法篡改及安全透明性。
作为本发明的一种实施方式,所述方法还包括,将所述区块数据的区块摘要信息保存至主链的文本空间。本发明申请将所述区块摘要信息存储至主链的文本空间,保证了存储的区块摘要信息无法篡改及安全透明性。
作为本发明的一种实施方式,如图2所示,对于业务链区块中的区块数据,首先抽取区块中的交易数量(即数据条数)和区块数据摘要信息,然后再计算区块数据的第一哈希值;第三,将区块数据保存至监管链的ipfs中,并获得保存的文件索引;第四,将获得的交易数量、摘要信息、第一哈希值和文件索引保存至主链的交易memo(即文本空间)中。本实施例只是作为一种具体实施方式,并不用于限定其他顺序改变或交互方式改变的方案。
作为本发明的一种实施方式,所述方法还包括,如图3所示,被监管的各个业务链作为监管链的并联子链。
传统的解决方案,依托单条业务链展开业务,系统的吞吐量即是单条业务的吞吐量。在本发明方案中,被监管的各个业务链作为监管链的并联子链,采用多链的解决方案,由监管链给各个业务链进行有机地并联,这样,监管链只需要和业务链做交互,其性能的天花板(最高tps)不是最多可以承接的业务笔数,而是承接的业务链的数量。整个架构的吞吐量,是对接到监管链上的所有的业务链的吞吐量的总和。而监管链理论上可以承载的业务链的数量是监管链本身的吞吐量。这样可以使整个框架的吞吐量(即所有链的处理能力)成倍扩展。
一种区块链数据监管系统,包括,
监管链,包括主链和ipfs;
第一哈希值获取模块,对监管的业务链中的区块数据进行哈希计算,生成第一哈希值,将生成的第一哈希值保存至主链的文本空间;
第一篡改判断模块,对所述区块数据进行哈希计算,生成第二哈希值,将生成的第二哈希值与所述第一哈希值进行比较,如果哈希值不同,则表明所述区块数据被篡改。
采用本发明方案,既有的区块链系统无需做过多的修改,即可使用此方案,并且能够在企业用户数据保密和政府监管间取得平衡。
作为本发明的一种实施方式,还包括,
数据条数获取模块,获取所述区块数据区块中的数据条数并保存至主链的文本空间;
第二篡改判断模块,对比所述区块数据区块中的数据条数与保存至所述文本空间的数据条数是否一致,如果不一致,则表明所述区块数据被篡改。
作为本发明的一种实施方式,还包括区块数据获取模块,将所述区块数据保存至监管链的ipfs中。
作为本发明的一种实施方式,还包括文件索引获取模块,获取保存至ipfs中的区块数据的文件索引,并保存至主链的文本空间。
作为本发明的一种实施方式,还包括区块摘要信息获取模块,获取所述区块数据的区块摘要信息,并保存至主链的文本空间。
一种计算机存储介质,其特征在于,存储有能够被处理器加载并执行上述任一种方法的计算机程序。
本技术方案是通过接入层进行改造完成,同一种技术的链之间可以考虑通过底层的改造完成。