CN115859374A - 基于区块链的数据存证方法及装置 - Google Patents
基于区块链的数据存证方法及装置 Download PDFInfo
- Publication number
- CN115859374A CN115859374A CN202211485398.3A CN202211485398A CN115859374A CN 115859374 A CN115859374 A CN 115859374A CN 202211485398 A CN202211485398 A CN 202211485398A CN 115859374 A CN115859374 A CN 115859374A
- Authority
- CN
- China
- Prior art keywords
- data
- party security
- hash value
- calculation
- participating
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提供一种基于区块链的数据存证方法及装置,可用于金融领域或其他技术领域。所述方法包括:在本地数据库中获取参与多方安全计算的数据,其中,参与多方安全计算的数据的数量至少为一个;将参与多方安全计算的数据保存到本地的审计明细表中;按照预设的哈希算法对参与多方安全计算的数据进行哈希计算,得到参与多方安全计算的数据所对应的哈希值;将所述哈希值保存到审计明细表中,并将哈希值广播至区块链网络进行存证。本发明实施例提供的基于区块链的数据存证方法及装置,能够为后续的数据审计提供依据,具体的,后续审计时可以根据链上哈希值以及上述的审计明细表追溯到原始数据,并由此确定参与方是否曾经有恶意提供虚假数据的行为。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种基于区块链的数据存证方法及装置。
背景技术
区块链技术和多方安全计算技术综合利用了密码学、分布式系统等技术,各有特点却巧妙互补。区块链的优势在于数据共享公开、安全可信不可篡改,由此缺乏对数据的隐私保护。多方安全计算技术的优势在于数据可用不可见,保护隐私的同时把数据孤岛互联互通,但无法解决数据安全、多方互信协作等问题。两者结合,多方安全计算能增强区块链的可扩展性、隐私性、拓展区块链的应用边界,区块链使得多方安全计算数据可溯源,过程可验证,是多方安全互信协作的基础。
目前两种技术的融合一般是直接互补:关键数据使用多方安全计算保证数据可用不可见,同时计算过程通过哈希等方式存证上链,数据授权、确权、分发流转、共识等其它不涉及隐私保护数据的业务处理逻辑则通过区块链联动链上各方进行协作处理。
由于多方安全计算为保证数据可用不可见,隐私数据都保留在本地,仅把计算过程通过哈希等方式存证上链虽然留下可追溯的痕迹,但这种方法无法追溯到原始数据,进而无法确定计算过程中以及后续审计时参与方是否恶意提供了虚假数据。
发明内容
针对现有技术中的问题,本发明实施例提供一种基于区块链的数据存证方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种基于区块链的数据存证方法,包括:
在本地数据库中获取参与多方安全计算的数据,其中,所述参与多方安全计算的数据的数量至少为一个;将所述参与多方安全计算的数据保存到本地的审计明细表中;按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值;将所述哈希值保存到所述审计明细表中,并将所述哈希值广播至区块链网络进行存证。
可选的,所述在本地数据库中获取参与多方安全计算的数据包括:根据预先配置在本节点智能合约配置文件中的用户名、密码以及访问语句,获取本地数据库中目标视图中参与多方安全计算的数据,其中,所述目标视图中聚合了本地数据库中参与多方安全计算的数据。
可选的,所述用户名所对应的用户具有所述目标视图的只读访问权限。
可选的,所述将所述参与多方安全计算的数据保存到本地的审计明细表中包括:
将所述参与多方安全计算的数据中相比于所述审计明细表中最近一次保存的数据发生改变的数据保存到所述审计明细表中,其中,所述发生改变的数据位于所述审计明细表的同一行,且每个所述发生改变的数据分别位于不同的数据列;
所述哈希值位于所述审计明细表中的哈希列,且所述哈希值与所述发生改变的数据位于所述审计明细表的同一行。
可选的,所述方法还包括:
根据所述发生改变的数据保存到本地的审计明细表中的时间,生成所述发生改变的数据所在的数据行的时间戳;
将所述时间戳保存到所述审计明细表中,其中,所述时间戳与所述发生改变的数据位于所述审计明细表的同一行,且所述时间戳位于所述审计明细表中的时间戳列。
可选的,所述按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值包括:
按照预设的哈希算法,对位于所述审计明细表中同一行的所述发生改变的数据以及所述时间戳进行哈希计算,得到该行数据所对应的哈希值。
可选的,所述将所述哈希值广播至区块链网络进行存证包括:
将所述哈希值发送给数据收集节点,其中,所述数据收集节点用于收集当前区块链网络中参与多方安全计算的参与方节点发送的哈希值,并将所述哈希值进行汇总后广播至所述区块链网络进行存证。
另一方面,本发明提出一种基于区块链的数据存证方法,包括:
获取模块,用于在本地数据库中获取参与多方安全计算的数据,其中,所述参与多方安全计算的数据的数量至少为一个;
保存模块,用于将所述参与多方安全计算的数据保存到本地的审计明细表中;
计算模块,用于按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值;
存证模块,用于将所述哈希值保存到所述审计明细表中,并将所述哈希值广播至区块链网络进行存证。
可选的,所述获取模块具体用于:根据预先配置在本节点智能合约配置文件中的用户名、密码以及访问语句,获取本地数据库中目标视图中参与多方安全计算的数据,其中,所述目标视图中聚合了本地数据库中参与多方安全计算的数据。
可选的,所述用户名所对应的用户具有所述目标视图的只读访问权限。
可选的,所述保存模块具体用于:
将所述参与多方安全计算的数据中相比于所述审计明细表中最近一次保存的数据发生改变的数据保存到所述审计明细表中,其中,所述发生改变的数据位于所述审计明细表的同一行,且每个所述发生改变的数据分别位于不同的数据列;
所述哈希值位于所述审计明细表中的哈希列,且所述哈希值与所述发生改变的数据位于所述审计明细表的同一行。
可选的,所述装置还包括:
生成模块,用于根据所述发生改变的数据保存到本地的审计明细表中的时间,生成所述发生改变的数据所在的数据行的时间戳;
所述保存模块还用于:将所述时间戳保存到所述审计明细表中,其中,所述时间戳与所述发生改变的数据位于所述审计明细表的同一行,且所述时间戳位于所述审计明细表中的时间戳列。
可选的,所述计算模块具体用于:
按照预设的哈希算法,对位于所述审计明细表中同一行的所述发生改变的数据以及所述时间戳进行哈希计算,得到该行数据所对应的哈希值。
可选的,所述存证模块将所述哈希值广播至区块链网络进行存证包括:
将所述哈希值发送给数据收集节点,其中,所述数据收集节点用于收集当前区块链网络中参与多方安全计算的参与方节点发送的哈希值,并将所述哈希值进行汇总后广播至所述区块链网络进行存证。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的基于区块链的数据存证方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的基于区块链的数据存证方法的步骤。
本发明实施例提供的基于区块链的数据存证方法及装置,为保证参与多方安全计算的数据可追溯可验证,使用审计明细表对参与多方安全计算的数据进行完整保留,并将参与计算的数据哈希上链;通过该方式,为后续的数据审计提供依据,具体的,后续审计时可以根据链上哈希值以及上述的审计明细表追溯到原始数据,并由此确定参与方是否曾经有恶意提供虚假数据的行为。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的利用智能合约集成外部隐私计算模块的区块链系统的结构示意图。
图2是本发明一实施例提供的基于区块链的数据存证方法的流程示意图。
图3是本发明一实施例提供的每次哈希计算后生成的区块的结构示意图。
图4是本发明一实施例提供的各参与方将哈希值发送给数据收集节点的示意图。
图5是本发明一实施例提供的基于区块链的数据存证装置的结构示意图。
图6是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意排序。
关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部排序。
为更好地理解本发明,以下先对本发明实施例提供的利用智能合约集成外部隐私计算模块的区块链系统的结构进行介绍。
如图1所示,本发明实施例提供的利用智能合约集成外部隐私计算模块的区块链系统,包括:
区块链节点(1.1、2.1、3.1),用于组成区块链网络的多个节点,其上部署了区块链服务进程。
智能合约(1.2、2.2、3.2),用于执行区块链交易,由区块链节点的服务进程启动,通常以容器的方式独立运行。
隐私计算模块(1.3、2.3、3.3),用于执行多节点组成的多方安全计算任务,可集成于智能合约容器内部,供智能合约直接调用。
本地数据库(1.4、2.4、3.4),用于提供多方安全计算所需的原始隐私数据,供智能合约访问后送入隐私计算模块。
本发明实施例提供的基于区块链的数据存证方法的执行主体包括但不限于计算机。
图2是本发明一实施例提供的基于区块链的数据存证方法的流程示意图,如图2所示,本发明实施例提供的基于区块链的数据存证方法,包括:
S101、在本地数据库中获取参与多方安全计算的数据,其中,所述参与多方安全计算的数据的数量至少为一个;
步骤S101中,为保证多方安全计算的参与方无法恶意提供虚假数据参与多方安全计算,所述本地数据库可以是多方安全计算参与方的生产数据库,通过直连参与方的生产数据库能够确保直接访问真实数据;每个参与方参与多方安全计算的数据可以不止有一个,各所述参与方之间可以进行多次多方安全计算。
为保证该数据获取方式不会对本地数据库造成额外过多的压力,参与方原有的系统功能不受影响,可在智能合约中增加交易限流,比如每秒只能执行最多2笔交易。智能合约获取数据后一方面送入隐私计算模块,按照一定的加密算法进行计算,实现保护本地隐私数据的同时进行多方安全计算,另一方面执行以下步骤S102。
S102、将所述参与多方安全计算的数据保存到本地的审计明细表中;
步骤S102中,相比于现有技术,参与方节点在链下新增了一个nosql数据库存放审计明细表,在本地节点每次参与多方安全计算时,将本次参与多方安全计算的数据保存到本地的审计明细表中,以此作为后续审计溯源的数据基础。
S103、按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值;
步骤S103中,为了防止出现虚假数据,需要对每次参与多方安全计算的数据进行哈希上链存证,按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值。
S104、将所述哈希值保存到所述审计明细表中,并将所述哈希值广播至区块链网络进行存证。
步骤S104中,可将所述哈希值与所述参与多方安全计算的数据对应保存,例如保存在所述审计明细表的同一行,以表示其关联关系;如图3所示,每次哈希计算作为一笔交易,在链上保存,在交易所对应的区块内,包含了当次计算所涉及的N方数据的哈希。通过该方式,后续审计时可以根据链上保存的哈希值以及上述的审计明细表追溯到原始数据,由此确定参与方是否曾经有恶意提供虚假数据的行为。
举例而言,后续审计时的核对方式如下:对于金融机构而言,由于需要进行多方计算的内容一般为余额、额度等业务敏感核心数据,出于业务本身的监管审计及客户查询需求,业务需要建立实际的数据明细表以供查询,因此可以通过业务明细表与新增的审计明细表按时间进行核对,例如把初始金额加上明细上的增减金额累计出某一时间的实际金额,然后与审计明细表该时间的金额进行比对。对于没有业务明细表的情况,可通过打印的凭证或其它可供复原交易明细的数据进行核对,通常不存在完全没有痕迹的情况。由于审计明细表在参与方本地,为防止数据被篡改,基于S103中的步骤,每一行的哈希由该行数据参与计算,因此如果数据被篡改则需要同步修改哈希值,而哈希值又已经上链保存,利用区块链数据不可篡改的特性,则可以确保哈希值一旦被修改就会被发现,从而保证哈希值不被修改,进而保证了数据不被篡改。
本发明实施例提供的基于区块链的数据存证方法,为保证参与多方安全计算的数据可追溯可验证,使用审计明细表对参与多方安全计算的数据进行完整保留,并将参与计算的数据哈希上链;通过该方式,为后续的数据审计提供依据,具体的,后续审计时可以根据链上哈希值以及上述的审计明细表追溯到原始数据,并由此确定参与方是否曾经有恶意提供虚假数据的行为。
在一些实施例中,所述在本地数据库中获取参与多方安全计算的数据包括:根据预先配置在本节点智能合约配置文件中的用户名、密码以及访问语句,获取本地数据库中目标视图中参与多方安全计算的数据,其中,所述目标视图中聚合了本地数据库中参与多方安全计算的数据。
本地数据库中新增了目标视图,多方安全计算所需的可能在数据库的多个表中分别保存的原始数据,通过视图的方式聚合在一起。然后针对该目标视图新建一个用户,把该用户的用户名及其密码以及访问视图的语句配置在本节点的智能合约配置文件中,由此实现智能合约可访问本地数据。
在一些实施例中,所述用户名所对应的用户具有所述目标视图的只读访问权限。该用户仅有对该目标视图的只读访问权限,不能访问和操作其它非授权的数据,保护了参与方生产数据库的安全。
在一些实施例中,所述将所述参与多方安全计算的数据保存到本地的审计明细表中包括:将所述参与多方安全计算的数据中相比于所述审计明细表中最近一次保存的数据发生改变的数据保存到所述审计明细表中,其中,所述发生改变的数据位于所述审计明细表的同一行,且每个所述发生改变的数据分别位于不同的数据列;所述哈希值位于所述审计明细表中的哈希列,且所述哈希值与所述发生改变的数据位于所述审计明细表的同一行。
审计明细表的列包含上述目标视图中的所有列,每次从目标视图查出数据后,则异步插入一条记录到审计明细表中,以此作为后续审计溯源的数据基础。由下表1所示的审计明细表可见,该表1记录了参与多方安全计算的数据由新增开始的所有变化情况,每获取一次数据则新增一行包含当前的时间戳以及被修改的数据的最新值,无修改的列值留空,不会占用任何存储空间。由此实现了一张稀疏表,在记录了数据的所有变化情况的同时,不会大幅增加本地磁盘存储压力。该稀疏表的实现可采用例如HBASE等现有的NOSQL数据库。
表1:
在一些实施例中,所述方法还包括:根据所述发生改变的数据保存到本地的审计明细表中的时间,生成所述发生改变的数据所在的数据行的时间戳;将所述时间戳保存到所述审计明细表中,其中,所述时间戳与所述发生改变的数据位于所述审计明细表的同一行,且所述时间戳位于所述审计明细表中的时间戳列。
如下表2所示,时间戳是根据普通数据列的更新时间确定的,由于时间戳列一般是系统属性列,由NOSQL数据库在生成当前行的时候默认生成。
表2:
因此在后续需要添加哈希列时,需要NOSQL数据库支持实现对哈希列的修改进行特殊处理,不会作为视同普通数据列的修改而再次新增一行,或者支持新增行时对时间戳列的直接指定。简而言之,如上表1所示,根据时间戳及普通数据列的数据生成的哈希值填入稀疏表后时间戳不会再进行更新。
审计明细表可通过表名+主键+时间戳的方式进行访问,当忽略时间戳时,默认即访问当前主键下最新的记录,即最后一个时间戳代表的记录。此处的主键代表每参与一次计算时,查询计算所需数据的唯一键。比如,在进行一次银行间的多方联合统计时,计算客户A当前在各参与方的贷款总额,主键可以设置为客户A的姓名、证件类型或证件号码等。
在一些实施例中,所述按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值包括:按照预设的哈希算法,对位于所述审计明细表中同一行的所述发生改变的数据以及所述时间戳进行哈希计算,得到该行数据所对应的哈希值。哈希列的列值由当前所在行的每列(包括时间戳列)的数据值进行哈希计算得到。
例如,采用SHA256哈希算法,对一列中的所有数据进行字符串按位数拼接,例如一行包括3列,每列长度为5,3列的值分别为AA、BB、CC,则应组成字符串“AAxxxBBxxxCCxxx”,x为补位字符,而后计算出该字符串的哈希值a,按照哈希算法的特性,只要该字符串中的任一字符发生变化,再次计算后则不可能再获得哈希值a。
在一些实施例中,所述将所述哈希值广播至区块链网络进行存证包括:将所述哈希值发送给数据收集节点,其中,所述数据收集节点用于收集当前区块链网络中参与多方安全计算的参与方节点发送的哈希值,并将所述哈希值进行汇总后广播至所述区块链网络进行存证。
由于上链存证时,每个智能合约提交到区块链上的数据必须一致,每个智能合约返回的结果也必须一致,但上述实施例中每个参与方节点的智能合约访问本地数据库获取到的哈希与本地数据相关,并不一致,因此需要有一个在智能合约运行过程中进行汇总的操作,而不是直接在智能合约中提交上链汇总,或者等交易完成返回后再由某一方汇总。为解决该问题,可以为智能合约开放端口权限,例如以发起计算的智能合约作为数据收集方,如图4所示:
在上送智能合约的参数里面,把参与多方安全计算所涉及的智能合约服务器ip和端口都上送到合约参数里面,例如:节点A IP:50001,节点B IP:5005,节点C IP:50009;第一个ip端口即发起方。由发起方负责在所指定的端口进行连接监听,其它参与方都往发起方发送哈希值,发起方按照ip个数判断是否收到足够的连接数量,异步收集到所有哈希值后调用另一存证智能合约从而发起一笔新的存证交易实现哈希存证。
本发明实施例提供的基于区块链的数据存证方法,为保证计算数据可追溯可验证,在参与方本地使用nosql稀疏表作为审计明细表,借助nosql数据库的大数据存储能力,以及其中的时间戳机制对参与计算的数据及过程进行完整保留,为避免该审计明细表被篡改,进一步增加哈希列,实现所有数据明细的哈希上链,利用区块链不可窜改的特性实现哈希无法篡改,再利用哈希对数据变化敏感的特性实现审计明细表无法篡改,以审计明细表作为与业务明细表核对的依据,进而保留了交易数据现场,从而克服了在区块链中进行多方安全计算时参与方可能恶意提供虚假数据的问题,利用智能合约进行数据归集存证,最终实现链外数据可信的目标。
图5是本发明一实施例提供的基于区块链的数据存证装置的结构示意图,如图5所示,本发明实施例提供的基于区块链的数据存证装置,包括:
获取模块21,用于在本地数据库中获取参与多方安全计算的数据,其中,所述参与多方安全计算的数据的数量至少为一个;
保存模块22,用于将所述参与多方安全计算的数据保存到本地的审计明细表中;
计算模块23,用于按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值;
存证模块24,用于将所述哈希值保存到所述审计明细表中,并将所述哈希值广播至区块链网络进行存证。
本发明实施例提供的基于区块链的数据存证方法,为保证参与多方安全计算的数据可追溯可验证,使用审计明细表对参与多方安全计算的数据进行完整保留,并将参与计算的数据哈希上链;通过该方式,为后续的数据审计提供依据,具体的,后续审计时可以根据链上哈希值以及上述的审计明细表追溯到原始数据,并由此确定参与方是否曾经有恶意提供虚假数据的行为。
可选的,所述获取模块具体用于:根据预先配置在本节点智能合约配置文件中的用户名、密码以及访问语句,获取本地数据库中目标视图中参与多方安全计算的数据,其中,所述目标视图中聚合了本地数据库中参与多方安全计算的数据。
可选的,所述用户名所对应的用户具有所述目标视图的只读访问权限。
可选的,所述保存模块具体用于:
将所述参与多方安全计算的数据中相比于所述审计明细表中最近一次保存的数据发生改变的数据保存到所述审计明细表中,其中,所述发生改变的数据位于所述审计明细表的同一行,且每个所述发生改变的数据分别位于不同的数据列;
所述哈希值位于所述审计明细表中的哈希列,且所述哈希值与所述发生改变的数据位于所述审计明细表的同一行。
可选的,所述装置还包括:
生成模块,用于根据所述发生改变的数据保存到本地的审计明细表中的时间,生成所述发生改变的数据所在的数据行的时间戳;
所述保存模块还用于:将所述时间戳保存到所述审计明细表中,其中,所述时间戳与所述发生改变的数据位于所述审计明细表的同一行,且所述时间戳位于所述审计明细表中的时间戳列。
可选的,所述计算模块具体用于:
按照预设的哈希算法,对位于所述审计明细表中同一行的所述发生改变的数据以及所述时间戳进行哈希计算,得到该行数据所对应的哈希值。
可选的,所述存证模块将所述哈希值广播至区块链网络进行存证包括:
将所述哈希值发送给数据收集节点,其中,所述数据收集节点用于收集当前区块链网络中参与多方安全计算的参与方节点发送的哈希值,并将所述哈希值进行汇总后广播至所述区块链网络进行存证。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的基于区块链的数据存证方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对基于区块链的数据存证方法及装置的应用领域不做限定。
图6为本发明一实施例提供的电子设备的实体结构示意图,如图6所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行上述任一实施例所述的方法。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链的数据存证方法,其特征在于,包括:
在本地数据库中获取参与多方安全计算的数据,其中,所述参与多方安全计算的数据的数量至少为一个;
将所述参与多方安全计算的数据保存到本地的审计明细表中;
按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值;
将所述哈希值保存到所述审计明细表中,并将所述哈希值广播至区块链网络进行存证。
2.根据权利要求1所述的方法,其特征在于,所述在本地数据库中获取参与多方安全计算的数据包括:
根据预先配置在本节点智能合约配置文件中的用户名、密码以及访问语句,获取本地数据库中目标视图中参与多方安全计算的数据,其中,所述目标视图中聚合了本地数据库中参与多方安全计算的数据。
3.根据权利要求2所述的方法,其特征在于,所述用户名所对应的用户具有所述目标视图的只读访问权限。
4.根据权利要求1所述的方法,其特征在于,所述将所述参与多方安全计算的数据保存到本地的审计明细表中包括:
将所述参与多方安全计算的数据中相比于所述审计明细表中最近一次保存的数据发生改变的数据保存到所述审计明细表中,其中,所述发生改变的数据位于所述审计明细表的同一行,且每个所述发生改变的数据分别位于不同的数据列;
所述哈希值位于所述审计明细表中的哈希列,且所述哈希值与所述发生改变的数据位于所述审计明细表的同一行。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
根据所述发生改变的数据保存到本地的审计明细表中的时间,生成所述发生改变的数据所在的数据行的时间戳;
将所述时间戳保存到所述审计明细表中,其中,所述时间戳与所述发生改变的数据位于所述审计明细表的同一行,且所述时间戳位于所述审计明细表中的时间戳列。
6.根据权利要求5所述的方法,其特征在于,所述按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值包括:
按照预设的哈希算法,对位于所述审计明细表中同一行的所述发生改变的数据以及所述时间戳进行哈希计算,得到该行数据所对应的哈希值。
7.根据权利要求1至6任一项所述的方法,其特征在于,所述将所述哈希值广播至区块链网络进行存证包括:
将所述哈希值发送给数据收集节点,其中,所述数据收集节点用于收集当前区块链网络中参与多方安全计算的参与方节点发送的哈希值,并将所述哈希值进行汇总后广播至所述区块链网络进行存证。
8.一种基于区块链的数据存证装置,其特征在于,包括:
获取模块,用于在本地数据库中获取参与多方安全计算的数据,其中,所述参与多方安全计算的数据的数量至少为一个;
保存模块,用于将所述参与多方安全计算的数据保存到本地的审计明细表中;
计算模块,用于按照预设的哈希算法对所述参与多方安全计算的数据进行哈希计算,得到所述参与多方安全计算的数据所对应的哈希值;
存证模块,用于将所述哈希值保存到所述审计明细表中,并将所述哈希值广播至区块链网络进行存证。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211485398.3A CN115859374A (zh) | 2022-11-24 | 2022-11-24 | 基于区块链的数据存证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211485398.3A CN115859374A (zh) | 2022-11-24 | 2022-11-24 | 基于区块链的数据存证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115859374A true CN115859374A (zh) | 2023-03-28 |
Family
ID=85666103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211485398.3A Pending CN115859374A (zh) | 2022-11-24 | 2022-11-24 | 基于区块链的数据存证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115859374A (zh) |
-
2022
- 2022-11-24 CN CN202211485398.3A patent/CN115859374A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI694350B (zh) | 基於區塊鏈的資訊監管方法及裝置 | |
JP6995762B2 (ja) | ブロックチェーンからのデータのセキュアな抽出のための暗号方法及びシステム | |
CN110868440B (zh) | 区块链公链 | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN102170440B (zh) | 适用于存储云间数据安全迁移的方法 | |
CN107682308A (zh) | 基于区块链潜信道技术的电子证据保存系统 | |
CN112650978B (zh) | 基于区块链的侵权检测方法及装置、电子设备 | |
CN111213340A (zh) | 选择用于密码功能的证明委托并使其安全 | |
CN111066047A (zh) | 实现基于区块链的工作流 | |
TW201901482A (zh) | 區塊鏈系統及區塊鏈生成方法 | |
CN104346365A (zh) | 确定与特定业务相关的关联日志的方法和装置 | |
CN110930152B (zh) | 一种基于区块链的数据处理方法及相关设备 | |
CN111782723A (zh) | 一种基于许可链的双层产品信息追溯系统架构 | |
CN110187831B (zh) | 区块链联盟链的区块数据存储系统及方法 | |
CN115701078B (zh) | 跨链交易处理方法、装置、电子设备以及存储介质 | |
Garcia Bringas et al. | BlockChain platforms in financial services: current perspective | |
CN114529415A (zh) | 基于区块链的交易验证方法及装置、电子设备 | |
CN112995167A (zh) | 基于Kafka机制的用电信息采集方法、区块链网络及用户端 | |
CN116015609A (zh) | 业务记录存储方法、装置、计算机设备和存储介质 | |
CN115859374A (zh) | 基于区块链的数据存证方法及装置 | |
CN114547655A (zh) | 区块链的节点入网及装置、电子设备 | |
Li et al. | Post‐Quantum Privacy‐Preserving Provable Data Possession Scheme Based on Smart Contracts | |
CN113468549A (zh) | 基于区块链的加密信息存证的检索方法、系统及电子设备 | |
CN113810185A (zh) | 一种抗陷门泄露的链上数据修复系统及方法 | |
CN111737729A (zh) | 基于业务数据区块链的评价数据存储方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |