CN110276613B - 基于区块链的数据处理装置、方法及计算机可读存储介质 - Google Patents

基于区块链的数据处理装置、方法及计算机可读存储介质 Download PDF

Info

Publication number
CN110276613B
CN110276613B CN201910538908.0A CN201910538908A CN110276613B CN 110276613 B CN110276613 B CN 110276613B CN 201910538908 A CN201910538908 A CN 201910538908A CN 110276613 B CN110276613 B CN 110276613B
Authority
CN
China
Prior art keywords
data
signer
key
transaction
private
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.)
Active
Application number
CN201910538908.0A
Other languages
English (en)
Other versions
CN110276613A (zh
Inventor
吴良顺
蔡恒进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Original Assignee
Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuo Erzhi Lian Wuhan Research Institute Co Ltd filed Critical Zhuo Erzhi Lian Wuhan Research Institute Co Ltd
Priority to CN201910538908.0A priority Critical patent/CN110276613B/zh
Publication of CN110276613A publication Critical patent/CN110276613A/zh
Application granted granted Critical
Publication of CN110276613B publication Critical patent/CN110276613B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3825Use of electronic signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3827Use of message hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management

Abstract

一种基于区块链的数据处理方法,包括:根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文;记录本次对所述隐私数据进行区块生成的时间戳;根据所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值得到新的数据区块;发送所述新的数据区块的签名消息至验证节点进行验证;及当所述验证节点验证通过时,将所述新的数据区块添加至所述签名者在区块链系统发行的通证中;其中,所述通证包括便签字段,所述便签字段记载有该通证所绑定的隐私数据的基本信息。本发明还提供一种基于区块链的数据处理装置及计算机可读存储介质。本发明可实现通过区块链来存储用户的隐私数据,且可实现隐私数据安全存储。

Description

基于区块链的数据处理装置、方法及计算机可读存储介质
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于区块链的数据处理装置、方法及计算机可读存储介质。
背景技术
区块链是一种新型去中心化协议,能安全地存储数字货币交易或其他数据,信息不可伪造和篡改,区块链上的交易确认由区块链上的所有节点共同完成,由共识算法保证其一致性,区块链上维护一个公共的账本,公共账本位于存储区块上任何节点可见,从而保证其不可伪造和篡改。在比特币等加密货币应用中,区块链保存了用户的交易信息,在以太坊等智能合约应用中,区块链保存了用户的智能合约。若用户拥有不愿透漏给别人的隐私数据,现有区块链技术并没有给出如何实现通过区块链技术保存隐私数据,或通过区块链交易来实现隐私数据的所有权转移。
发明内容
有鉴于此,有必要提供一种基于区块链的数据处理装置、方法及计算机可读存储介质,其可实现通过区块链来存储用户的隐私数据,且可实现隐私数据安全存储。
本发明一实施方式提供一种基于区块链的数据处理方法,所述方法包括:根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文;记录本次对所述隐私数据进行区块生成的时间戳;根据所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值得到新的数据区块;发送所述新的数据区块的签名消息至验证节点进行验证;及当所述验证节点验证通过时,将所述新的数据区块添加至所述签名者在区块链系统发行的通证中;其中,所述通证包括便签字段,所述便签字段记载有该通证所绑定的隐私数据的基本信息,以使得所述区块链系统中的其他用户节点基于所述便签字段选择目标交易用户。
优选地,所述根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文的步骤包括:
验证所述签名者的数据密钥是否与预存的所述签名者的初始密钥一致;
若所述签名者的数据密钥与所述初始密钥一致,则根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文;及
若所述签名者的数据密钥与所述初始密钥不一致,则拒绝对所述隐私数据进行加密处理。
优选地,所述根据所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值得到新的数据区块的步骤包括:
对所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值进行哈希运算得到所述新的数据区块。
优选地,所述方法还包括:
将所述新的数据区块链接至所述隐私数据的上一数据区块,以形成数据区块链结构;及
将所述数据区块链结构保存至所述签名者的本地客户端。
优选地,所述根据所述签名者的数据密钥及预设加密算法对所述隐私数据进行加密处理得到数据密文的步骤包括:
当所述隐私数据有更新时,根据所述签名者的数据密钥及预设加密算法对更新后的隐私数据进行加密处理得到所述数据密文。
优选地,所述方法还包括:
利用所述签名者的账户私钥对所述签名者发行的通证进行签名,并生成非对称密钥对
Figure BDA0002101946590000021
其中所述签名者发行的通证中包含有所述隐私数据;
当接收到交易请求方对所述签名者发行的通证的交易请求时,利用所述非对称密钥对的私钥
Figure BDA0002101946590000031
对所述签名者的数据密钥进行加密;
基于加密后的所述签名者的数据密钥及所述交易请求方的标识信息生成交易消息,并计算所述交易消息的消息摘要;
发送所述非对称密钥对的公钥
Figure BDA0002101946590000032
及所述消息摘要至所述交易请求方;
通过所述验证节点接收所述签名者发送的交易消息及所述交易请求方发送的交易币;
基于所述非对称密钥对的公钥
Figure BDA0002101946590000033
验证所述签名者的身份;及
若所述签名者的身份验证通过,则支付所述交易币给所述签名者,及转发所述交易消息至所述交易请求方。
优选地,所述转发所述交易消息至所述交易请求方的步骤之后包括:
当所述交易请求方接收到所述交易消息时,利用所述消息摘要对所述交易消息进行完整性验证,并提取所述签名者的数据密钥;及
变更所述签名者发行的通证的所有权为所述交易请求方,并创建用于对所述隐私数据进行加密的新数据密钥。
优选地,所述基于所述非对称密钥对的公钥
Figure BDA0002101946590000034
验证所述签名者的身份的步骤之后还包括:
若所述签名者的身份验证不通过,则输出交易失败信息,并销毁所述交易消息。
本发明一实施方式提供一种基于区块链的数据处理装置,所述装置包括处理器及存储器,所述存储器上存储有若干计算机程序,所述处理器用于执行存储器中存储的计算机程序时实现上述基于区块链的数据处理方法的步骤。
本发明一实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有多条指令,多条所述指令可被一个或者多个处理器执行,以实现上述的基于区块链的数据处理方法的步骤。
与现有技术相比,上述基于区块链的数据处理装置、方法及计算机可读存储介质,可以使得用户持有的隐私数据的修改历史被完全记录下来,可根据用户需求定时上传更新的加密隐私数据区块至区块链中,实现了隐私数据的安全存储,通过区块链交易机制可实现了隐私数据的安全交易,隐私数据密钥和通证所有权的转移具有互斥性,当接收方收到了正确的密钥,通证的所有权才会最终转移,记账才能完成,且可以防止验证节点做恶,验证节点无法捏造交易消息,也无法提取隐私数据的数据密钥,隐私数据变更所有者后,即使原来的所有者还保留有数据密钥,但由于新的所有者会用新的数据密钥加密该隐私数据,原所有者无法解密。
附图说明
图1是本发明一实施方式的区块链系统的架构示意图。
图2是本发明一实施方式的区块链系统中所交易的通证的结构示意图。
图3是本发明一实施方式的数据处理装置的功能模块图。
图4是本发明一实施方式的数据处理系统的功能模块图。
图5是本发明一实施方式的通证的便签字段包含的数据区块链结构的示意图。
图6是本发明一实施方式的数据处理方法的流程图。
主要元件符号说明
Figure BDA0002101946590000041
Figure BDA0002101946590000051
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
请参阅图1,为本发明区块链系统较佳实施例的架构示意图。
所述区块链系统1包括区块链网络及区块链。所述区块链网络包括多个节点,不同的节点对应不同的区块链参与者。比如节点A、B分别为不同的用户节点,节点C为验证节点。
请同时参阅图2,为本发明区块链系统1所交易的通证的结构示意图。所述通证可以被划分为四个字段,分别是域名字段(Domain)、通证名称字段(Token name)、所有者字段(Owner)及便签字段(Note)。所述域名字段可以记载所述通证的发行领域信息,比如农产品领域。所述通证名称字段可以记载所述通证的名称,所述所有者字段可以记载所述通证的拥有者信息。所述便签字段可以记载有两部分信息,一部分信息可以是以简要的文字介绍该通证的信息,另一部分信息可以是该通证绑定的指定数据区块链结构。
在一实施方式中,其他用户节点可以通过便签字段来了解该通证所绑定的隐私数据的基本信息,进而实现有针对性地选择目标交易对象,得到所需的隐私数据,提高交易效率。举例而言,用户节点A需要某公司B的采购信息,而用户节点B的通证绑定了该公司B的采购信息,并且用户节点B发行的该通证的便签字段记载了该通证绑定了公司B的采购信息,当用户节点A查询到用户节点B发行的通证时,即可通过该通证的便签字段了解到该通证绑定了该公司B的采购信息,此时用户节点A可以向用户节点B发起交易请求,以得到该通证及该通证绑定的公司B的采购信息。
请同时参阅图3,为本发明基于区块链的数据处理装置较佳实施例的示意图。
所述数据处理装置100包括存储器10、处理器20以及存储在所述存储器10中并可在所述处理器20上运行的计算机程序30,例如数据处理程序。所述处理器20执行所述计算机程序30时实现数据处理方法实施例中的步骤,例如图6所示的步骤S600~S610。或者,所述处理器20执行所述计算机程序30时实现数据处理系统实施例中各模块的功能,例如图4中的模块101~105。
所述计算机程序30可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器10中,并由所述处理器20执行,以完成本发明。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述计算机程序30在所述数据处理装置100中的执行过程。例如,所述计算机程序30可以被分割成图4中的加密模块101、记录模块102、运算模块103、发送模块104及添加模块105。各模块具体功能参见下图4中各模块的功能。
本领域技术人员可以理解,所述示意图仅是数据处理装置100的示例,并不构成对数据处理装置100的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述数据处理装置100还可以包括网络接入设备、总线等。
所称处理器20可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器20也可以是任何常规的处理器等,所述处理器20可以利用各种接口和总线连接数据处理装置100的各个部分。
所述存储器10可用于存储所述计算机程序30和/或模块,所述处理器20通过运行或执行存储在所述存储器10内的计算机程序和/或模块,以及调用存储在存储器10内的数据,实现所述数据处理装置100的各种功能。所述存储器10可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart MediaCard,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
图4为本发明数据处理系统较佳实施例的功能模块图。
参阅图4所示,数据处理系统40可以包括加密模块101、记录模块102、运算模块103、发送模块104及添加模块105。在一实施方式中,上述模块可以为存储于所述存储器10中且可被所述处理器20调用执行的可程序化软件指令。可以理解的是,在其他实施方式中,上述模块也可为固化于所述处理器20中的程序指令或固件(firmware)。
所述加密模块101用于根据签名者的数据密钥及预设加密算法对指定数据进行加密处理得到数据密文。
在一实施方式中,假设签名者A拥有一些敏感数据、隐私数据、或者具有商业价值的数据(以下以指定数据指代),比如该指定数据可以是某外贸公司客户的身份信息和采购信息、某食品/饮料的配方信息等。将该签名者A所拥有的指定数据记为pdata,该指定数据可以通过签名者持有的数据密钥EM进行加密得到数据密文,该数据密文可以记为EM(pdata)。
在一实施方式中,所述加密模块101可以根据签名者A输入的数据密钥EM及预设加密算法对该指定数据pdata进行加密处理得到所述数据密文EM(pdata)。所述预设加密算法可以是对称加密算法。
举例而言,所述数据处理系统40可以被封装成动态链接库/静态库形式,以应用程序接口的方式提供给区块链用户使用。当需要对签名者A所持有的指定数据pdata进行加密并添加至区块链时,签名者A只需要输入数据密钥EM及上传该指定数据快照,所述加密模块101即可根据签名者A输入的数据密钥EM及预设加密算法对该指定数据快照进行加密处理得到所述数据密文EM(pdata)。
在一实施方式中,为了确保签名者始终采用相同的数据密钥对指定数据进行加密,所述数据处理系统40会对签名者的初始数据密钥进行哈希运算,并记录该计算得到的哈希值,后续进行每次追加数据区块时,所述数据处理系统40会对数据密钥的哈希值进行比对,如果签名者更改了数据密钥,所述数据处理系统40可自动拒绝本次数据区块的追加,这一密钥比对限制直到通证的所有权发生转移才会解除。
具体地,所述加密模块101可以先验证所述签名者的数据密钥是否与预存的所述签名者的初始密钥一致,若所述签名者的数据密钥与所述初始密钥一致,则所述加密模块101根据签名者的数据密钥及预设加密算法对指定数据进行加密处理得到数据密文,若所述签名者的数据密钥与所述初始密钥不一致,则所述加密模块101不对所述指定数据进行加密处理。
所述记录模块102用于记录本次对所述指定数据进行区块生成的时间戳。
在一实施方式中,所述时间戳可以是利用当前版本的指定数据所生成的新的数据区块的生成时间。
可以理解的是,签名者可以对其持有的指定数据进行更新。为了保证该指定数据的历史操作能正确且唯一的存证,若该指定数据有更新,将会依据每次更新后的指定数据生成新的数据区块。每个数据区块对应一版本的指定数据。每个数据区块可以链接在一起构成数据区块链结构,比如可以将所述新的数据区块链接至所述指定数据的上一数据区块,如图5所示,为所述数据区块链结构较佳实施例的结构图。
在图5中,假设签名者所持有的指定数据进行过四次更新(在本发明的其他实施方式中,更新次数可以多于四次或者少于四次),其中所述第一区块Block0为原始的指定数据而建立的数据区块,所述第二区块Block1为基于第一次更新的指定数据而建立的数据区块,所述第三区块Block2为基于第二次更新的指定数据而建立的数据区块,所述第四区块Block3为基于第三次更新的指定数据而建立的数据区块,所述第五区块Block4为基于第四次更新的指定数据而建立的数据区块。通过图5所示的数据区块链结构可以将签名者所持有的指定数据的修改历史记录下来。
所述运算模块103用于根据所述数据密文、所述时间戳及所述指定数据的上一数据区块的哈希值得到新的数据区块。
在一实施方式中,所述运算模块103可以对所述数据密文、所述时间戳及所述指定数据的上一数据区块的哈希值进行哈希运算得到所述新的数据区块。所述运算模块103在进行哈希运算时,可以将时间戳、加密后的指定数据以及上一个数据区块的哈希值合并到一起,再进行哈希运算之后形成新的数据区块。对于原始的指定数据,由于没有经过更新,不存在上一数据区块,可以将该原始的指定数据的上一数据区块的哈希值记为0。
在一实施方式中,每一数据区块可以通过以下算式表示:Blocki=(Ti,EM(pdatai),Hi-1),其中,Blocki为基于经过i次更新的指定数据建立的数据区块,Ti为生成Blocki的时间戳,pdatai为经过i次更新的指定数据,Hi-1为经过i-1次更新的数据区块的哈希值。可以理解的,pdata0为原始的指定数据(未经过更新)。Blocki的哈希值Hi可以通过以下算式表示:Hi=Hash(Ti,EM(pdatai),Hi-1),所述散列函数计算方法包括但不限于MD5,SHA-256等消息摘要算法。原始的指定数据的数据区块的哈希值H0=Hash(T0,EM(pdata0),0)。
在一实施方式中,由于签名者持有的指定数据的修改可能非常频繁,甚至可能是实时的修改,无需实时将该指定数据的每一次更新添加至区块链中,避免导致该指定数据(元数据)的无数次重复拷贝,占用不必要的资源。可以设定定期上传指定数据的版本的方式实现在区块链中存证。比如,当固定的时间间隔期(例如时间间隔期为24小时,该时间间隔期内所述指定数据发生了多次更新操作)到达的时候,表明需要上传当前版本的指定数据的快照,并通过生成区块的方式,追加到离线数据区块链结构的后面。
在一实施方式中,可以将该指定数据的变动历史通过图5所示的数据区块链结构记录下来,并将所述数据区块链结构保存至所述签名者的本地客户端,该本地客户端保存的数据区块链结构即为离线数据区块链结构,该离线数据区块链结构记录了该指定数据的每一次更新历史。
在一实施方式中,当需要对签名者持有的多个指定数据进行加密时,可以优先加密商业价值更高的指定数据,或者根据预设加密优先规则对优先权更高的指定数据进行优先加密。一指定数据的商业价值高低可以由该指定数据所包含的多个子因素加权计算得到,每个子因素可以具有不同的权重系数,该子因素可以是该指定数据预期可产生的商业价值、该指定数据的通过其他渠道可得知的容易度、该指定数据所属行业的经济环境度等。该预设加密优先规则可以是签名者对多个指定数据进行自定义的优先权顺序,也可以是按照指定数据的大小来设定优先权,较小的指定数据具有较高的优先权,或者较小的指定数据具有较低的优先权。
所述发送模块104用于发送所述新的数据区块的签名消息至验证节点进行验证。
在一实施方式中,当所述运算模块103根据所述数据密文、所述时间戳及所述指定数据的上一数据区块的哈希值得到新的数据区块后,所述发送模块104可以发送所述新的数据区块的签名消息至验证节点进行验证。所述签名信息可以是所述签名者的数字签名。所述验证节点可以用于验证所述新的数据区块是否是由所述签名者产生。
当所述验证节点验证通过时,所述添加模块105用于将所述新的数据区块添加至区块链系统1中。
在一实施方式中,当所述验证节点验证通过时,表明所述验证节点确认所述新的数据区块是由所述签名者产生,所述添加模块105可以将所述新的数据区块添加至区块链系统1中。若所述验证节点验证不通过,则不会将所述新的数据区块添加至区块链系统1中。同时验证节点可以广播该新的数据区块被添加至区块链中的消息,进而区块链中的其他节点可以与该签名者节点完成数据同步。在同一支链中,每个节点都是平等的,没有中心节点,每个节点都保存了该域所有通证的数据库,一旦通证的生产者记账完成,所有节点都会同步,保持数据一致性。同时,通证的信息暴露在主链上,其他支链的用户都可以检索并查询通证的内容。可以理解的,同一支链的用户可以通过查阅本机保存的通证数据库获得通证信息,其他支链的用户可以通过区块链系统通用的查阅工具查询通证信息。
可以理解的是,由于新的数据区块添加至区块链系统1,是将新的数据区块添加至所述签名者在区块链系统1发行的通证中,即当所述验证节点验证通过时,所述添加模块105将所述新的数据区块添加至所述签名者在区块链系统1发行的通证中,当验证节点验证不通过,所述新的数据区块不会被添加至所述签名者在区块链系统1发行的通证中。
在一实施方式中,区块链系统1中的任意两个节点之间可以发起交易。例如,某个用户节点B浏览到签名者A(签名者A也是区块链网络中的一用户节点)所发行的通证,且用户节点B对通证中包含的指定数据感兴趣,那么用户节点B(交易请求方)可以通过与签名者A发起交易得到通证和该通证绑定的指定数据。为保证交易的有效性,用户节点B可以先确认签名者A的手中确实掌握了获得该指定数据明文的数据密钥。也就是说,签名者A得让用户节点B相信自己的确拥有指定数据pdata的数据密钥EM,但是签名者A又不能直接告诉用户节点B数据密钥EM的具体内容。具体验证签名者A是否持有数据密钥EM的过程可以通过零知识证明来实现。零知识证明可以证明的问题表述为:签名者A在不透漏数据密钥EM的情况下,向用户节点B证明自己拥有数据密钥EM
在一实施方式中,验证签名者A是否持有数据密钥EM的零知识证明过程如下:用户节点B生成一随机数k,计算K1=gk(mod n),并将计算结果发送给签名者A,其中g、n为预设的素数,x是Y关于g的离散对数,x为数据密钥EM,Y=gx(mod n);签名者A计算M=gkx(mod n)=K1x(mod n),并将计算结果发送给用户节点B;用户节点B比较Yk(mod n)和M是否相等,如果相等则证明签名者A确实拥有数据密钥EM
对于绑定了该指定数据区块链结构的通证的交易而言,交易既需要改变通证的所有者,还要移交该指定数据pdata的数据密钥Em给新持有者。可以理解的,经交易双方协定,新持有者需要支付一定的交易报酬给原持有者,交易报酬在此不作限定,比如可以是区块链系统1发行的数字货币或者其他形式报酬。签名者A和用户节点B的交易流程可以是如下所示的流程:
D1.利用签名者A的账户私钥对其持有的通证进行数字签名,并生成非对称密钥对
Figure BDA0002101946590000131
其中所述签名者发行的通证中包含有该指定数据的区块链结构;
D2.当接收到交易请求方B对签名者A发行的通证的交易请求时,利用所述非对称密钥对的私钥
Figure BDA0002101946590000132
对签名者A的数据密钥EM进行加密,并基于加密后的所述签名者A的数据密钥EM及交易请求方B的标识信息生成交易消息(Message),并计算所述交易消息的消息摘要D1,该消息摘要D1可以通过以下方式计算得到:D1=MD5(Message);该交易消息可以是:Message=["Sign":SK(UA),"Operation Type":Transfer,"Operation":change owneras B,"Content":
Figure BDA0002101946590000133
(EM)];
D3.签名者A与交易请求方B建立数据通道,签名者A发送所述非对称密钥对的公钥
Figure BDA0002101946590000134
及所述消息摘要D1至交易请求方B;
D4.签名者A发送交易消息给验证节点,交易请求方B发送事先约定的交易报酬给所述验证节点进行托管;
D5.所述验证节点基于所述非对称密钥对的公钥
Figure BDA0002101946590000135
验证所述签名者A的身份;
D6.若所述签名者A的身份验证通过,则所述验证节点将所述报酬转给所述签名者A,及转发所述交易消息至所述交易请求方B;若所述签名者A的身份验证不通过,则可以输出交易失败的提示信息,并销毁所述交易消息,交易报酬可以退还给交易请求方B;
D7.当交易请求方B接收到所述交易消息时,交易请求方B可以利用所述消息摘要D1对所述交易消息进行完整性验证,并提取所述签名者A的数据密钥EM,交易请求方B可以通过
Figure BDA0002101946590000136
得到该指定数据密钥EM
D8.当交易请求方B得到数据密钥EM且完整性验证通过后,变更所述签名者A发行的通证的所有权为交易请求方B,交易请求方B可以创建新的数据密钥E'M,即使原来的所有者A还保留数据密钥EM,但由于新的所有者B会用新的数据密钥E'M加密该指定数据pdata,所以原来的所有者A无法解密最新的指定数据。
在一实施方式中,如果交易请求方B发现自己收到的数据密钥EM是错误的,那么通证的新所有者B可以向区块链系统1发起申诉。验证节点可以负责处理申诉,验证节点可以通过
Figure BDA0002101946590000141
得到数据密钥EM,并进行哈希运算检查确认数据密钥EM是否正确。如果确认数据密钥发送方发送了错误的密钥,可以设定对数据密钥发送方被处以一定酬金的罚款,比如交易报酬的2倍罚款。
在一实施方式中,可以设定交易发起方申请的复核操作需消耗一定的加密货币,支付给负责验证的验证节点作为费用,设定收费验证的服务方式可以有效杜绝攻击者以此消耗系统资源。该指定数据的数据密钥和通证所有权的转移具有互斥性,当接收方收到了正确的数据密钥,通证的所有权才会最终转移,记账才能完成。否则,无论是接收方收到了错误的密钥,或是收到了正确的密钥却谎称其收到的密钥有误,通证的所有权都不会发生转移。再者验证节点收到的Message里,指定数据的数据密钥EM经过非对称密钥对中的私钥
Figure BDA0002101946590000142
加密,验证节点无法提取该数据密钥EM,同时接收方可以通过消息摘要D1验证收到交易消息的正确性,验证节点无法捏造交易消息。
图6为本发明一实施方式中基于区块链的数据处理方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S600,根据签名者的数据密钥及预设加密算法对指定数据进行加密处理得到数据密文。
步骤S602,记录本次对所述指定数据进行区块生成的时间戳。
步骤S604,根据所述数据密文、所述时间戳及所述指定数据的上一数据区块的哈希值得到新的数据区块。
步骤S606,发送所述新的数据区块的签名消息至验证节点进行验证。
步骤S608,当所述验证节点验证通过时,将所述新的数据区块添加至所述签名者在区块链系统1发行的通证中。
步骤S610,当所述验证节点验证不通过时,拒绝将该新的数据区块添加至所述签名者在区块链系统1发行的通证中。
上述基于区块链的数据处理装置、方法及计算机可读存储介质,可以使得用户持有的隐私数据的修改历史被完全记录下来,可根据用户需求定时上传更新的加密隐私数据区块至区块链中,实现了隐私数据的安全存储,通过区块链交易机制可实现了隐私数据的安全交易,隐私数据密钥和通证所有权的转移具有互斥性,当接收方收到了正确的密钥,通证的所有权才会最终转移,记账才能完成,且可以防止验证节点做恶,验证节点无法捏造交易消息,也无法提取隐私数据的数据密钥,隐私数据变更所有者后,即使原来的所有者还保留有数据密钥,但由于新的所有者会用新的数据密钥加密该隐私数据,原所有者无法解密。
对本领域的技术人员来说,可以根据本发明的发明方案和发明构思结合生产的实际需要做出其他相应的改变或调整,而这些改变和调整都应属于本发明所公开的范围。

Claims (10)

1.一种基于区块链的数据处理方法,其特征在于,包括:
根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文;
记录本次对所述隐私数据进行区块生成的时间戳;
根据所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值得到新的数据区块;
发送所述新的数据区块的签名消息至验证节点进行验证;及
当所述验证节点验证通过时,将所述新的数据区块添加至所述签名者在区块链系统发行的通证中;
其中,所述通证包括便签字段,所述便签字段记载有该通证所绑定的隐私数据的基本信息,以使得所述区块链系统中的其他用户节点基于所述便签字段选择目标交易用户。
2.如权利要求1所述的方法,其特征在于,所述根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文的步骤包括:
验证所述签名者的数据密钥是否与预存的所述签名者的初始密钥一致;
若所述签名者的数据密钥与所述初始密钥一致,则根据签名者的数据密钥及预设加密算法对隐私数据进行加密处理得到数据密文;及
若所述签名者的数据密钥与所述初始密钥不一致,则拒绝对所述隐私数据进行加密处理。
3.如权利要求1所述的方法,其特征在于,所述根据所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值得到新的数据区块的步骤包括:
对所述数据密文、所述时间戳及所述隐私数据的上一数据区块的哈希值进行哈希运算得到所述新的数据区块。
4.如权利要求3所述的方法,其特征在于,所述方法还包括:
将所述新的数据区块链接至所述隐私数据的上一数据区块,以形成数据区块链结构;及
将所述数据区块链结构保存至所述签名者的本地客户端。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述隐私数据有更新时,根据所述签名者的数据密钥及预设加密算法对更新后的隐私数据进行加密处理得到所述数据密文。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
利用所述签名者的账户私钥对所述签名者发行的通证进行签名,并生成非对称密钥对
Figure FDA0002318275290000021
其中所述签名者发行的通证中包含有所述隐私数据;
当接收到交易请求方对所述签名者发行的通证的交易请求时,利用所述非对称密钥对的私钥
Figure FDA0002318275290000022
对所述签名者的数据密钥进行加密;
基于加密后的所述签名者的数据密钥及所述交易请求方的标识信息生成交易消息,并计算所述交易消息的消息摘要;
发送所述非对称密钥对的公钥
Figure FDA0002318275290000023
及所述消息摘要至所述交易请求方;
通过所述验证节点接收所述签名者发送的交易消息及所述交易请求方发送的交易币;
基于所述非对称密钥对的公钥
Figure FDA0002318275290000024
验证所述签名者的身份;及
若所述签名者的身份验证通过,则支付所述交易币给所述签名者,及转发所述交易消息至所述交易请求方。
7.如权利要求6所述的方法,其特征在于,所述转发所述交易消息至所述交易请求方的步骤之后包括:
当所述交易请求方接收到所述交易消息时,利用所述消息摘要对所述交易消息进行完整性验证,并提取所述签名者的数据密钥;及
变更所述签名者发行的通证的所有权为所述交易请求方,并创建用于对所述隐私数据进行加密的新数据密钥。
8.如权利要求6所述的方法,其特征在于,所述基于所述非对称密钥对的公钥
Figure FDA0002318275290000031
验证所述签名者的身份的步骤之后还包括:
若所述签名者的身份验证不通过,则输出交易失败信息,并销毁所述交易消息。
9.一种基于区块链的数据处理装置,所述装置包括处理器及存储器,所述存储器上存储有若干计算机程序,其特征在于,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-8任一项所述的基于区块链的数据处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有多条指令,多条所述指令可被一个或者多个处理器执行,以实现如权利要求1-8任一项所述的基于区块链的数据处理方法的步骤。
CN201910538908.0A 2019-06-20 2019-06-20 基于区块链的数据处理装置、方法及计算机可读存储介质 Active CN110276613B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910538908.0A CN110276613B (zh) 2019-06-20 2019-06-20 基于区块链的数据处理装置、方法及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910538908.0A CN110276613B (zh) 2019-06-20 2019-06-20 基于区块链的数据处理装置、方法及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110276613A CN110276613A (zh) 2019-09-24
CN110276613B true CN110276613B (zh) 2020-03-27

Family

ID=67961294

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910538908.0A Active CN110276613B (zh) 2019-06-20 2019-06-20 基于区块链的数据处理装置、方法及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110276613B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110826095B (zh) * 2019-10-22 2021-09-21 中国人民大学 一种区块链数据加密方法及系统
CN110825762A (zh) * 2019-11-14 2020-02-21 北京融易做科技有限公司 数据存储方法、装置及系统
CN112910627B (zh) * 2019-12-03 2023-02-10 华为技术有限公司 密钥的更新方法、数据解密方法、数字签名的验证方法
CN111191284B (zh) * 2019-12-27 2022-04-22 中国司法大数据研究院有限公司 一种基于区块链技术的敏感信息司法存证的处理方法、装置及系统
CN111191212B (zh) * 2019-12-31 2020-12-15 卓尔智联(武汉)研究院有限公司 基于区块链的数字凭证处理方法、装置、设备和存储介质
CN111367999B (zh) * 2020-03-04 2023-05-26 徐皓 区块链方法及系统、电子设备及计算机可读存储介质
CN111090891B (zh) * 2020-03-23 2020-06-19 卓尔智联(武汉)研究院有限公司 一种基于区块链的公证人选取方法及系统
CN111143885B (zh) * 2020-04-02 2020-07-17 支付宝(杭州)信息技术有限公司 区块链交易处理方法及装置和区块链节点
CN111400743B (zh) * 2020-04-07 2023-08-15 百度国际科技(深圳)有限公司 基于区块链网络的事务处理方法、装置、电子设备和介质
CN111445247B (zh) * 2020-04-09 2021-05-28 堡垒科技有限公司 用于防止区块链分叉的方法和设备
CN111507720B (zh) * 2020-04-22 2022-03-11 腾讯科技(深圳)有限公司 基于区块链的数据快照方法、装置及计算机可读存储介质
CN111415165A (zh) * 2020-05-07 2020-07-14 北京思特奇信息技术股份有限公司 基于区块链渠道的酬金管理方法及系统
CN111429122A (zh) * 2020-06-11 2020-07-17 卓尔智联(武汉)研究院有限公司 基于dag区块链的数据验证方法、装置和计算机设备
CN113506104B (zh) * 2021-05-07 2024-03-01 杭州宇链科技有限公司 一种软硬件结合的签名生成、验证方式和系统
CN113449032B (zh) * 2021-06-03 2024-02-09 北京交通大学 一种数据上链可验证的区块链离链数据交互系统及方法
CN113949988B (zh) * 2021-09-29 2024-01-05 卓尔智联(武汉)研究院有限公司 一种位置保护方法和系统,及存储介质
CN114124494B (zh) * 2021-11-12 2023-06-30 中国联合网络通信集团有限公司 一种数据处理方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109272311A (zh) * 2018-09-29 2019-01-25 亚洲数字科技有限公司 一种基于数字钱包的跨链逻辑系统
CN109544162A (zh) * 2018-11-30 2019-03-29 上海浑度商务咨询有限公司 基于区块链的大宗商品通证系统及计算机可读介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106534085B (zh) * 2016-10-25 2019-09-06 杭州云象网络技术有限公司 一种基于区块链技术的隐私保护方法
US11018870B2 (en) * 2017-08-10 2021-05-25 Visa International Service Association Biometric verification process using certification token
CN108389046B (zh) * 2018-02-07 2020-08-28 西安交通大学 一种电子商务中基于区块链技术的隐私保护交易方法
CN109191293B (zh) * 2018-08-09 2023-11-14 苏州纳维时空信息技术有限公司 一种基于智能合约和通证的人工智能服务系统及方法
CN109039652B (zh) * 2018-08-22 2021-04-23 爱刷(北京)科技股份有限公司 一种数字通证的生成及应用方法
CN109360103A (zh) * 2018-12-21 2019-02-19 众安信息技术服务有限公司 基于区块链的资产通证化的证券产品处理方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109272311A (zh) * 2018-09-29 2019-01-25 亚洲数字科技有限公司 一种基于数字钱包的跨链逻辑系统
CN109544162A (zh) * 2018-11-30 2019-03-29 上海浑度商务咨询有限公司 基于区块链的大宗商品通证系统及计算机可读介质

Also Published As

Publication number Publication date
CN110276613A (zh) 2019-09-24

Similar Documents

Publication Publication Date Title
CN110276613B (zh) 基于区块链的数据处理装置、方法及计算机可读存储介质
US10938551B2 (en) System and method for implementing a resolver service for decentralized identifiers
US10708060B2 (en) System and method for blockchain-based notification
CN111566649B (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
CN108781161B (zh) 用于控制和分发数字内容的区块链实现的方法
CN109845220B (zh) 用于提供区块链参与者身份绑定的方法和装置
CN110419053B (zh) 用于信息保护的系统和方法
KR101974060B1 (ko) 분산 해시 테이블과 피어투피어 분산 대장을 사용하여 디지털 자산의 소유권을 검증하기 위한 방법 및 시스템
CN109359974B (zh) 区块链交易方法及装置、电子设备
US20200084027A1 (en) Systems and methods for encryption of data on a blockchain
CN110601816B (zh) 一种区块链系统中轻量级节点控制方法及装置
CN111292041B (zh) 一种电子合同生成方法、装置、设备及存储介质
CN111797159A (zh) 数据库中的信息管理和访问控制
CN111819827A (zh) 用于控制区块链上的资源的访问和完整性的方法和系统
EP3593515B1 (en) Managing housing scores using smart contracts in blockchain networks
WO1997050205A9 (en) Digitally signing agreements from remotely located nodes
CN111226248A (zh) 管理基于区块链的中心化账本系统
US20210035090A1 (en) System and method for secure data delivery
CN110569666A (zh) 一种基于区块链的数据统计的方法及装置
US20160359633A1 (en) System and method for publicly certifying data
CN110597836B (zh) 基于区块链网络的信息查询请求响应方法及装置
CN115203749B (zh) 一种基于区块链的数据交易方法和系统
CN114223175A (zh) 在防止获取或操控时间数据的同时生成网络数据的序列
JP2022532889A (ja) 複数インプットトランザクション
CN111143381B (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
GR01 Patent grant
GR01 Patent grant