CN115086049B - 基于可验证延迟函数的区块链医疗数据共享系统及方法 - Google Patents

基于可验证延迟函数的区块链医疗数据共享系统及方法 Download PDF

Info

Publication number
CN115086049B
CN115086049B CN202210703440.8A CN202210703440A CN115086049B CN 115086049 B CN115086049 B CN 115086049B CN 202210703440 A CN202210703440 A CN 202210703440A CN 115086049 B CN115086049 B CN 115086049B
Authority
CN
China
Prior art keywords
data
consensus
transaction
medical data
user
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
CN202210703440.8A
Other languages
English (en)
Other versions
CN115086049A (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.)
Tianjin University of Technology
Original Assignee
Tianjin University of Technology
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 Tianjin University of Technology filed Critical Tianjin University of Technology
Priority to CN202210703440.8A priority Critical patent/CN115086049B/zh
Publication of CN115086049A publication Critical patent/CN115086049A/zh
Application granted granted Critical
Publication of CN115086049B publication Critical patent/CN115086049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/72Signcrypting, i.e. digital signing and encrypting simultaneously
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/88Medical equipments
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明涉及一种基于可验证延迟函数的区块链医疗数据共享系统及方法,该系统包括:用户注册模块、数据验证和存储模块、交易生成模块、匿名通信模块、VDF‑PBFT共识模块和数据共享模块。本发明能够解决医疗数据共享区块链共识效率低、中心化和可扩展性不足的问题,优化医疗大数据研究和商业医疗项目的数据获取过程,确保医疗数据共享的安全性和隐私性,为医疗数据的安全共享提供有效的解决方案。

Description

基于可验证延迟函数的区块链医疗数据共享系统及方法
技术领域
本发明涉及区块链安全数据共享技术领域,特别是涉及一种基于可验证延迟函数的区块链医疗数据共享系统及方法。
背景技术
随着医疗信息化和移动计算的快速发展,以电子病历和临床信息系统为基础的个人健康数据每时每刻都在不断产生和积累。电子病历的广泛应用给医疗领域带来了极大的便利,使患者用户的诊断信息更为形象和直观,也使其成为有价值的数据资产。但是目前此类医疗数据集大多由不同的医疗服务提供商存储和控制,这种集中化的数据存储给医疗数据带来了安全挑战,阻碍了数据共享。
如果能够建立可靠的医疗数据共享平台,为患用户、医生和相关科学研究提供全面、及时、准确的医疗数据,不仅可以帮助患用户更好地了解家族史,及早预防,还可以帮助医务人员制定最佳的医疗方案,达到理想的治疗效果。同时现有的基于区块链的医疗数据安全共享方案存在着共识效率低、中心化和可扩展性不足的问题,缺乏交易双方的实时匿名通信,并且没有合理的信誉值机制,无法检测拜占庭节点。
发明内容
本发明的目的是提供一种基于可验证延迟函数的区块链医疗数据共享系统及方法,能够解决医疗数据共享区块链共识效率低、中心化和可扩展性不足的问题,确保医疗数据共享的安全性和隐私性,为医疗数据的安全共享提供有效的解决方案。
为实现上述目的,本发明提供了如下方案:
本发明提供了一种基于可验证延迟函数的区块链医疗数据共享系统,所述系统包括:
用户注册模块,用于对用户的注册信息进行审核,对审核通过的用户赋予初始信誉值,并基于所述初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥;
数据验证和存储模块,用于验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明URL和云存储数据URL;所述云存储证明URL为原始医疗数据云存储证明链接,所述云存储数据URL为原始医疗数据链接;
交易生成模块,用于医疗数据提供用户发布数据共享事务,医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务;
匿名通信模块,用于建立医疗数据交易双方匿名通信通道,进行医疗数据交易双方实时通信,在医疗数据交易成功后交换用户密钥、云存储数据和信誉值代币;
VDF-PBFT共识模块,用于基于可验证延迟函数进行主共识节点分布式选举,确定主共识节点;通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合,基于VDF-PBFT共识机制实现医疗数据共识记录的上链;
数据共享模块,用于当医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的加密密钥解密后获取原始医疗数据,完成医疗数据安全共享。
为实现上述目的,本发明还提供了一种基于可验证延迟函数的区块链医疗数据共享方法,所述方法基于所述的基于可验证延迟函数的区块链医疗数据共享系统,所述方法包括:
通过用户注册模块对用户的注册信息进行审核,对验证通过的用户赋予初始信誉值,并基于所述初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥;
通过数据验证和存储模块验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明和云存储数据;所述云存储证明为原始医疗数据云存储证明链接,所述云存储数据为原始医疗数据链接;
在交易生成模块中,通过医疗数据提供用户发布数据共享事务,通过医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务;
医疗数据提供用户和医疗数据需求用户均根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下通过匿名通信模块进行实时通信协商,交易完成后交换用户密钥、云存储数据和信誉值代币;
通过VDF-PBFT共识模块进行基于可验证延迟函数的主共识节点分布式选举,确定主共识节点;通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合,基于VDF-PBFT共识机制实现医疗数据共识记录的上链过程;
医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的用户密钥解密后获取原始医疗数据,完成医疗数据安全共享。
可选地,所述基于所述初始信誉值对用户进行医疗数据共享节点角色分类,具体包括:
对所述初始信誉值进行排序,根据排序结果将用户划分为共识节点、备份节点和普通节点;
其中,共识节点竞争主节点地位,随机主导医疗数据共享链的共识过程;备份节点作为共识节点的后备节点,当共识节点信誉值过低掉出共识节点排名时由备份节点递补,共识过程中备份节点负责不同事务校验和响应;普通节点负责校验过程,不参与医疗数据共享链的共识过程。
可选地,数据验证和存储模块采用对应样本的邻域粗糙集分类机器学习算法验证用户发送的原始医疗数据质量。
可选地,所述数据共享事务中包含数据摘要、数据云存储证明、数据共享请求操作、数据说明、数据提供用户地址和当前时间戳信息;
所述数据需求事务包含数据共享请求操作、数据说明、数据需求用户地址和当前时间戳信息;所述数据共享请求操作包含数据价值和对数据的处理操作;所述数据说明包括原始医疗数据类型、质量和大小。
可选地,所述医疗数据提供用户和医疗数据需求用户均根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下通过匿名通信模块进行实时通信协商,具体包括:
用户完成信息注册后在本地建立两份事务索引表,包括作为数据提供用户发布的共享事务索引表和作为数据需求用户发布的需求事务索引表;所述共享事务索引表中包含已发布共享数据的数据说明、数据摘要和数据提供用户地址;所述需求事务索引表包括需求数据说明和数据需求用户地址;
所述数据需求用户对所述数据提供用户发布的数据说明进行检索,在检索到目标事务后通过数据提供用户地址请求通信;
所述数据提供用户对所述数据需求用户发布的数据说明进行检索,在检索到目标事务后通过数据需求用户地址请求通信。
可选地,所述匹配成功后在链下通过匿名通信模块进行实时通信协商,交易完成后交换用户密钥、云存储数据和信誉值代币,具体包括:
所述医疗数据提供用户和所述医疗数据需求用户之间建立通信连接后,所述医疗数据需求用户查看医疗数据提供用户传输的数据共享请求操作中的数据价值,根据所述数据价值在通道建立的交易过程中附加相应信誉值代币,建立链下匿名通信通道;
医疗数据提供用户和医疗数据需求用户在链下通道半承诺交易的空白区块中附加数据块,以附加信誉值代币为通信代价,实现交易双方的实时交流;
若双方达成交易意向,则通过在链下通道的最后一笔半承诺交易中进行数据费、加密密钥和云存储数据交换,完成数据共享过程,关闭通道;否则交易失败,暂时冻结通道,待双方退出后返还信誉值代币。
可选地,所述通过VDF-PBFT共识模块进行主共识节点分布式选举,确定主共识节点,具体包括:
根据共识节点的公钥哈希值和私钥生成VRF证明,并根据VRF证明和哈希函数确定医疗数据区块链各共识节点的随机安全参数;
基于所述随机安全参数和时间参数,各所述共识节点运行VDF初始化函数和VDF计算函数,得到输出值和证明值;
各所述共识节点相互广播各自的输出值和证明值,并对接收到的其他节点的输出值和证明值运行VDF验证函数;
对验证成功后的各共识节点的输出值计算哈希值,将所述哈希值最小的节点作为当前医疗数据共享链的主共识节点。
可选地,所述基于共识机制实现医疗数据共识记录的上链过程,具体包括:
通过医疗数据共享链主共识节点收集来自不同医疗数据共享用户的不同类型事务请求,使用用户公钥校验不同事务的数字签名,校验通过后根据事务类型进行事务编号,并向其余医疗数据共享链共识节点广播预共识事务请求;所述编号用于对不同类型事务进行排序;所述预共识事务请求中包含事务内容、事务摘要、事务编号和主共识节点的数据签名;
其余共识节点收到包含预共识事务请求的广播后,验证所述主共识节点的数据签名,验证通过后检验所述事务编号是否为重复编号以及编号大小是否合理,当所有验证完成后当前共识节点向包括主共识节点在内的其余共识节点广播准备共识消息;所述准备共识消息包括事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名;
各共识节点收到包含准备共识消息的广播后,校验准备共识消息中的当前共识节点的数据签名、事务编号和当前共识节点编号,验证通过后继续接收准备共识消息,直至每个共识节点接收的相同准备共识消息的数量达到设定阈值时判定各共识节点已完成共识工作,共识节点广播承诺共识消息,所述承诺共识消息包含事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名;
其余各共识节点校验通过继续接收所述承诺共识消息,当接收的所述承诺共识消息的数量达到设定阈值时判定各共识节点已经完成医疗数据共享链的共识过程,各共识节点执行用户数据共享事务中数据共享请求操作,并发送回复消息至当前用户节点,完成一轮医疗数据共享链的共识过程;所述回复消息中包含当前时间戳、当前客户端编号和数据共享请求操作结果。
可选地,所述方法还包括:
通过所述医疗数据需求用户计算原始医疗数据的摘要,并将所述原始医疗数据的摘要与本地事务索引表中的数据摘要进行对比,以校验所述原始医疗数据的完整性。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明提供了一种基于可验证延迟函数的区块链医疗数据共享系统及方法,所述系统通过用户注册模块对用户的注册信息进行审核,对审核通过的用户赋予初始信誉值,并基于初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥;通过数据验证和存储模块验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明和云存储数据;在交易生成模块中医疗数据提供用户发布数据共享事务,医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务;通过匿名通信模块建立医疗数据交易双方匿名通信通道,进行医疗数据交易双方实时通信,在医疗数据交易成功后交换用户密钥、云存储数据和信誉值代币;在VDF-PBFT共识模块采用可验证延迟函数进行主共识节点分布式选举,确定主共识节点;通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合,基于VDF-PBFT共识机制实现医疗数据共识记录的上链;通过数据共享模块当医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的加密密钥解密后获取原始医疗数据,完成医疗数据安全共享。本发明能够解决医疗数据共享区块链共识效率低、中心化和可扩展性不足的问题,优化医疗大数据研究和商业医疗项目的数据获取过程,确保医疗数据共享的安全性和隐私性,为医疗数据的安全共享提供有效的解决方案。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于可验证延迟函数的区块链医疗数据共享系统的模块结构示意图;
图2为本发明基于可验证延迟函数的区块链医疗数据共享系统的框架图;
图3为本发明基于可验证延迟函数的区块链医疗数据共享方法的流程图;
图4为本发明VDF-PBFT共识机制主共识节点分布式选举流程图。
符号说明:
用户注册模块-1,数据验证和存储模块-2,交易生成模块-3,匿名通信模块-4,VDF-PBFT共识模块-5,数据共享模块-6。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种基于可验证延迟函数的区块链医疗数据共享系统及方法,能够解决医疗数据共享区块链共识效率低、中心化和可扩展性不足的问题,确保医疗数据共享的安全性和隐私性,为医疗数据的安全共享提供有效的解决方案。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
如图1和图2所示,本发明基于可验证延迟函数的区块链医疗数据共享系统,包括:用户注册模块1、数据验证和存储模块2、交易生成模块3、匿名通信模块4、VDF-PBFT共识模块5和数据共享模块6。
用户注册模块1,用于对用户的注册信息进行审核,对审核通过的用户赋予初始信誉值,并基于所述初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥。所述用户密钥为用户公私钥对。
数据验证和存储模块2,用于验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明和云存储数据;所述云存储证明为原始医疗数据云存储证明链接,所述云存储数据为原始医疗数据链接。
交易生成模块3,用于医疗数据提供用户发布数据共享事务,医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务。
匿名通信模块4,用于建立医疗数据交易双方匿名通信通道,进行医疗数据交易双方实时通信,在医疗数据交易成功后交换用户密钥、云存储数据和信誉值代币。
VDF-PBFT共识模块5,用于基于可验证延迟函数进行主共识节点分布式选举,确定主共识节点;通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合,基于VDF-PBFT共识机制实现医疗数据共识记录的上链。
数据共享模块6,用于当医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的加密密钥解密后获取原始医疗数据,完成医疗数据安全共享。
为实现上述目的,本发明还提供了一种基于可验证延迟函数的区块链医疗数据共享方法,所述方法基于所述的基于可验证延迟函数的区块链医疗数据共享系统,所述方法包括以下步骤:
S1:通过用户注册模块对用户的注册信息进行审核,对验证通过的用户赋予初始信誉值,并基于所述初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥。其中,使用ECC非对称加密算法生成用户公私钥对。
S2:通过数据验证和存储模块验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明URL和云存储数据URL;所述云存储证明为原始医疗数据云存储证明链接,所述云存储数据为原始医疗数据链接。
S3:在交易生成模块中,通过医疗数据提供用户发布数据共享事务,通过医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务。
S4:医疗数据提供用户和医疗数据需求用户均根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下通过匿名通信模块进行实时通信协商,交易完成后交换用户密钥、云存储数据和信誉值代币。其中,使用闪电网络通道进行实时通信协商。
S5:通过VDF-PBFT共识模块进行基于可验证延迟函数的主共识节点分布式选举,确定主共识节点;通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合,基于VDF-PBFT共识机制实现医疗数据共识记录的上链过程。
S6:医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的用户密钥解密后获取原始医疗数据,完成医疗数据安全共享。
进一步地,步骤S1中,所述基于所述初始信誉值对用户进行医疗数据共享节点角色分类,具体包括:
对所述初始信誉值进行排序,根据排序结果将用户划分为共识节点、备份节点和普通节点。
其中,共识节点竞争主节点地位,随机主导医疗数据共享链的共识过程;备份节点作为共识节点的后备节点,当共识节点信誉值过低掉出共识节点排名时由备份节点递补,共识过程中备份节点负责不同事务校验和响应;普通节点负责校验过程,不参与医疗数据共享链的共识过程。
进一步地,步骤S1中,新加入用户在进行用户注册时要在患用户、医院、医疗大数据研究机构和商业医疗数据组织中选择一方加入,根据用户组织和用户注册信息赋予用户不同的初始信誉值,并进行初始信誉值排序。用户身份分配完成后使用ECC椭圆曲线非对称加密算法为每个用户生成一组公私密钥对<(PUB_K1,PRI_K1),(PUB_K2,PRI_K2)...(PUB_Kn,PRI_Kn)>,每完成一次医疗数据共享事务丢弃一对公私密钥,密钥对使用完毕后循环生成。
进一步地,步骤S2中,数据验证和存储模块采用对应样本的邻域粗糙集分类机器学习算法验证用户发送的原始医疗数据质量。数据提供用户上传原始医疗数据到数据验证和存储模块后,数据验证器运行对应样本的邻域粗糙集分类机器学习算法验证数据质量,验证通过后使用一组密钥对(PUB_Ki,PRI_Ki)加密原始医疗数据。
进一步地,步骤S3中,所述数据共享事务中包含数据摘要、数据云存储证明、数据共享请求操作、数据说明、数据提供用户地址和当前时间戳信息。
所述数据需求事务包含数据共享请求操作、数据说明、数据需求用户地址和当前时间戳信息;所述数据共享请求操作包含数据价值和对数据的处理操作;所述数据说明包括原始医疗数据类型、质量和大小。不同类型用户在进行事务传播时都会使用当前私钥PRI_Ki进行事务签名,方便主共识节点校验事务真伪。
进一步地,步骤S4中,所述医疗数据提供用户和医疗数据需求用户均根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下通过匿名通信模块进行实时通信协商,具体包括:
用户完成信息注册后在本地建立两份事务索引表,包括作为数据提供用户发布的共享事务索引表和作为数据需求用户发布的需求事务索引表;所述共享事务索引表中包含已发布共享数据的数据说明、数据摘要和数据提供用户地址;所述需求事务索引表包括需求数据说明和数据需求用户地址;
所述数据需求用户对所述数据提供用户发布的数据说明进行检索,在检索到目标事务后通过数据提供用户地址请求通信;
所述数据提供用户对所述数据需求用户发布的数据说明进行检索,在检索到目标事务后通过数据需求用户地址请求通信。
更进一步地,步骤S4中,所述匹配成功后在链下通过匿名通信模块进行实时通信协商,交易完成后交换用户密钥、云存储数据和信誉值代币,具体包括:
所述医疗数据提供用户和所述医疗数据需求用户之间建立通信连接后,所述医疗数据需求用户查看医疗数据提供用户传输的数据共享请求操作中的数据价值,根据所述数据价值在通道建立的交易过程中附加相应信誉值代币,建立链下匿名通信通道(闪电网络通信通道)。
医疗数据提供用户和医疗数据需求用户在链下通道半承诺交易的空白区块中附加数据块,以附加信誉值代币为通信代价,实现交易双方的实时交流;
若双方达成交易意向,则通过在链下通道的最后一笔半承诺交易中进行数据费、加密密钥和云存储数据URL的交换,完成数据共享过程,关闭通道;否则交易失败,暂时冻结通道,待双方退出后返还信誉值代币。
进一步地,步骤S5中,所述通过VDF-PBFT共识模块进行主共识节点分布式选举,确定主共识节点,具体包括:
1)基于信誉值的用户分类。
系统初始化阶段按照初始信誉值进行用户分类,在系统平稳运行过程中,主共识节点每更换一次会更新各用户的信誉值积分,按照信誉值排名规则将医疗数据共享用户分为医疗数据共享共识节点、备份节点和普通节点。
2)S52:使用VRF函数分布式生成随机安全参数。
根据共识节点的公钥哈希值和私钥生成VRF证明,并根据VRF证明和哈希函数确定医疗数据区块链各共识节点的随机安全参数;步骤S52中医疗数据共享链的101个共识节点分布式计算各自随机安全参数,避免中心化色彩。
3)各节点运行VDF初始函数,竞争医疗数据共享链主节点。
基于所述随机安全参数和时间参数,各所述共识节点运行VDF初始化函数和VDF计算函数,得到输出值和证明值。
各所述共识节点相互广播各自的输出值和证明值,并对接收到的其他节点的输出值和证明值运行VDF验证函数。
对验证成功后的各共识节点的输出值计算哈希值,将所述哈希值最小的节点作为当前医疗数据共享链的主共识节点。
进一步地,步骤S5中,所述基于共识机制实现医疗数据共识记录的上链过程,具体包括:
通过医疗数据共享链主共识节点收集来自不同医疗数据共享用户的不同类型事务请求,使用用户公钥校验不同事务的数字签名,校验通过后根据事务类型进行事务编号,并向其余医疗数据共享链共识节点广播预共识事务请求;所述编号用于对不同类型事务进行排序;所述预共识事务请求中包含事务内容、事务摘要、事务编号和主共识节点的数据签名。
其余共识节点收到包含预共识事务请求的广播后,验证所述主共识节点的数据签名,验证通过后检验所述事务编号是否为重复编号以及编号大小是否合理,当所有验证完成后当前共识节点向包括主共识节点在内的其余共识节点广播准备共识消息;所述准备共识消息包括事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名。
各共识节点收到包含准备共识消息的广播后,校验准备共识消息中的当前共识节点的数据签名、事务编号和当前共识节点编号,验证通过后继续接收准备共识消息,直至每个共识节点接收的相同准备共识消息的数量达到设定阈值时判定各共识节点已完成共识工作,共识节点广播承诺共识消息,所述承诺共识消息包含事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名。
其余各共识节点校验通过继续接收所述承诺共识消息,当接收的所述承诺共识消息的数量达到设定阈值时判定各共识节点已经完成医疗数据共享链的共识过程,各共识节点执行用户数据共享事务中数据共享请求操作,并发送回复消息至当前用户节点,完成一轮医疗数据共享链的共识过程;所述回复消息中包含当前时间戳、当前客户端编号和数据共享请求操作结果。
进一步地,所述方法还包括:
S7:通过所述医疗数据需求用户计算原始医疗数据的摘要,并将所述原始医疗数据的摘要与本地事务索引表中的数据摘要进行对比,以校验所述原始医疗数据的完整性。
下面以用户A1、B1、B2和C1加入医疗数据共享联盟链为例,对本发明作进一步说明。
初始化阶段数据共享链上存在患用户、医院、研究机构和商业医疗数据组织,如图3所示,基于可验证延迟函数和区块链的医疗数据共享方法包括步骤如下:
S1:用户注册模块审核用户注册信息,验证通过后赋予初始信誉值,然后进行医疗数据共享节点角色分类,使用ECC(Elliptic Curve Cryptography,椭圆曲线密码学)非对称加密算法生成用户公私钥对。
新加入用户在进行用户注册时要在患用户、医院、医疗大数据研究机构和商业医疗数据组织中选择一方加入,根据用户组织和用户注册信息赋予用户不同的初始信誉值,进行初始信誉值排序。
具体排序方法如下:将信誉值排名前101节点划分为医疗数据共享共识节点,将排名101到131节点划分为医疗数据共享备份节点,其余节点划分为普通节点。
其中数据共享共识节点竞争主节点地位,随机主导医疗数据共享链的共识过程;备份节点作为共识节点的后备节点,当共识节点信誉值过低掉出共识节点排名时由备份节点递补,共识过程中备份节点负责不同事务校验和响应;普通节点只负责校验过程,不参与医疗数据共享链的共识过程,当备份节点不足时会有补充行为。
用户身份分配完成后使用ECC非对称加密算法为每个用户生成一组公私密钥对,每完成一次医疗数据共享事务丢弃一对公私密钥,密钥对使用完毕后循环生成。
用户B2注册时认证为研究机构组织,用户注册模块审核通过后根据其提供信誉值代币赋予其相应初始信誉值,根据其信誉值对该B2用户进行排序。排序完成后使用ECC加密算法生成一组公私钥对,当使用一对密钥时私钥由用户B2自己保存,公钥发送当前主共识节点作为B2地址进行公开,每当B2完成一次医疗数据共享行为立即抛弃当前使用的密钥对,防止恶意攻击行为。
本发明中所提出的基于信誉值的数据共享用户分类方案可以对不同组织的用户进行信誉值赋权,对诚信用户给予高信誉值权限,增加其参与医疗数据共享链的共识过程的可能性。对于作恶用户扣除信誉值,当其信誉值过低时踢出共识队伍。本发明具体实施例从信誉值的角度解决了现有PBFT共识机制无法识别拜占庭节点的难题,可以提升医疗数据共享链的安全性。
S2:用户发送样本数据到数据验证和存储模块,运行数据验证器验证数据质量,验证通过后用户使用密钥对原始医疗数据进行加密压缩,将处理后的数据上传至云存储空间,获得云存储证明URL(Uniform Resource Locator,统一资源定位系统)和云存储数据URL。
数据提供用户上传样本医疗数据到数据验证和存储模块后,数据验证器运行对应样本的邻域粗糙集分类机器学习算法验证数据质量,验证通过后使用一组密钥对(PUB_Ki,PRI_Ki)加密原始医疗数据,其中云存储证明URL为原始医疗数据云存储证明链接,云存储数据URL则为原始医疗数据链接。
实施例中用户B1注册为医院组织节点,假定该节点为医疗数据提供用户。B1首先将原始样本医疗数据上传至数据验证和存储模块,此时数据验证根据B1提供的样本分类运行对应样本的邻域粗糙集分类机器学习算法验证数据质量,验证通过后B1使用当前私钥PRI_KB1对原始医疗数据进行加密压缩处理,最后将处理后数据发送至云存储空间,获得对应数据的云存储证明URL和云存储数据URL。
本发明具体实施例中提出的数据验证器思想可以在医疗数据共享前对数据质量进行检查,首先由数据提供用户传输样本医疗数据到数据验证器,然后使用对应的邻域粗糙集分类机器学习算法处理样本数据,通过数据验证器处理结果可以直观的展示数据质量,这一步骤实现了医疗数据共享前对数据质量的模拟检查,提高了医疗数据共享链中数据的可靠性,增加用户交易信心。
S3:医疗数据提供用户和医疗数据需求用户分别向当前医疗数据共享链主共识节点发送数据共享事务和数据需求事务,两种事务中包含数据请求操作、数据说明、用户地址等信息;
数据共享事务中包含数据摘要、数据云存储证明URL、数据共享请求操作、数据说明、数据提供用户地址和当前时间戳信息。数据需求事务包含数据共享请求操作、数据说明、数据需求用户地址和当前时间戳。不同类型用户在进行事务传播时都会使用当前私钥PRI_Ki进行事务签名,方便主共识节点校验事务真伪。
实施列中B1向当前主共识节点发送数据共享事务,其中包含数据摘要HashB1、数据云存储证明URL CsCB1、数据共享请求操作DrOB1、数据说明DIB1、数据提供用户地址DpAB1和当前时间戳信息TimeB1。示例如下:
TransactionB1=(HashB1,CsCB1,DrOB1,DIB1,DpAB1,TimeB1);
其中数据摘要包含了B1对原始医疗数据的哈希计算,用于交易成功后进行数据校验使用;数据云存储证明URL用于向数据需求用户展示原始医疗数据云存储证明,促进交易进行;数据共享请求操作包含数据价值和对数据的处理操作;数据说明为对原始医疗数据类型、质量大小等属性的表述;数据提供用户地址用于数据需求方建立匿名通信通道使用;当前时间戳为B1节点向时间戳服务器发送请求信息,将返回结果记录在此,用于数据需求方检索数据后排序使用。
实施例中C1注册为研究机构节点,假定该节点为医疗数据需求用户,C1向当前主共识节点发送数据需求事务,其中包含数据共享请求操作DrOC1、数据说明DIC1、数据需求用户地址DpAC1和当前时间戳TimeC1。示例如下:
TransactionC1=(DrOC1,DIC1,DpAC1,TimeC1);
其中数据共享请求操作包含C1期望数据价值样本和数据价格;数据说明包含C1对所需数据的类型、质量和大小等属性的简单描述;数据需求用户地址即为C1当前公钥的哈希值,用于数据提供用户建立通信;当前时间戳用于数据提供用户检索数据说明后对结果进行排序。
实施例中C1为医疗数据需求用户,假定该节点与B1已完成医疗数据共享行为,此时医疗数据需求方C1将向当前主共识节点发送医疗数据共享成功事务,其中包含数据摘要HashB1、数据云存储证明URL CsCB1、C1地址DpAC1、B1地址DpAB1、数据交易价格DtPB1和当前时间戳TimeC1。示例如下:
TransactionC1=(HashB1,CsCB1,DpAC1,DpAB1,DtPB1,TimeC1);
本发明具体实施例中所提出的医疗数据共享事务和医疗数据需求事务方案可以实现用户信息与医疗数据相关信息上链操作,通过将经过验证的医疗数据信息上链公开的形式减少了恶意用户实施作恶行为的可能性。同时不同事务格式的设置可以使当前医疗数据共享链更加贴合医疗数据共享场景,为用户进行医疗数据共享操作提供便利。
S4:医疗数据共享用户根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下使用闪电网络通道进行实时通信协商,交易完成后交换密钥、云存储数据URL和信誉值代币。
用户注册后在本地建立两份事务索引表,分别为医疗数据提供用户发布的共享事务索引表和医疗数据需求用户发布的需求事务索引表。共享事务索引表中包含已发布共享数据的数据说明、数据摘要和数据提供用户地址,数据需求用户检索数据说明,对检索结果使用时间戳进行排序,在查看事务内容后选择合适的数据通过数据提供用户地址进行通信请求。同理,数据提供用户检索数据需求用户发布的数据说明,通过数据需求事务提供的数据需求用户地址请求通信。
实施例中C1查询共享事务索引表,假定B1提供的数据共享事务在此索引表中,则共享事务索引表中该事务索引包含的字段有数据说明DIB1、数据摘要HashB1数据提供用户地址DpAB1,示例如下:
Shared_Indexi=(DIB1,HashB1,DpAB1)
其中,医疗数据需求用户根据数据说明字段检索数据共享事务,当检索到合适的事务时通过数据提供用户地址进行通信请求,当交易完成获得原始数据时,对比数据摘要字段校验原始数据。
实施例中B1查询需求事务索引表,假定C1发布的数据需求事务在此表中,则需求事务索引表中该需求事务索引包含的字段有数据说明DIC1、数据需求用户地址DpAC1,示例如下:
Requirement_Indexi=(DIC1,DpAC1);
其中医疗数据提供用户根据数据说明字段检索数据需求事务,当检索到合适事务时通过数据需求用户地址请求匿名通信。
本发明具体实施例中本地事务索引表的设置可以极大提升用户交易效率。医疗数据共享链上不同需求的用户通过维护本地事务索引表,使用不同检索字段检索已公开事务的方式可以方便数据共享用户直接查看目标事务,使得数据共享双方更容易达成交易,提升交易速度。
实施例中本发明提出的链下匿名通信交易方法如下:
步骤一:匿名通道建立过程。医疗数据共享双方通过事务索引表地址字段进行通信请求后建立连接,查看医疗数据提供用户传输的数据共享事务中所包含数据共享请求操作字段,其中包含了具体数据价值,根据数据价值医疗数据需求方在通道建立的融资交易过程中附加相应信誉值代币,双方建立链下匿名通信通道。
步骤二:医疗数据共享通信过程。医疗数据提供用户和医疗数据需求用户双方通过在链下通道半承诺交易的空白区块中附加数据块,传输医疗数据样本等交流信息,以附加极少量信誉值代币为通信代价,实现交易双方的实时交流。
步骤三:医疗数据共享交易过程。双方沟通协商后,如果达成交易意向,则交易双方在链下通道的最后一笔半承诺交易中进行数据费、加密密钥和云存储数据URL交换,完成数据共享过程,关闭通道。否则交易失败,暂时冻结通道,待双方退出后返还信誉值代币。
步骤四:匿名通道关闭和惩罚措施。当医疗数据共享双方协商一致关闭通道时,双方退出,根据通道内信誉值索引表分配通道资金,完成匿名通道关闭过程。当医疗数据共享双方有一方有作恶行为,如公布错误信誉值索引表,不传递加密密钥等行为,受害一方立即广播过期交易,使用可撤销的序列成熟度合约对作恶用户进行惩罚。至此完成链下匿名通信交易过程。
S5:可验证延迟函数VDF(Verifiable Delay Functions)-PBFT(PracticalByzantine Fault Tolerance Mechanism,实用拜占庭容错机制)主共识节点分布式选举成功后,主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名后向其它共识节点广播事务集合,按照VDF-PBFT共识机制实现医疗数据共识记录的上链过程。
本发明具体实施例中提出的链下匿名通道设置首次在医疗数据共享联盟链领域中实现了医疗数据共享双方的实时通信,这一设置使得数据共享双方可以对交易数据的实时交流,交换共享数据信息。医疗数据共享双方在匿名通道完成通信后还可以直接实现交易行为,通过附加数据块的形式实现加密密钥和数据云存储数据URL的链下传输,可以极大的缓解主链的共识压力,提高医疗数据共享速度,增加用户交易的积极性。
请参阅图4,实施例中本发明所提出的VDF-PBFT共识机制,主节点的分布式选择步骤如下:
步骤一:基于信誉值的用户分类。系统初始化阶段按照步骤一中初始信誉值进行用户分类,在系统平稳运行过程中,主共识节点每更换一次会更新各用户的信誉值积分,按照信誉值排名规则将医疗数据共享用户分为医疗数据共享共识节点、备份节点和普通节点。
步骤二:使用VRF(Verifiable Random Function,可验证随机函数)函数分布式生成随机安全参数λ。
根据医疗数据共享链共识节点的公钥哈希值H(PUB_Ki)和私钥PRI_Ki生成VRF证明Proofi,其中S函数为私钥签名,H函数为SHA-256哈希函数。
Proofi=S(PRI_Ki,H(PUB_Ki));
根据VRF证明Proofi计算出医疗数据区块链共识节点的随机数值Randnumi
Randnumi=H(Proofi);
令随机安全参数λ=Randnumi,至此完成随机安全参数λ构建;
其中步骤二中医疗数据共享链的101个共识节点分布式计算各自随机安全参数,避免中心化色彩;
步骤三:各节点运行VDF初始函数,竞争医疗数据共享链主节点。
设置时间参数t为10秒,各共识节点分布式运行VDF初始化函数SetUp,得到计算参数ek和证明参数vk;
SetUp(λ,t)==PP(ek,vk);
以上一区块哈希值H(Pre_Block)作为输入x,运行VDF计算函数Eval,得到输出y和证明π;
Eval(x,ek)==(y,π);
计算出y值后医疗数据共享链各共识节点相互广播消息(y,π),共识节点收到消息后运行VDF验证函数Verify。
Verify(vk,x,y,π)==(Accept,Refuse);
Accept为验证函数运行成功,校验通过,判定此节点为当前主共识节点;Refuse为函数运行失败,校验不通过,丢弃当前消息;验证成功后记录输出y的哈希值H(y),验证失败则丢弃消息,最后各自比较记录的H(y)值列表,输出y的哈希值最小的节点作为当前医疗数据共享链的主共识节点。至此完成VDF-PBFT机制中主共识节点的分布式选择过程。
本发明具体实施例中提出的VDF-PBFT主共识节点分布式选举策略解决了当前医疗数据共享联盟链中心化的问题。通过分布式随机函数生成随机安全参数得方式增加了安全参数的随机性和可靠性,进一步使用可验证延迟函数输出y值方案抵抗了共识节点的高速设备并行加速恶意行为,通过串行计算的方式减少高算力节点控制共识的可能性,分布式的选举策略进一步增加了现有PBFT方案的可扩展性,实现了数据共享用户的自由进出,提高了医疗数据共享链的去中心化程度。
实施例中,本发明所提出的VDF-PBFT共识机制的主要过程如下:
医疗数据共享链主共识节点经过分布式选举完成后,收集来自不同医疗数据共享用户的事务请求,事务类型分别为数据提供方发布的数据共享事务、事务需求方发布的数据需求事务和数据付款方发布的数据共享成功事务,使用公开的用户公钥校验不同事物的数字签名,校验通过后根据事务类型进行事务编号,此编号主要用于对不同类型事务进行排序。最后向其余医疗数据共享链共识节点广播预共识事务请求。其中请求中包含事务内容、事务摘要、事务编号和主共识节点的数据签名。
其余共识节点收到预共识广播后,首先验证消息签名,验证通过后检验是否为重复编号,编号大小是否合理,当所有验证完成后共识节点i向包括主共识节点在内的其余共识节点广播准备共识消息,其中准备共识消息包括事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名。
各共识节点收到准备共识广播后,校验数据签名、消息编号和共识节点编号,验证通过后继续收集准备共识消息,当接受的相同消息数据量达到34条时认为各共识节点已完成共识工作,共识节点i广播承诺共识消息,消息内容包含事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名。
与上述步骤类似,其余节点校验通过继续接受承诺共识消息,当收集承诺共识消息达34条以上认为各共识节点已经完成医疗数据共享链的共识过程,此时各共识节点执行用户数据共享事务中数据共享请求操作,并发送回复消息至当前用户节点,消息中包含当前时间戳、当前客户端编号和数据共享请求操作结果。至此完成一轮医疗数据共享链的共识过程。
本发明具体实施例中提出的VDF-PBFT共识机制不仅实现了主共识节点的分布式选择,更进一步使得原有PBFT共识方案更适合医疗数据联盟链的数据共享操作。通过对共识节点的信誉值赋权,优化了原有PBFT共识节点的共识速度,增加了对共识节点的可信度,进而提提高数据共享效率。
S6:数据需求方在医疗数据共享事务上链后,通过链下传输收到的云存储数据URL链接获得数据加密压缩包,使用加密密钥解密后获取原始医疗数据。医疗数据付款方对原始医疗数据进行哈希计算,将计算结果与本地事务索引表中的数据摘要进行对比,结果相同则完成此次医疗数据交易。至此完成医疗数据安全共享流程。
本发明的技术效果:
(1)用户注册模块、数据验证和存储模块、交易生成模块、匿名通信模块、VDF-PBFT共识模块和数据共享模块的设计可以提高医疗数据共享链的共识效率,鼓励医疗数据用户参与数据共享,优化医疗大数据研究和商业医疗项目的数据获取过程,确保医疗数据共享的安全性和隐私性,为医疗数据的安全共享提供有效的解决方案。
(2)本发明提出的VDF-PBFT医疗数据共享区块链共识机制实现了分布式主共识节点的选取,使用可验证延迟函数技术解决了现有医疗数据共享联盟链的中心化问题,实现了参与用户的自由进出,增加了医疗数据共享的可扩展性。
(3)本发明提出的链下匿名通信通道首次实现了医疗数据共享过程中数据交易双方的实时通信,同时使用链下传输的方案提升了医疗数据共享的速度,提高了医疗数据共享链的效率。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种基于可验证延迟函数的区块链医疗数据共享系统,其特征在于,所述系统包括:
用户注册模块,用于对用户的注册信息进行审核,对审核通过的用户赋予初始信誉值,并基于所述初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥;
数据验证和存储模块,用于验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明URL和云存储数据URL;所述云存储证明URL为原始医疗数据云存储证明链接,所述云存储数据URL为原始医疗数据链接;
交易生成模块,用于医疗数据提供用户发布数据共享事务,医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务;
匿名通信模块,用于建立医疗数据交易双方匿名通信通道,进行医疗数据交易双方实时通信,在医疗数据交易成功后交换用户密钥、云存储数据和信誉值代币;
VDF-PBFT共识模块,用于基于可验证延迟函数进行主共识节点分布式选举,确定主共识节点,具体包括:根据共识节点的公钥哈希值和私钥生成VRF证明,并根据VRF证明和哈希函数确定医疗数据区块链各共识节点的随机安全参数;基于所述随机安全参数和时间参数,各共识节点运行VDF初始化函数和VDF计算函数,得到输出值和证明值;各共识节点相互广播各自的输出值和证明值,并对接收到的其他节点的输出值和证明值运行VDF验证函数;对验证成功后的各共识节点的输出值计算哈希值,将所述哈希值最小的节点作为当前医疗数据共享链的主共识节点;
通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合;
基于VDF-PBFT共识机制实现医疗数据共识记录的上链,具体包括:
通过医疗数据共享链主共识节点收集来自不同医疗数据共享用户的不同类型事务请求,使用用户公钥校验不同事务的数字签名,校验通过后根据事务类型进行事务编号,并向其余医疗数据共享链共识节点广播预共识事务请求;所述编号用于对不同类型事务进行排序;所述预共识事务请求中包含事务内容、事务摘要、事务编号和主共识节点的数据签名;
其余共识节点收到包含预共识事务请求的广播后,验证所述主共识节点的数据签名,验证通过后检验所述事务编号是否为重复编号以及编号大小是否合理,当所有验证完成后当前共识节点向包括主共识节点在内的其余共识节点广播准备共识消息;所述准备共识消息包括事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名;
各共识节点收到包含准备共识消息的广播后,校验准备共识消息中的当前共识节点的数据签名、事务编号和当前共识节点编号,验证通过后继续接收准备共识消息,直至每个共识节点接收的相同准备共识消息的数量达到设定阈值时判定各共识节点已完成共识工作,共识节点广播承诺共识消息,所述承诺共识消息包含事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名;
其余各共识节点校验通过继续接收所述承诺共识消息,当接收的所述承诺共识消息的数量达到设定阈值时判定各共识节点已经完成医疗数据共享链的共识过程,各共识节点执行用户数据共享事务中数据共享请求操作,并发送回复消息至当前用户节点,完成一轮医疗数据共享链的共识过程;所述回复消息中包含当前时间戳、当前客户端编号和数据共享请求操作结果;
数据共享模块,用于当医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的加密密钥解密后获取原始医疗数据,完成医疗数据安全共享。
2.一种基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,所述方法基于权利要求1所述的基于可验证延迟函数的区块链医疗数据共享系统,所述方法包括:
通过用户注册模块对用户的注册信息进行审核,对验证通过的用户赋予初始信誉值,并基于所述初始信誉值对用户进行医疗数据共享节点角色分类,以及生成用户密钥;
通过数据验证和存储模块验证医疗数据提供用户发送的原始医疗数据质量,验证通过后使用用户密钥对所述原始医疗数据进行加密压缩,并上传至云存储空间,获得云存储证明URL和云存储数据URL;所述云存储证明URL为原始医疗数据云存储证明链接,所述云存储数据URL为原始医疗数据链接;
在交易生成模块中,通过医疗数据提供用户发布数据共享事务,通过医疗数据需求用户发布数据需求事务,以及交易成功后数据付款方发布数据共享成功事务;
医疗数据提供用户和医疗数据需求用户均根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下通过匿名通信模块进行实时通信协商,交易完成后交换用户密钥、云存储数据和信誉值代币;
通过VDF-PBFT共识模块进行基于可验证延迟函数的主共识节点分布式选举,确定主共识节点,具体包括:根据共识节点的公钥哈希值和私钥生成VRF证明,并根据VRF证明和哈希函数确定医疗数据区块链各共识节点的随机安全参数;基于所述随机安全参数和时间参数,各共识节点运行VDF初始化函数和VDF计算函数,得到输出值和证明值;各共识节点相互广播各自的输出值和证明值,并对接收到的其他节点的输出值和证明值运行VDF验证函数;对验证成功后的各共识节点的输出值计算哈希值,将所述哈希值最小的节点作为当前医疗数据共享链的主共识节点;通过主共识节点验证数据共享事务、数据需求事务和数据共享成功事务的签名,并向其它共识节点广播事务集合;基于VDF-PBFT共识机制实现医疗数据共识记录的上链过程,具体包括:通过医疗数据共享链主共识节点收集来自不同医疗数据共享用户的不同类型事务请求,使用用户公钥校验不同事务的数字签名,校验通过后根据事务类型进行事务编号,并向其余医疗数据共享链共识节点广播预共识事务请求;所述编号用于对不同类型事务进行排序;所述预共识事务请求中包含事务内容、事务摘要、事务编号和主共识节点的数据签名;其余共识节点收到包含预共识事务请求的广播后,验证所述主共识节点的数据签名,验证通过后检验所述事务编号是否为重复编号以及编号大小是否合理,当所有验证完成后当前共识节点向包括主共识节点在内的其余共识节点广播准备共识消息;所述准备共识消息包括事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名;各共识节点收到包含准备共识消息的广播后,校验准备共识消息中的当前共识节点的数据签名、事务编号和当前共识节点编号,验证通过后继续接收准备共识消息,直至每个共识节点接收的相同准备共识消息的数量达到设定阈值时判定各共识节点已完成共识工作,共识节点广播承诺共识消息,所述承诺共识消息包含事务内容、事务摘要、事务编号、当前共识节点编号和当前共识节点的数据签名;其余各共识节点校验通过继续接收所述承诺共识消息,当接收的所述承诺共识消息的数量达到设定阈值时判定各共识节点已经完成医疗数据共享链的共识过程,各共识节点执行用户数据共享事务中数据共享请求操作,并发送回复消息至当前用户节点,完成一轮医疗数据共享链的共识过程;所述回复消息中包含当前时间戳、当前客户端编号和数据共享请求操作结果;
医疗数据需求用户在数据共享事务上链后,通过链下传输收到的云存储数据链接获得所述原始医疗数据的加密压缩包,使用对应的用户密钥解密后获取原始医疗数据,完成医疗数据安全共享。
3.根据权利要求2所述的基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,所述基于所述初始信誉值对用户进行医疗数据共享节点角色分类,具体包括:
对所述初始信誉值进行排序,根据排序结果将用户划分为共识节点、备份节点和普通节点;
其中,共识节点竞争主节点地位,随机主导医疗数据共享链的共识过程;备份节点作为共识节点的后备节点,当共识节点信誉值过低掉出共识节点排名时由备份节点递补,共识过程中备份节点负责不同事务校验和响应;普通节点负责校验过程,不参与医疗数据共享链的共识过程。
4.根据权利要求2所述的基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,数据验证和存储模块采用对应样本的邻域粗糙集分类机器学习算法验证用户发送的原始医疗数据质量。
5.根据权利要求2所述的基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,所述数据共享事务中包含数据摘要、数据云存储证明、数据共享请求操作、数据说明、数据提供用户地址和当前时间戳信息;
所述数据需求事务包含数据共享请求操作、数据说明、数据需求用户地址和当前时间戳信息;所述数据共享请求操作包含数据价值和对数据的处理操作;所述数据说明包括原始医疗数据类型、质量和大小。
6.根据权利要求5所述的基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,所述医疗数据提供用户和医疗数据需求用户均根据实时更新的本地事务索引表进行数据共享匹配,匹配成功后在链下通过匿名通信模块进行实时通信协商,具体包括:
用户完成信息注册后在本地建立两份事务索引表,包括作为数据提供用户发布的共享事务索引表和作为数据需求用户发布的需求事务索引表;所述共享事务索引表中包含已发布共享数据的数据说明、数据摘要和数据提供用户地址;所述需求事务索引表包括需求数据说明和数据需求用户地址;
所述数据需求用户对所述数据提供用户发布的数据说明进行检索,在检索到目标事务后通过数据提供用户地址请求通信;
所述数据提供用户对所述数据需求用户发布的数据说明进行检索,在检索到目标事务后通过数据需求用户地址请求通信。
7.根据权利要求6所述的基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,所述匹配成功后在链下通过匿名通信模块进行实时通信协商,交易完成后交换用户密钥、云存储数据和信誉值代币,具体包括:
所述医疗数据提供用户和所述医疗数据需求用户之间建立通信连接后,所述医疗数据需求用户查看医疗数据提供用户传输的数据共享请求操作中的数据价值,根据所述数据价值在通道建立的交易过程中附加相应信誉值代币,建立链下匿名通信通道;
医疗数据提供用户和医疗数据需求用户在链下通道半承诺交易的空白区块中附加数据块,以附加信誉值代币为通信代价,实现交易双方的实时交流;
若双方达成交易意向,则通过在链下通道的最后一笔半承诺交易中进行数据费、加密密钥和云存储数据交换,完成数据共享过程,关闭通道;否则交易失败,暂时冻结通道,待双方退出后返还信誉值代币。
8.根据权利要求2所述的基于可验证延迟函数的区块链医疗数据共享方法,其特征在于,所述方法还包括:
通过所述医疗数据需求用户计算原始医疗数据的摘要,并将所述原始医疗数据的摘要与本地事务索引表中的数据摘要进行对比,以校验所述原始医疗数据的完整性。
CN202210703440.8A 2022-06-21 2022-06-21 基于可验证延迟函数的区块链医疗数据共享系统及方法 Active CN115086049B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210703440.8A CN115086049B (zh) 2022-06-21 2022-06-21 基于可验证延迟函数的区块链医疗数据共享系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210703440.8A CN115086049B (zh) 2022-06-21 2022-06-21 基于可验证延迟函数的区块链医疗数据共享系统及方法

Publications (2)

Publication Number Publication Date
CN115086049A CN115086049A (zh) 2022-09-20
CN115086049B true CN115086049B (zh) 2023-09-08

Family

ID=83253201

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210703440.8A Active CN115086049B (zh) 2022-06-21 2022-06-21 基于可验证延迟函数的区块链医疗数据共享系统及方法

Country Status (1)

Country Link
CN (1) CN115086049B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115913581B (zh) * 2023-02-27 2023-05-16 湖南半岛医疗科技有限公司 一种医疗数据管理方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111600709A (zh) * 2020-05-26 2020-08-28 牛津(海南)区块链研究院有限公司 可验证随机数的生成方法和装置
CN112637278A (zh) * 2020-12-09 2021-04-09 云南财经大学 基于区块链和属性基加密的数据共享方法、系统及计算机可读存储介质
CN112910840A (zh) * 2021-01-14 2021-06-04 重庆邮电大学 一种基于联盟区块链的医疗数据存储共享方法及系统
US11089051B1 (en) * 2021-02-15 2021-08-10 Theta Labs, Inc. Preventing denial-of-service attacks in decentralized edge networks using verifiable delay functions (VDFs)
WO2021203797A1 (zh) * 2020-04-07 2021-10-14 南京邮电大学 基于联盟链的汽车维修数据存储方法
WO2022027531A1 (zh) * 2020-08-03 2022-02-10 西安电子科技大学 区块链构建方法、系统、存储介质、计算机设备及应用
CN114281888A (zh) * 2021-10-30 2022-04-05 中国银联股份有限公司 一种区块链共识方法、装置、设备及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021203797A1 (zh) * 2020-04-07 2021-10-14 南京邮电大学 基于联盟链的汽车维修数据存储方法
CN111600709A (zh) * 2020-05-26 2020-08-28 牛津(海南)区块链研究院有限公司 可验证随机数的生成方法和装置
WO2022027531A1 (zh) * 2020-08-03 2022-02-10 西安电子科技大学 区块链构建方法、系统、存储介质、计算机设备及应用
CN112637278A (zh) * 2020-12-09 2021-04-09 云南财经大学 基于区块链和属性基加密的数据共享方法、系统及计算机可读存储介质
CN112910840A (zh) * 2021-01-14 2021-06-04 重庆邮电大学 一种基于联盟区块链的医疗数据存储共享方法及系统
US11089051B1 (en) * 2021-02-15 2021-08-10 Theta Labs, Inc. Preventing denial-of-service attacks in decentralized edge networks using verifiable delay functions (VDFs)
CN114281888A (zh) * 2021-10-30 2022-04-05 中国银联股份有限公司 一种区块链共识方法、装置、设备及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于空间量证明的共识算法综述;王昱博;马春光;;网络空间安全(第04期);全文 *

Also Published As

Publication number Publication date
CN115086049A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
CN111914027B (zh) 一种区块链交易关键字可搜索加密方法及系统
US9749297B2 (en) Manicoding for communication verification
Li et al. BCSE: Blockchain-based trusted service evaluation model over big data
Chai et al. CyberChain: Cybertwin empowered blockchain for lightweight and privacy-preserving authentication in Internet of Vehicles
WO2019232946A1 (zh) 医疗数据记录方法、系统、计算机设备和存储介质
CN113507360B (zh) 一种基于区块链的科技大数据的交换与共享的系统与方法
CN112235260B (zh) 一种匿名数据存证方法、装置、设备和存储介质
CN112261082B (zh) 基于区块链和安全多方计算的被动dns数据共享方法及系统
Naresh et al. Blockchain‐based patient centric health care communication system
CN112231769A (zh) 基于区块链的数值验证方法、装置、计算机设备和介质
CN112291062B (zh) 一种基于区块链的投票方法及装置
Qu et al. A electronic voting protocol based on blockchain and homomorphic signcryption
Killer et al. Design and implementation of cast-as-intended verifiability for a blockchain-based voting system
Tian et al. Contract coin: Toward practical contract signing on blockchain
CN112434026A (zh) 一种基于哈希链的安全知识产权质押融资方法
CN115086049B (zh) 基于可验证延迟函数的区块链医疗数据共享系统及方法
Zhu et al. New instant confirmation mechanism based on interactive incontestable signature in consortium blockchain
Ahmed et al. Toward fine‐grained access control and privacy protection for video sharing in media convergence environment
CN108898531B (zh) 一种基于区块链的福利信息处理系统及方法
CN115550067B (zh) 基于分布式标识的工业互联网互操作方法、系统及设备
Ozcelik et al. Cryptorevocate: A cryptographic accumulator based distributed certificate revocation list
EP4254234A1 (de) Ausstellen eines digitalen credentials für eine entität
Mershad et al. Lightweight blockchain solutions: Taxonomy, research progress, and comprehensive review
JP2023098847A (ja) 装置、方法、コンピュータプログラム(プライバシー保護ブロックチェーンの選択的監査プロセス)
Mandal et al. Design of electronic payment system based on authenticated key exchange

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