CN110096894B - 一种基于区块链的数据匿名共享系统及方法 - Google Patents
一种基于区块链的数据匿名共享系统及方法 Download PDFInfo
- Publication number
- CN110096894B CN110096894B CN201910387909.XA CN201910387909A CN110096894B CN 110096894 B CN110096894 B CN 110096894B CN 201910387909 A CN201910387909 A CN 201910387909A CN 110096894 B CN110096894 B CN 110096894B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- data packet
- class
- nodes
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012546 transfer Methods 0.000 claims abstract description 20
- 230000005540 biological transmission Effects 0.000 claims abstract description 19
- 238000012790 confirmation Methods 0.000 claims description 38
- 238000004422 calculation algorithm Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 238000012937 correction Methods 0.000 claims description 3
- 238000012795 verification Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 6
- 238000011161 development Methods 0.000 description 3
- 238000005336 cracking Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000000586 desensitisation Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
- G06F21/6254—Protecting personal data, e.g. for financial or medical purposes by anonymising data, e.g. decorrelating personal data from the owner's identification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种基于区块链的数据匿名共享系统及方法,涉及计算机技术领域。本发明包括数据需求方和数据共享方;所述数据需求方包括多个B类节点,数据共享方包括多个A类节点;每个节点相互连接且B类节点之间建立区块链;每个节点上运行的程序包括数据传输模块、积分及价值转移系统、审查模块、数据加密API模块;所述B类节点上还包括状态存储模块。该方法可以最大程度保证用户的隐私以及数据的可靠性,同时用户亦可以获得凭证,避免了信息被泄露。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链的数据匿名共享系统及方法。
背景技术
互联网时代下,现有的各种能够收集用户数据的终端设备(例如智能家居网关、智能手机应用程序)上的用户数据通常被厂商以单方面告知并直接传送至云端服务器的形式获取。越来越多的厂商、研究机构需要获取这种数据来挖掘产品服务的价值以及满足研究开发的需求。然而,对用户而言,哪些信息将要被获取以及是否允许获取缺乏控制权以及知情权。而对厂商而言,其亦无法证明自己所获取的用户数据是已被用户授权且不包含用户隐私信息的。大量包含用户个人隐私的数据成为灰色商品在互联网上贩卖的现象愈加严重。这种数据的获取方式尚属于法律的灰色地带,同时也无法形成良性的、持续的数据来源。
区块链的分布式账本技术和加密技术可以通过多方冗余备份提高交易的安全性和可追溯性以及透明性,但其仍存在在链上传输时数据高度透明以及可以通过某些手段追究数据生产者隐私、身份的问题。
发明内容
本发明要解决的技术问题是针对上述现有技术的不足,提供一种基于区块链的数据匿名共享系统及方法,该方法可以最大程度保证用户的隐私以及数据公司获取其希望获得的数据的可靠性,同时用户亦可以获得凭证,避免了公司以及用户的信息被泄露;
为解决上述技术问题,本发明所采取的技术方案是:
一方面,本发明提供一种基于区块链的数据匿名共享系统,包括个B类节点和τ个A类节点,其中τ>3;若当某一个B类节点产生数据需求时则将该节点视为数据需求方,当某一个A类节点有数据需共享时则将该节点视为数据共享方;每个节点都相互连接且B类节点之间建立区块链;每个节点上运行的程序包括数据传输模块、积分及价值转移系统、审查模块和数据加密API模块;所述B类节点上还包括状态存储模块;
所述数据传输模块用于接收或输出节点加密后的数据,将数据输出至数据加密API模块,并接收其数据加密API模块输出的处理后数据,再将该数据输出至数据需求方或者下一个非数据需求方的节点;
所述积分及价值转移系统用于储存、发放、生成以及查看积分,根据数据需求方的要求以区块链的形式将积分转移到其他节点上或者接收其他节点输出的积分;
所述审查模块用于对该系统中所有节点的信任分进行审查,并抛弃未通过审查的不诚信节点;
所述数据加密API模块用于将接收到的数据进行加密或解密,并将处理后的数据输出至数据传输模块;
所述状态存储模块用于保存B类节点上的状态信息记录,并将信息储存在区块链之中,用于在需要的时候进行核验以及错误纠察。
另一方面,本发明提供一种基于区块链的数据匿名共享方法,通过所述的一种基于区块链的数据匿名共享系统实现,包括如下步骤:
步骤1:初始化节点;所述节点包括A类节点和B类节点;
步骤1.1:将A类节点进行初始化;
步骤1.1.1:在终端设备安装系统程序;
步骤1.1.2:设备产生一个RSA公私钥对,按照系统中预先储存的B类节点IP地址表轮询每个B类节点,与每一个B类节点建立连接并注册,产生一个随机的BASE64编码的账户地址;此处所述的注册过程如下:
每个B类节点将新的A类节点的IP地址、设备的UUID以及所述设备的RSA公钥添加到自己的数据库中,并向新的A类节点返回一个确认数据包,注册成功;在注册完成后,B类节点将默认接受该新设备向其发出的数据包;所述设备会将步骤1.1.2中产生的RSA公钥使用SHA-256算法生成一个字符串,并使用这个字符串的前五位作为指纹拼接在该字符串之前形成新的字符串,该新字符串即为自己的账户地址,用于区块链转账;
步骤1.1.3:该终端设备将通过自身传感器组件收集数据,进入等待共享数据状态;
步骤1.2:将B类节点进行初始化;
步骤1.2.1:每个B类节点都事先将自身的公网IP地址提交至一个公开的B类节点IP地址列表之中,并下载完整的IP地址列表;
步骤1.2.2:每一个B类节点按照所述IP地址列表轮询访问余下其他B类节点以建立连接和注册;
步骤1.2.3:每一个B类节点都调用其自身的积分及价值转移系统签署K个积分,K为正整数;并将这些积分均匀转移至余下所有的B类节点;B类节点进入正常工作状态;
步骤2:某一B类节点产生获取数据的需求,成为数据需求方,数据需求方输出的数据是含有特定代码以及随机产生的一个RSA公私钥对的公钥数据包;
步骤4:数据共享方将会收集自身所需要共享的数据,将需要共享的数据通过数据加密API模块进行加密形成共享数据包,所述共享数据包内包括数据共享方产生的RSA公钥和根据数据需求方提供的RSA公钥进行加密的需要共享的数据、随机暗号、RSA公钥、RSA公私钥的数字签名,将共享数据包随机传输给e个且不包括数据需求方的B类节点,其中
步骤5:接收到共享数据包的B类节点bi首先产生一个RSA公私钥对并将私钥保存,其中i代表接收数据包的B类节点编号,用该公钥加密上一个节点的敏感信息得到一个加密包,将该加密包保存到路经节点信息加密包中,将路经节点信息加密包附带在共享数据包中,产生加密共享数据包;该节点在余下所有B类节点中随机选取一个B类节点,将加密共享数据包传输给所选的节点;所述敏感信息包括B类节点bi以及数据共享方的IP地址和MAC地址;
步骤6:B类节点bi会将当前时刻的状态信息记录保存在自身的状态存储模块的新区块之中;同时该状态信息记录将被广播至其他所有的B类节点上,收到该状态信息的节点会将信息储存在其状态存储模块的新区块之中;所述状态信息包括时间戳和操作记录;
步骤7:判断收到加密共享数据包的是否为数据需求方;若是则进入步骤8,否则将i自加1并重复步骤5至步骤6;
步骤8:数据需求方收到加密共享数据包后检查其有效性;检查有效性为将数据包解密并检查数字签名是否有效,若有效则执行步骤9,否则将收到的加密共享数据包丢弃;
步骤9:数据需求方确认数据包真实有效,会产生一个带有确认信号以及路经节点信息加密包列表的确认信号数据包,并将确认信号数据包按照加密共享数据包的传输路径原路返回至数据共享方;所述路经节点信息加密包列表为按照加密共享数据包的传输路径形成的列表;
传输方式为:收到确认信号数据包的节点将会查看数据包中路经节点信息加密包列表,并弹出列表的最后一个元素,当列表的原长度不为1时,该元素即为需要传输的下一个B类节点bj,其中j为B类节点编号,将该节点用其自身的RSA私钥进行解密,进而得到该节点的敏感信息,并将确认信号数据包传输至该节点;同时该节点会将当前时刻的状态信息记录保存在状态存储模块的新区块之中,且该状态信息记录将被广播至其他所有的B类节点,收到该状态信息的节点会将信息储存在自己的状态存储模块的新区块之中;当列表长度为1时,列表中的元素即为数据共享方,同时记作该B类节点为“最后路经节点”;判断当前节点是否为最后路经节点,若是则进入步骤10,否则重复本步骤;
步骤10:数据共享方收到传输回来的确认信号数据包,并等待最后路经节点将积分转入数据共享方的账户;
步骤11:数据共享方在确认收到积分后,将会发送再次通过L个非数据需求方的B类节点将一个带有随机暗号的明文确认数据包发送给数据需求方,以便做最后的确认;其中L为大于等于3的正整数;
步骤12:所述数据需求方收到步骤11中所述的明文确认数据包,并检验有效性,若有效则需求方将最后的状态信息记录保存在状态存储模块的新区块之中,同时该状态信息记录将被广播至其他所有的B类节点,收到该状态信息的节点会将信息储存在其状态存储模块的新区块之中,若无效且发现数据包中包括非法或伪造内容,则调用审查模块进行审查。
所述步骤6的具体步骤如下:
步骤6.1:B类节点bi上状态存储模块收集详细的状态信息,操作记录包括其他节点向该节点下发的指令,完成操作所产生的RSA密钥的公钥、时间戳以及该节点产生的数字签名;
步骤6.2:该节点的状态存储模块将上述详细记录保存在自身产生的新区块之中,同时该记录将被按照预存储的B类节点IP地址表中的IP地址轮询提交至余下所有B类节点;
步骤6.3:接收到bi状态信息的B类节点通过状态存储模块收到记录后根据其携带的数字签名检查其数字签名是否有效,若数字签名无效则将其丢弃,若数字签名有效则添加到自身的区块之中。
所述步骤10的具体步骤如下:
步骤10.1:最后路经节点将数据需求方预先储存于自身账户之上的积分进行检查,确认自身储存的数据共享方签署的积分数量大于等于需要转移给数据共享方的积分数;若积分小于需要转移给数据共享方的积分数则该节点需向数据需求方请求开具余下积分;
步骤10.2:最后路经节点产生一条销毁原有等值积分的记录,并产生一个属于数据共享方的积分纪录,使用最后路经节点的RSA公私钥进行签名,将上述信息打包成积分数据包;
步骤10.3:最后路经节点将积分数据包添加至自己的新区块之中,并将该数据包按照预存储的B类节点IP地址表中的IP地址轮询提交给余下所有的B类节点;
步骤10.4:收到积分数据包的最后路经节点通过积分及价值转移系统核实积分数据包的有效性,若有效则将该数据包中的记录添加至自己产生的新区块之中;若发现记录无效,则调用自身审查模块开始对最后路经节点进行审查。
所述步骤10.4中的审查过程具体步骤如下:
步骤10.4.1:收到积分数据包的最后路经节点会检查积分数据包中数字签名的有效性,若无效,则开始调用审查模块纠察出发送数据包的B类节点的IP地址,确认该节点IP地址是否与原有IP地址表中该节点的IP地址相对应;若对应,进行步骤10.4.2;若不对应,进行步骤10.4.3;若有效则将该数据包中的记录添加至自己产生的新区块之中
步骤10.4.2:该节点将该数据包丢弃,不再做进一步处理;
步骤10.4.3:审查模块继续查找IP地址所对应的真实的B类节点,若上述IP地址能够找到对应的B类节点,则扣取发送错误数据包节点的信任分,并生成一个扣取信任分的信号,并将所述信号添加进最后路经节点自身的新区块之中,但不广播该信号;若上述IP地址不对应任何一个B类节点,则将该数据包丢弃,不做进一步的处理;
步骤10.4.4:若该节点的信任分被扣完,则该节点将会被动退出区块链网络,若需要再次进入网络则需要重新注册。
所述步骤12中的审查过程具体步骤如下:
步骤12.1:数据需求方接收到l个确认信号数据包,其中l∈L;审查模块将对比每个确认数据包中携带的随机暗号是否相同,若出现有不相同的情况则以相同重复次数最多的样本为真实样本,并纠察发出错误数据包的节点;
步骤12.2:节点程序中的审查模块将会扣取发送错误数据包节点的信任分,并生成一个扣取信任分的信号;
步骤12.3:所述节点将所述信号添加进自身的新区块之中,并向余下的所有B类节点广播这个信号。
基于区块链的数据匿名共享方法所依附的基于区块链的数据匿名共享系统中所述区块链增加节点的方法为:
按照人为设定的时间间隔,每一个B类节点会将自身的新区块打包,并在区块链中寻找一个随机数,使得该B类节点的新区块拼接上该随机数的字符串使用SHA256哈希函数加密后的哈希值小于人为设定的自然数N,则该随机数为有效,最先找到有效随机数的B类节点会将自身的新区块连同该随机数一起打包,并广播给其他的B类节点;当其他B类节点收到该新区块之后将会检查区块合法性,若认证通过,将会将该区块添加到收到新区块的B类节点所储存的区块链的末尾;若认证不通过,则将区块丢弃,并继续寻找一个所述随机数,直到找到符合要求随机数并将区块广播或接收到合法的新区块为止;所述自然数N被设置为使得一定时间内有且仅有一个节点能够将其找到;
所述B类节点检查区块合法性的具体步骤如下:
步骤a:检查所述产生新区块的B类节点附带在新区块中的数字签名,若有效则进行步骤b,若无效,则认证不通过;
步骤b:使用产生新区块的B类节点附带在新区块中所找到的有效的随机数的数值拼接上新区块的余下部分,进行SHA256哈希计算,验证哈希函数值是否小于自然数N,若小于,则认证通过,否则认证不通过。
采用上述技术方案所产生的有益效果在于:本发明提供的一种基于区块链的数据匿名共享系统及方法,该方法利用区块链构建数据库,将所有数据储存在每一个B类节点之上,冗余备份并不可篡改,无需信任一个第三方数据库,数据记录了当前区块链的完整状态并向全网公开,任何人都可以对其进行审查,保证系统良性运行。本发明提供的方法以及系统可以广泛部署在任何厂商需要获取用户终端设备数据的场景(例如智能家居设备、智能穿戴设备以及智能手机APP等场景)中,在智能家居的实例中,该发明通过有效保证用户匿名安全将自己的脱敏数据共享给厂商,不需担心厂商使用数据跟踪用户从而侵犯用户合法权益;同时,分布式信任确保厂商所获取的数据的真实性。本发明允许数据共享方在共享自己数据之后获取积分凭证,并有效保证在出示积分的同时任意一方无法追溯到出示的积分对应哪一笔数据,该效果可以在数据需求方给予积分一定价值之后激励数据共享方共享自己的数据。在智能家居场景的实例中,用户向厂商共享自己的脱敏数据,并获得积分凭证,厂商可以让用户用积分兑换礼品从而激励用户共享自己的数据。所述方法可以最大程度保证用户的隐私以及数据公司获取其希望获得的数据的可靠性,同时用户亦可以获得凭证,避免了公司以及用户的信息被泄露。
附图说明
图1为本发明实施例提供的基于区块链的数据匿名共享系统框图;
图2为本发明实施例提供的基于区块链的数据匿名共享方法流程图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
本发明在开发阶段,开发人员将按照上述描述的系统的功能、原理、机制进行开发、测试以及发布程序。所使用的开发环境为Linux,开发语言为C语言、Python。对于编写完的项目,将最终使用C语言进行统筹,使用cmake的方式封装整个程序。
在部署阶段,该系统将部署在任何属于这个网络的节点之上,它们分为A类节点以及B类节点,A类节点部署A类程序,B类节点部署B类程序。部署的方式是:在B类节点上,程序使用使用cmake的方式进行编译安装;在A类节点上,程序通过串口烧录在硬件设备之上。在B类节点初始化阶段,会自动向邻近节点同步区块链并产生积分进行交换;在A类节点的初始化阶段,会自动找到所有的B类节点并与之建立连接。
本实施例的方法如下所述。
一方面,本发明提供一种基于区块链的数据匿名共享系统,包括个B类节点(即厂商的云服务器)和τ个A类节点(即用户的可收集数据的终端设备),其中τ>3;若当某一B类节点产生数据需求时则将该节点视为数据需求方,当某一A类节点有数据需共享时则将该节点视为数据共享方;每个节点(包括A、B类节点)都相互连接且B类节点之间建立区块链;每个节点(包括A、B类节点)上运行的程序包括数据传输模块、积分及价值转移系统、审查模块和数据加密API模块;所述B类节点上还包括状态存储模块;如图1所示;
所述数据传输模块用于接收或输出节点加密后的数据,将数据输出至数据加密API模块,并接收其数据加密API模块输出的处理后数据,再将该数据输出至数据需求方或者下一个非数据需求方的节点;
所述数据加密API模块中包括的若干加密算法,包括:RSA公私钥生成以及加解密算法;SHA-256HASH算法;RIPEMD-160HASH算法;RSA公私钥签名算法;BASE64加密算法;
所述积分及价值转移系统用于储存、发放、生成以及查看积分,根据数据需求方的要求以区块链的形式将积分转移到其他节点上或者接收其他节点输出的积分;
所述审查模块用于对该系统中所有节点的信任分进行审查,并抛弃未通过审查的不诚信节点;
所述数据加密API模块用于将接收到的数据进行加密或解密,并将处理后的数据输出至数据传输模块,该模块以C语言封装成的动态链接库的形式被调用;
所述状态存储模块用于保存B类节点上的状态信息记录,并将信息储存在区块链之中,用于在需要的时候进行核验以及错误纠察。
另一方面,本发明提供一种基于区块链的数据匿名共享方法,通过所述的一种基于区块链的数据匿名共享系统实现,如图2所示,包括如下步骤:
步骤1:初始化节点;所述节点包括A类节点和B类节点;
步骤1.1:将A类节点进行初始化;
步骤1.1.1:在终端设备安装系统程序;
步骤1.1.2:设备产生一个RSA公私钥对,按照系统中预先储存的B类节点IP地址表轮询每个B类节点,与每一个B类节点建立连接并注册,产生一个随机的BASE64编码的账户地址;此处所述的注册过程如下:
每个B类节点将新的A类节点的IP地址、设备的UUID以及所述设备的RSA公钥添加到自己的数据库中,并向新的A类节点返回一个确认数据包,注册成功;在注册完成后,B类节点将默认接受该新设备向其发出的数据包;所述设备会将步骤1.1.2中产生的RSA公钥使用SHA-256算法生成一个字符串,并使用这个字符串的前五位作为指纹拼接在该字符串之前形成新的字符串,该新字符串即为自己的账户地址,用于区块链转账;
步骤1.1.3:该终端设备将通过自身传感器组件收集数据,进入等待共享数据状态;
步骤1.2:将B类节点进行初始化;
步骤1.2.1:每个B类节点都事先将自身的公网IP地址提交至一个公开的B类节点IP地址列表之中,并下载完整的IP地址列表;
步骤1.2.2:每一个B类节点按照所述IP地址列表轮询访问余下其他B类节点以建立连接和注册;
步骤1.2.3:每一个B类节点都调用其自身的积分及价值转移系统签署K个积分,K为正整数;并将这些积分均匀转移至余下所有的B类节点;B类节点进入正常工作状态;
积分是B类节点签署的一段脚本。每一个B类节点在加入整个区块链的时候将会产生一定数额的积分,并将自己的积分在积分产生之初与其他的B类节点等额交换,最终达到的效果是每一个B类节点都持有其他的所有B类节点开具的积分;所述积分等额交换方法是:新加入的B类节点签署个积分,其中为原有的B类节点个数,C为发放给每个原有B类节点的积分的数量,新加入的B类节点向每个原有节点分别发送C个积分,发送的方法是将积分个数附带上积分目标账户的地址打包成一段脚本,保存至自身的区块链之中,并将同样的积分发送至所有原有B类节点。与此同时,原有的B类节点也签署C个积分,附带上新加入的B类节点的账户地址打包成一个脚本,并将该脚本添加到自身的区块链之上以及发送至所有余下所有的B类节点上。
步骤2:某一B类节点产生获取数据的需求,成为数据需求方,数据需求方输出的数据是含有特定代码以及随机产生的一个RSA公私钥对的公钥数据包;
数据需求方产生一个RSA公私钥对,使用公钥进行SHA-256加密后再使用RIPEMD160加密,得到一个字符串。将该字符串最后四位取出作为检查字符串,拼接到该字符串的后面。在整个拼接完成的的码前面补足0使得该字符串长度为24的倍数。最后使用base64编码加密该组合字符串,得到的即为数据需求方的账户地址(BASE64_ADDRESS)。
步骤4:数据共享方将会收集自身所需要共享的数据,将需要共享的数据通过数据加密API模块进行加密形成共享数据包,所述共享数据包内包括数据共享方产生的RSA公钥和根据数据需求方提供的RSA公钥进行加密的需要共享的数据、随机暗号(0-32768之间的随机整数)、RSA公钥、RSA公私钥的数字签名,将共享数据包随机传输给e个且不包括数据需求方的B类节点,其中
步骤5:接收到共享数据包的B类节点bi首先产生一个RSA公私钥对并将私钥保存,其中i代表接收数据包的B类节点编号,用该公钥加密上一个节点的敏感信息得到一个加密包,将该加密包保存到路经节点信息加密包中,将路经节点信息加密包附带在共享数据包中,产生加密共享数据包;该节点在余下所有B类节点中随机选取一个B类节点,将加密共享数据包传输给所选的节点;所述敏感信息包括B类节点bi以及数据共享方的IP地址和MAC地址;假如该节点的上一个节点是数据共享方则记下自己是第一个路经节点。
步骤6:B类节点bi会将当前时刻的状态信息记录保存在自身的状态存储模块的新区块之中;同时该状态信息记录将被广播至其他所有的B类节点上,收到该状态信息的节点会将信息储存在其状态存储模块的新区块之中;所述状态信息包括时间戳和操作记录;具体步骤如下:
步骤6.1:B类节点bi上状态存储模块收集详细的状态信息,操作记录包括其他节点向该节点下发的指令,完成操作所产生的RSA密钥的公钥、时间戳以及该节点产生的数字签名;
步骤6.2:该节点的状态存储模块将上述详细记录保存在自身产生的新区块之中,同时该记录将被按照预存储的B类节点IP地址表中的IP地址轮询提交至余下所有B类节点;
步骤6.3:接收到bi状态信息的B类节点通过状态存储模块收到记录后根据其携带的数字签名检查其数字签名是否有效,若数字签名无效则将其丢弃,若数字签名有效则添加到自身的区块之中。
步骤7:判断收到加密共享数据包的是否为数据需求方;若是则进入步骤8,否则将i自加1并重复步骤5至步骤6;
步骤8:数据需求方收到加密共享数据包后检查其有效性;检查有效性为将数据包解密并检查数字签名是否有效,若有效则执行步骤9,否则将收到的加密共享数据包丢弃;
步骤9:数据需求方确认数据包真实有效,会产生一个带有确认信号以及路经节点信息加密包列表的确认信号数据包,并将确认信号数据包按照加密共享数据包的传输路径原路返回至数据共享方;所述路经节点信息加密包列表为按照加密共享数据包的传输路径形成的列表;
传输方式为:收到确认信号数据包的节点将会查看数据包中路经节点信息加密包列表,并弹出列表的最后一个元素,当列表的原长度不为1时,该元素即为需要传输的下一个B类节点bj,其中j为B类节点编号,将该节点用其自身的RSA私钥进行解密,进而得到该节点的敏感信息,并将确认信号数据包传输至该节点;同时该节点会将当前时刻的状态信息记录保存在状态存储模块的新区块之中,且该状态信息记录将被广播至其他所有的B类节点,收到该状态信息的节点会将信息储存在自己的状态存储模块的新区块之中;当列表长度为1时,列表中的元素即为数据共享方,同时记作该B类节点为“最后路经节点”;判断当前节点是否为最后路经节点,若是则进入步骤10,否则重复本步骤;
步骤10:数据共享方收到传输回来的确认信号数据包,并等待最后路经节点将积分转入数据共享方的账户;积分的本质是一段代表积分的JSON格式字符串脚本,而积分转移的本质则是同一个积分(积分全局唯一编号相同的积分)的归属账户的变更;具体步骤如下:
步骤10.1:最后路经节点将数据需求方预先储存于自身账户之上的积分进行检查,确认自身储存的数据共享方签署的积分数量大于等于需要转移给数据共享方的积分数;若积分小于需要转移给数据共享方的积分数则该节点需向数据需求方请求开具余下积分;
步骤10.2:最后路经节点产生一条销毁原有等值积分的记录,并产生一个属于数据共享方的积分纪录,使用最后路经节点的RSA公私钥进行签名,将上述信息打包成积分数据包。
步骤10.3:最后路经节点将积分数据包添加至自己的新区块之中,并将该数据包按照预存储的B类节点IP地址表中的IP地址轮询提交给余下所有的B类节点;
步骤10.4:收到积分数据包的最后路经节点通过积分及价值转移系统核实积分数据包的有效性,若有效则将该数据包中的记录添加至自己产生的新区块之中。若发现记录无效,则调用自身审查模块开始对最后路经节点进行审查。所述审查过程的具体步骤如下:
步骤10.4.1:收到积分数据包的最后路经节点会检查积分数据包中数字签名的有效性,若无效,则开始调用审查模块纠察出发送数据包的B类节点的IP地址,确认该节点IP地址是否与原有IP地址表中该节点的IP地址相对应。若对应,进行步骤10.4.2;若不对应,进行步骤10.4.3;若有效则将该数据包中的记录添加至自己产生的新区块之中
步骤10.4.2:该节点将该数据包丢弃,不再做进一步处理;
步骤10.4.3:审查模块继续查找IP地址所对应的真实的B类节点,若上述IP地址能够找到对应的B类节点,则扣取发送错误数据包节点的信任分,并生成一个扣取信任分的信号,并将所述信号添加进最后路经节点自身的新区块之中,但不广播该信号;若上述IP地址不对应任何一个B类节点,则将该数据包丢弃,不做进一步的处理。
步骤10.4.4:若该节点的信任分被扣完,则该节点将会被动退出区块链网络,若需要再次进入网络则需要重新注册;
每一个节点的信任分在加入该系统之初即存在,只允许向下扣而不会增加。当节点出现一切不诚实行为时,将会被扣取信任分。当信任分为0时,所有的节点将默认抛弃这个节点,断开与其的连接。
步骤11:数据共享方在确认收到积分后,将会发送再次通过L个非数据需求方的B类节点将一个带有随机暗号的明文确认数据包发送给数据需求方,以便做最后的确认;其中L为大于等于3的正整数;
步骤12:所述数据需求方收到步骤11中所述的明文确认数据包,并检验有效性,若有效则需求方将最后的状态信息记录(时间戳以及操作记录)保存在状态存储模块的新区块之中,同时该状态信息记录将被广播至其他所有的B类节点,收到该状态信息的节点会将信息储存在其状态存储模块的新区块之中,若无效且发现数据包中包括非法或伪造内容,则调用审查模块进行审查。所述审查过程的具体步骤如下:
步骤12.1:数据需求方接收到l个确认信号数据包,其中l∈L;审查模块将对比每个确认数据包中携带的随机暗号是否相同,若出现有不相同的情况则以相同重复次数最多的样本为真实样本,并纠察发出错误数据包的节点。
步骤12.2:节点程序中的审查模块将会扣取发送错误数据包节点的信任分,并生成一个扣取信任分的信号。
步骤12.3:所述节点将所述信号添加进自身的新区块之中,并向余下的所有B类节点广播这个信号。
基于区块链的数据匿名共享方法所依附的基于区块链的数据匿名共享系统中所述区块链增加节点的方法为:
按照人为设定的时间间隔,每一个B类节点会将自身的新区块打包,并在区块链中寻找一个随机数,使得该B类节点的新区块拼接上该随机数的字符串使用SHA256哈希函数加密后的哈希值小于人为设定的自然数N,则该随机数为有效,最先找到有效随机数的B类节点会将自身的新区块连同该随机数一起打包,并广播给其他的B类节点;当其他B类节点收到该新区块之后将会检查区块合法性,若认证通过,将会将该区块添加到收到新区块的B类节点所储存的区块链的末尾。若认证不通过,则将区块丢弃,并继续寻找一个所述随机数,直到找到符合要求随机数并将区块广播或接收到合法的新区块为止;所述自然数N被设置为使得一定时间内有且仅有一个节点能够将其找到;
所述B类节点检查区块合法性的具体步骤如下:
步骤a:检查所述产生新区块的B类节点附带在新区块中的数字签名,若有效则进行步骤b,若无效,则认证不通过;
步骤b:使用产生新区块的B类节点附带在新区块中所找到的有效的随机数的数值拼接上新区块的余下部分,进行SHA256哈希计算,验证哈希函数值是否小于自然数N,若小于,则认证通过,否则认证不通过。
新区块的数据结构分为三个部分:区块头、区块体、区块尾;
区块头存储当前区块的数据时间戳、区块高度、产生区块的节点ID,上一个区块的哈希以及当前区块的哈希值,哈希算法为SHA-256。
区块体包含四个列表:最新时间段积分的变更信息、最新时间段作废积分的列表、每一个节点在最新时间段的信任分列表、所有节点在该时间段的发生所有的信息事件的列表。
区块尾默认为None,可以记录一些额外的信息。
计算区块哈希的方式时采用梅克尔树(Merkle Tree)的形式,即将每个信息两两组合算出新的哈希值,并将新的哈希值再两两组合直到最后算出根节点的哈希值,以此得到整个区块的哈希值;
每一个节点都会各自产生自己的新区块,并暴力破解得到一个NONCE值,该NONCE值为一个随机数,暴力破解过程为穷举,使得NONCE值拼接上新的区块之后所计算的哈希值小于一个整数(N<2^256),N值的大小由全网算力决定,控制在全网每间隔几分钟都会产生一个新的区块。当得到这个NONCE之后,意味着一个符合要求的区块即生成;此后,该节点会将区块广播(通过HTTP的POST请求轮询访问)给其他的节点,此时会有两种情况,一、在该时刻,没有其他节点同时算出新的区块,则所有节点将该区块验证后添加到自己的区块链主链末尾。二、在该时刻,有至少两个节点广播了自己的区块,则所有节点则按照收到的区块的顺序进行检验并将第一块合法区块添加到自己的区块链主链的末尾。在全网确认了新区块之后,所有节点开始产生下一块区块。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。
Claims (7)
1.一种基于区块链的数据匿名共享系统,包括个B类节点和τ个A类节点,其中τ>3;若当某一个B类节点产生数据需求时则将该节点视为数据需求方,当某一个A类节点有数据需共享时则将该节点视为数据共享方;每个节点都相互连接且B类节点之间建立区块链;其特征在于:每个节点上运行的程序包括数据传输模块、积分及价值转移系统、审查模块和数据加密API模块;所述B类节点上还包括状态存储模块;
所述数据传输模块用于接收或输出节点加密后的数据,将数据输出至数据加密API模块,并接收其数据加密API模块输出的处理后数据,再将该数据输出至数据需求方或者下一个非数据需求方的节点;
所述积分及价值转移系统用于储存、发放、生成以及查看积分,根据数据需求方的要求以区块链的形式将积分转移到其他节点上或者接收其他节点输出的积分;
所述审查模块用于对该系统中所有节点的信任分进行审查,并抛弃未通过审查的不诚信节点;
所述数据加密API模块用于将接收到的数据进行加密或解密,并将处理后的数据输出至数据传输模块;
所述状态存储模块用于保存B类节点上的状态信息记录,并将信息储存在区块链之中,用于在需要的时候进行核验以及错误纠察。
2.一种基于区块链的数据匿名共享方法,通过权利要求1所述的一种基于区块链的数据匿名共享系统实现,包括如下步骤:
步骤1:初始化节点;所述节点包括A类节点和B类节点;
步骤1.1:将A类节点进行初始化;
步骤1.1.1:在终端设备安装系统程序;
步骤1.1.2:设备产生一个RSA公私钥对,按照系统中预先储存的B类节点IP地址表轮询每个B类节点,与每一个B类节点建立连接并注册,产生一个随机的BASE64编码的账户地址;此处所述的注册过程如下:
每个B类节点将新的A类节点的IP地址、设备的UUID以及所述设备的RSA公钥添加到自己的数据库中,并向新的A类节点返回一个确认数据包,注册成功;在注册完成后,B类节点将默认接受该新设备向其发出的数据包;所述设备会将步骤1.1.2中产生的RSA公钥使用SHA-256算法生成一个字符串,并使用这个字符串的前五位作为指纹拼接在该字符串之前形成新的字符串,该新字符串即为自己的账户地址,用于区块链转账;
步骤1.1.3:该终端设备将通过自身传感器组件收集数据,进入等待共享数据状态;
步骤1.2:将B类节点进行初始化;
步骤1.2.1:每个B类节点都事先将自身的公网IP地址提交至一个公开的B类节点IP地址列表之中,并下载完整的IP地址列表;
步骤1.2.2:每一个B类节点按照所述IP地址列表轮询访问余下其他B类节点以建立连接和注册;
步骤1.2.3:每一个B类节点都调用其自身的积分及价值转移系统签署K个积分,K为正整数;并将这些积分均匀转移至余下所有的B类节点;B类节点进入正常工作状态;
步骤2:某一B类节点产生获取数据的需求,成为数据需求方,数据需求方输出的数据是含有特定代码以及随机产生的一个RSA公私钥对的公钥数据包;
步骤4:数据共享方将会收集自身所需要共享的数据,将需要共享的数据通过数据加密API模块进行加密形成共享数据包,所述共享数据包内包括数据共享方产生的RSA公钥和根据数据需求方提供的RSA公钥进行加密的需要共享的数据、随机暗号、RSA公钥、RSA公私钥的数字签名,将共享数据包随机传输给e个且不包括数据需求方的B类节点,其中
步骤5:接收到共享数据包的B类节点bi首先产生一个RSA公私钥对并将私钥保存,其中i代表接收数据包的B类节点编号,用该公钥加密上一个节点的敏感信息得到一个加密包,将该加密包保存到路经节点信息加密包中,将路经节点信息加密包附带在共享数据包中,产生加密共享数据包;该节点在余下所有B类节点中随机选取一个B类节点,将加密共享数据包传输给所选的节点;所述敏感信息包括B类节点bi以及数据共享方的IP地址和MAC地址;
步骤6:B类节点bi会将当前时刻的状态信息记录保存在自身的状态存储模块的新区块之中;同时该状态信息记录将被广播至其他所有的B类节点上,收到该状态信息的节点会将信息储存在其状态存储模块的新区块之中;所述状态信息包括时间戳和操作记录;
步骤7:判断收到加密共享数据包的是否为数据需求方;若是则进入步骤8,否则将i自加1并重复步骤5至步骤6;
步骤8:数据需求方收到加密共享数据包后检查其有效性;检查有效性为将数据包解密并检查数字签名是否有效,若有效则执行步骤9,否则将收到的加密共享数据包丢弃;
步骤9:数据需求方确认数据包真实有效,会产生一个带有确认信号以及路经节点信息加密包列表的确认信号数据包,并将确认信号数据包按照加密共享数据包的传输路径原路返回至数据共享方;所述路经节点信息加密包列表为按照加密共享数据包的传输路径形成的列表;
传输方式为:收到确认信号数据包的节点将会查看数据包中路经节点信息加密包列表,并弹出列表的最后一个元素,当列表的原长度不为1时,该元素即为需要传输的下一个B类节点bj,其中j为B类节点编号,将该节点用其自身的RSA私钥进行解密,进而得到该节点的敏感信息,并将确认信号数据包传输至该节点;同时该节点会将当前时刻的状态信息记录保存在状态存储模块的新区块之中,且该状态信息记录将被广播至其他所有的B类节点,收到该状态信息的节点会将信息储存在自己的状态存储模块的新区块之中;当列表长度为1时,列表中的元素即为数据共享方,同时记作该B类节点为“最后路经节点”;判断当前节点是否为最后路经节点,若是则进入步骤10,否则重复本步骤;
步骤10:数据共享方收到传输回来的确认信号数据包,并等待最后路经节点将积分转入数据共享方的账户;
步骤11:数据共享方在确认收到积分后,将会发送再次通过L个非数据需求方的B类节点将一个带有随机暗号的明文确认数据包发送给数据需求方,以便做最后的确认;其中L为大于等于3的正整数;
步骤12:所述数据需求方收到步骤11中所述的明文确认数据包,并检验有效性,若有效则需求方将最后的状态信息记录保存在状态存储模块的新区块之中,同时该状态信息记录将被广播至其他所有的B类节点,收到该状态信息的节点会将信息储存在其状态存储模块的新区块之中,若无效且发现数据包中包括非法或伪造内容,则调用审查模块进行审查。
3.根据权利要求2所述的一种基于区块链的数据匿名共享方法,其特征在于:所述步骤6的具体步骤如下:
步骤6.1:B类节点bi上状态存储模块收集详细的状态信息,操作记录包括其他节点向该节点下发的指令,完成操作所产生的RSA密钥的公钥、时间戳以及该节点产生的数字签名;
步骤6.2:该节点的状态存储模块将上述详细记录保存在自身产生的新区块之中,同时该记录将被按照预存储的B类节点IP地址表中的IP地址轮询提交至余下所有B类节点;
步骤6.3:接收到bi状态信息的B类节点通过状态存储模块收到记录后根据其携带的数字签名检查其真伪性,若数字签名无效则将其丢弃,若数字签名有效则添加到自身的区块之中。
4.根据权利要求2所述的一种基于区块链的数据匿名共享方法,其特征在于:所述步骤10的具体步骤如下:
步骤10.1:最后路经节点将数据需求方预先储存于自身账户之上的积分进行检查,确认自身储存的数据共享方签署的积分数量大于等于需要转移给数据共享方的积分数;若积分小于需要转移给数据共享方的积分数则该节点需向数据需求方请求开具余下积分;
步骤10.2:最后路经节点产生一条销毁原有等值积分的记录,并产生一个属于数据共享方的积分纪录,使用最后路经节点的RSA公私钥进行签名,将上述信息打包成积分数据包;
步骤10.3:最后路经节点将积分数据包添加至自己的新区块之中,并将该数据包按照预存储的B类节点IP地址表中的IP地址轮询提交给余下所有的B类节点;
步骤10.4:收到积分数据包的最后路经节点通过积分及价值转移系统核实积分数据包的有效性,若有效则将该数据包中的记录添加至自己产生的新区块之中;若发现记录无效,则调用自身审查模块开始对最后路经节点进行审查。
5.根据权利要求4所述的一种基于区块链的数据匿名共享方法,其特征在于:所述步骤10.4中的审查过程具体步骤如下:
步骤10.4.1:收到积分数据包的最后路经节点会检查积分数据包中数字签名的有效性,若无效,则开始调用审查模块纠察出发送数据包的B类节点的IP地址,确认该节点IP地址是否与原有IP地址表中该节点的IP地址相对应;若对应,进行步骤10.4.2;若不对应,进行步骤10.4.3;若有效则将该数据包中的记录添加至自己产生的新区块之中
步骤10.4.2:该节点将该数据包丢弃,不再做进一步处理;
步骤10.4.3:审查模块继续查找IP地址所对应的真实的B类节点,若上述IP地址能够找到对应的B类节点,则扣取发送错误数据包节点的信任分,并生成一个扣取信任分的信号,并将所述信号添加进最后路经节点自身的新区块之中,但不广播该信号;若上述IP地址不对应任何一个B类节点,则将该数据包丢弃,不做进一步的处理;
步骤10.4.4:若该节点的信任分被扣完,则该节点将会被动退出区块链网络,若需要再次进入网络则需要重新注册。
6.根据权利要求2所述的一种基于区块链的数据匿名共享方法,其特征在于:所述步骤12中的审查过程具体步骤如下:
步骤12.1:数据需求方接收到l个确认信号数据包,其中l∈L;审查模块将对比每个确认数据包中携带的随机暗号是否相同,若出现有不相同的情况则以相同重复次数最多的样本为真实样本,并纠察发出错误数据包的节点;
步骤12.2:节点程序中的审查模块将会扣取发送错误数据包节点的信任分,并生成一个扣取信任分的信号;
步骤12.3:所述节点将所述信号添加进自身的新区块之中,并向余下的所有B类节点广播这个信号。
7.根据权利要求2所述的一种基于区块链的数据匿名共享方法,其特征在于:基于区块链的数据匿名共享方法所依附的基于区块链的数据匿名共享系统中所述区块链的增加节点方法为:
按照人为设定的时间间隔,每一个B类节点会将自身的新区块打包,并在区块链中寻找一个随机数,使得该B类节点的新区块拼接上该随机数的字符串使用SHA256哈希函数加密后的哈希值小于人为设定的自然数N,则该随机数为有效,最先找到有效随机数的B类节点会将自身的新区块连同该随机数一起打包,并广播给其他的B类节点;当其他B类节点收到该新区块之后将会检查区块合法性,若认证通过,将会将该区块添加到收到新区块的B类节点所储存的区块链的末尾;若认证不通过,则将区块丢弃,并继续寻找一个所述随机数,直到找到符合要求随机数并将区块广播或接收到合法的新区块为止;所述自然数N被设置为使得一定时间内有且仅有一个节点能够将其找到;
B类节点检查区块合法性的具体步骤如下:
步骤a:检查所述产生新区块的B类节点附带在新区块中的数字签名,若有效则进行步骤b,若无效,则认证不通过;
步骤b:使用产生新区块的B类节点附带在新区块中所找到的有效的随机数的数值拼接上新区块的余下部分,进行SHA256哈希计算,验证哈希函数值是否小于自然数N,若小于,则认证通过,否则认证不通过。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910387909.XA CN110096894B (zh) | 2019-05-10 | 2019-05-10 | 一种基于区块链的数据匿名共享系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910387909.XA CN110096894B (zh) | 2019-05-10 | 2019-05-10 | 一种基于区块链的数据匿名共享系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110096894A CN110096894A (zh) | 2019-08-06 |
CN110096894B true CN110096894B (zh) | 2023-01-17 |
Family
ID=67447577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910387909.XA Expired - Fee Related CN110096894B (zh) | 2019-05-10 | 2019-05-10 | 一种基于区块链的数据匿名共享系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110096894B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2019321745B2 (en) * | 2019-11-06 | 2022-01-27 | Alipay (Hangzhou) Information Technology Co., Ltd. | Prioritizing shared blockchain data storage |
CN111406252B (zh) * | 2019-11-06 | 2022-04-15 | 支付宝(杭州)信息技术有限公司 | 基于纠错码的共享区块链数据存储的共识 |
KR102363271B1 (ko) * | 2019-11-06 | 2022-02-14 | 알리페이 (항저우) 인포메이션 테크놀로지 씨오., 엘티디. | 에러 정정 코드에 기초한 공유 블록체인 데이터 저장의 데이터 보안 |
WO2020035093A2 (en) * | 2019-11-13 | 2020-02-20 | Alipay (Hangzhou) Information Technology Co., Ltd. | Dynamic blockchain data storage based on error correction code |
CN113779623B (zh) * | 2021-08-27 | 2023-08-08 | 浙江数秦科技有限公司 | 一种基于区块链的热数据融合方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181599A (zh) * | 2017-07-18 | 2017-09-19 | 天津理工大学 | 基于区块链的路由位置数据保密存储及共享方法 |
CN108964926A (zh) * | 2018-08-28 | 2018-12-07 | 成都信息工程大学 | 异构联盟系统中基于二层区块链的用户信任协商建立方法 |
CN109615474A (zh) * | 2018-12-11 | 2019-04-12 | 南京大学 | 基于区块链的中小企业竞争情报共享平台构建方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10304143B2 (en) * | 2016-05-05 | 2019-05-28 | Lance Timothy Kasper | Consensus system for manipulation resistant digital record keeping |
-
2019
- 2019-05-10 CN CN201910387909.XA patent/CN110096894B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107181599A (zh) * | 2017-07-18 | 2017-09-19 | 天津理工大学 | 基于区块链的路由位置数据保密存储及共享方法 |
CN108964926A (zh) * | 2018-08-28 | 2018-12-07 | 成都信息工程大学 | 异构联盟系统中基于二层区块链的用户信任协商建立方法 |
CN109615474A (zh) * | 2018-12-11 | 2019-04-12 | 南京大学 | 基于区块链的中小企业竞争情报共享平台构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110096894A (zh) | 2019-08-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10824763B2 (en) | Integrity of communications between blockchain networks and external data sources | |
US11323271B2 (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
EP3610624B1 (en) | Retrieving access data for blockchain networks using highly available trusted execution environments | |
EP3610405B1 (en) | Program execution and data proof scheme using multiple key pair signatures | |
CN110096894B (zh) | 一种基于区块链的数据匿名共享系统及方法 | |
AU2019204708A1 (en) | Retrieving public data for blockchain networks using highly available trusted execution environments | |
Haifeng et al. | A Hierarchical Provable Massive Data Migration Method under Multicloud Storage | |
CN117834151A (zh) | 基于区块链的数据隐私保护方法、装置及电子设备 | |
CN118101206A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20230117 |