CN110135186B - 基于区块链技术的医疗数据交易与共享方法 - Google Patents

基于区块链技术的医疗数据交易与共享方法 Download PDF

Info

Publication number
CN110135186B
CN110135186B CN201910287444.0A CN201910287444A CN110135186B CN 110135186 B CN110135186 B CN 110135186B CN 201910287444 A CN201910287444 A CN 201910287444A CN 110135186 B CN110135186 B CN 110135186B
Authority
CN
China
Prior art keywords
data
node
transaction
hospital
endorsement
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
CN201910287444.0A
Other languages
English (en)
Other versions
CN110135186A (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.)
Hangzhou Pujian Medical Technology Co ltd
Tongxiang Beite Technology Co ltd
Original Assignee
Zhejiang University of Technology ZJUT
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 Zhejiang University of Technology ZJUT filed Critical Zhejiang University of Technology ZJUT
Priority to CN201910287444.0A priority Critical patent/CN110135186B/zh
Publication of CN110135186A publication Critical patent/CN110135186A/zh
Application granted granted Critical
Publication of CN110135186B publication Critical patent/CN110135186B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records

Landscapes

  • Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Epidemiology (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

基于区块链技术的医疗数据交易与共享方法,具体包括:步骤1:设备节点产生原始数据,依据和医生节点、个人节点签订的合约,向这些节点请求背书、共识之后存入到源数据链中,保证原始数真实、有效;步骤2:个人节点或医院确权节点发起确权请求,依据和联盟链中的其他医院确权节点签订的合约,向其请求背书、共识之后存入到确权链中,解决交易数据所有权的归属问题,从而解决交易利益的归属问题;步骤3:某医院的交易节点向数据提供医院的交易节点发起交易请求,按照和提供方签订的合约,向其请求背书、共识之后存入到交易链中,确保了每笔交易真实有效、有据可查。数据保护区将数据使用者和数据隔离,保证数据的安全。

Description

基于区块链技术的医疗数据交易与共享方法
技术领域
本发明是通过区块链技术构建一个去中心化的数据交易(共享)平台,并通过源数据链解决数据的真实有效性;通过确权链解决数据的所有权问题;通过交易链的可追溯性解决交易过程的真实合法性;通过数据保护区解决了数据安全以及隐私保护等问题。
背景技术
数据成为数字经济时代下的资产。人工智能、机器学习和深度学习技术对于提高健康医疗服务的效率和自动化程度有很大的促进作用,人工智能等技术的发展需要大量的数据来支撑。但单个部门或机构自身的数据有时难以支撑深度学习所需数据,比如医院的影像数据。各医院间进行数据共享可以解决这些难题,但实现数据共享并不是一个简单的问题。有些企业通过第三方大数据平台实现医疗数据的共享,存在各种安全风险,如私下买卖、恶意使用,可能会造成隐私数据的泄漏。区块链技术去中心化、开放性、自治性、不可篡改性、可追溯性、匿名性等特性,适用于医疗数据共享。
区块链是一种按照时间顺序将数据区块以链条的方式组合形成的特定数据结构,并以密码学的方式保证其不可篡改和不可伪造的去中心化、去信任的分布式共享总账系统。区块链并不是一项单一的技术创新,而是P2P网络、共识机制、非对称加密、链上脚本等多种技术的深度集成创新。
区块链技术具有去中心化的特点。由众多节点共同组成一个端到端的网络,网络的维护依赖网络中所有具有维护功能的节点的共同完成,各个节点地位平等,一个节点的损坏并不会影响整个系统的正常运行,网络具有很强的健壮性。又由于没有第三方机构的参与,从而大大减少数据分享的成本。
区块链技术具有不可篡改机制。由于相连的区块间后序区块对前序区块存在验证关系,若要篡改某个区块的数据,就要改变区块及其所有的后续区块数据,并且还需在共识机制的特定时间内改完。因此,参与节点越多,区块链的安全性就越有保障。对于区块链上记录的交易不能篡改,所以链上记录的信息是真实可靠的,日后如果有法律纠纷可以提供依据。
区块链技术具有可追溯机制。区块链采用带有时间戳的链式区块结构存储数据,为数据增加了时间维度,区块上每笔交易都通过密码学方法与相邻连个区块相连,因此任何一笔交易都是可追溯的。所以,对于数据使用者,可以清楚的知道数据提供者。同理,对于数据提供方,也可以清晰的知道数据的去处。
区块链技术具有匿名性。区块链中的用户只与公钥的地址相对应,而不是与用户的真实的身份相关联,用户无需通过暴露自己的真实身份就可以参与区块链的使用。
区块链的应用模式可分三种类型:公有链、私有链、联盟连。公有链中任何节点可以随意的进出网络不受系统的限制,网络中数据的读写权限不受限制;私有链中网络中的所有节点被一个组织控制,系统的运行规则及其共识机制由组织自行决定,读写权限受到限制;联盟链中部分节点可以随意接入,另一部分则需要授权才可以进入,因此联盟链易于实现权限控制,加入的成员大部分都是可信的,从而提高了整个联盟组织的可信度,对数据安全有一定的保障。
本发明是基于超级帐本(Hyperledger)的Fabric网络,超级账本属于联盟链,可提高整个网络上节点的可信度。超级账本为Linux基金会的开源合作项目,旨在推进跨行业区块链技术。其中包含了多个项目,而Fabric是最重要的项目之一。Fabric是由多个模块组成的程序组,其中Orderer和Peer这两个模块是Fabric的核心模块。Orderer模块(也称打包模块)负责对不同客户端发送的交易进行排序和打包。然而,在一个组织中Peer模块需要扮演不同的角色。分别为背书节点(Endorse Peer)、锚节点(Anchor Peer)、主节点(LeaderPeer)和提交节点(Committer Peer)。
背书节点:背书节点主要负责对交易进行校验。当背书节点接收到客户端发来的交易请求之后会对交易的合法性进行检验,检验成功之后会将结果反馈给客户端。
锚节点:锚节点主要负责代表组织和其他组织进行信息交换。每个组织都有一个锚节点,锚节点对于组织非常重要,如果锚节点出现问题,那么组织和其他组织会失去联系。
主节点:主节点主要负责代表组织从Orderer节点中获取区块消息。Leader节点在组织中只有一个。
提交节点:提交节点主要负责维护区块链的账本结构,该节点会定期的从Orderer节点获取包含交易的区块,在对这些区块链进行合法校验之后,会把这些区块加入到区块链中。
外界要与超级帐本Fabric网络交互,是通过编写Chaincode(智能合约)来实现的,这也是外界与区块链交互的唯一渠道。Chaincode通过调用Fabric预留的接口,来实现业务逻辑和背书策略。
发明内容
本发明要克服现有技术的上述缺点,提供一种基于区块链技术的医疗数据交易与共享方法。
医疗数据交易(共享)平台涉众包括医院、医生、个人(病人)、设备。医疗数据是某家医院中的某位医生、某些设备以及针对某位病人在诊断、治疗时产生的数据。为了能从源头上保证这些数据的真实有效性,本发明将这些产生的数据经过设备、医生和病人节点共识之后,把这些数据的哈希值存到区块链上,这条链我们称为源数据链。为了使数据能够交易或共享,就必须对数据进行确权。确权是为了确定数据的归属权,本发明认为医疗数据是医院和个人共同拥有的,所以都有权享有数据交易(共享)所带来的利益以及对数据发起确权请求的权力。交易或共享中涉及的利益分配通过区块链、智能合约来完成。不论医院还是病人发起的数据确权请求,都将该数据发给相应的医院进行背书、共识之后存到区块链中,这条链我们称之为确权链。任何第三方想要使用这些确权过的数据,都要向数据拥有者提出“交易”或“共享”请求,拥有者授权之后方能获得。为了记录这一过程,能够为日后对该交易进行回溯提供支持,所以要将该交易存储到区块链中,这条链我们称之为交易链。
本发明针对医院数据,认为第三方仅获得数据的使用权而不能私自占有。所以,医疗数据交易(共享)平台设立了数据保护区。数据保护区提供了沙箱(沙箱是一个虚拟系统程序,运行所产生的变化可以随后删除,在其内部运行的程序并不能对硬盘产生永久性的影响)运行环境,使用者的程序运行在容器中,避免了对数据的直接接触,真正做到了将数据使用者和数据隔离开,从而避免数据被复制窃取、篡改和隐私泄漏的危险。通过堡垒机技术,所有进入数据保护区用户的权限都经过严格的控制。而且,通过审查机制,所有返回的结果都经过严格的审查方能带出。又因为,本发明认为数据的控制权应该由数据拥有者控制,所以,数据保护区又给数据拥有者提供特殊的权限,数据拥有者可以查看数据的使用日志,也可以控制数据保护区无条件的删除数据。这样既可以保护数据的安全,又可以真正的做到数据使用权和所有权的分离。
为了使数据交易(共享)更方便,医疗数据交易(共享)平台提供了数据交易网站。数据交易网站是提供数据交易的地方,医院可以把确权过的数据放到该网站上,网站后端读取该数据的基本信息(主要是该数据所在确权链上的元数据)展示到前端,该信息可以作为消费者是否“购买”该数据的一个参考。买家可以通过该网站对想要的数据发起交易,然后,网站把该交易请求发给数据拥有者,数据拥有者同意后方有效。等买家付款之后,卖家把相应的数据发送到买家的数据保护区中。然后,把这一交易过程存到交易链中,到此,该交易结束。
本发明是一种去中心化、确权、防篡改、可追溯、防窃占、安全、高效、可靠的医疗数据交易(共享)平台构建方法,其主要功能是进行数据确权、保证交易数据是真实有效,杜绝数据提供者对数据的造假,以及保证数据安全使用,防止数据使用者篡改、复制和泄漏隐私。
本发明采用三种链,分别是源数据链、确权链和交易链。原始数据存放在数据提供者的本地数据库,数据在数据交易网站上进行交易与共享,被交易的原始数据将放在数据使用者的数据保护区中被使用。
基于区块链技术的医疗数据交易与共享方法,包括以下步骤:
步骤1:设备节点产生原始数据,并按照其和医生节点、个人节点签订的智能合约的规则,向这些节点请求背书、共识之后存入到源数据链中,保证原始数真实、有效;产生源数据链的具体步骤是:
1)医疗设备节点产生数据;
1.1)检查数据无误后,用私钥进行签名;
1.2)对数据进行哈希操作;
1.3)根据智能合约把数据和相应的哈希值发送给相关的医生节点;
2)医生节点收到设备节点发送的数据后,对该数据进行审计:
2.1)检查产生该数据设备的ID和病人ID;
2.2)对数据重新做哈希,得到的哈希值与设备节点发送过来的哈希值作比较,防止数据在传输过程中被修改。如果不同,则结束;
如果相同,则继续下面步骤;
2.3)对数据真实有效性检查,用其私钥对审计结果,“真”或“假”,进行签名并把审计结果返还给设备节点;
3)设备节点收到医生的审计结果,如果为“假”,则结束;如果为
“真”,再把数据发送给个人节点;
4)个人节点对设备节点发送的数据进行审计;
4.1)校验设备和医生的签名;
4.2)对数据重新做哈希,得到的哈希值与设备节点发送过来的哈希值作比较。如果不同,则结束;如果相同,则继续下面步骤;
4.3)对数据真实有效性检查,用其私钥对审计结果,“真”或“假”,进行签名并把审计结果返还给设备节点;
5)设备节点收到个人节点的审计结果,如果为“假”,则结束;如果为“真”,则把收到的审计结果和数据的哈希值打包成一笔交易,然后把该交易发送到打包节点;
6)打包节点把接收到的交易按时间排序,然后构造成区块;
7)打包节点把构造好的区块发送给设备节点、医生节点和个人节点中的提交模块进行区块校验:
7.1)验证区块中交易数据:
7.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改;
7.1.2)记账节点是否加入这个通道;
7.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC,Validator System Chaincode--用于交易背书的验证)进行背书策略验证;
7.2)验证背书策略:
7.2.1)背书节点是否来自智能合约中的节点;
7.2.1)是否满足智能合约中要求的背书节点的数量;
7.2.3)所有背书节点的证书和签名是否有效;
7.2.4)如果不符合,则结束;否则,提交给多版本并发控制器(MVCC,Multi-Version Concurrency Control--用于读写集的验证)进行版本验证;
7.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较;如果版本不同,则结束;否则,进行下一步骤;
7.4)把该区块存入到账本中并更新状态数据库;
步骤2:个人节点或医院的确权节点发起确权请求,并按照其和其他联盟链中的医院的确权节点签订的智能合约的规则,向其请求背书、共识之后存入到确权链中,解决了交易数据所有权的归属问题,从而解决数据交易产生利益的归属问题;产生确权链的具体步骤包括:
a)个人节点向该隶属的医院节点发送确权请求,医院节点对确权进行处理,返回“真”或“假”;
b)如果请求结果是“假”,则结束;如果为“真”,则:
b.1)构造相应的病历,从源数据链上提取相关数据的哈希值装载到病历中;
b.2)用该病例上数据的哈希值构造默克尔树根(Merkle Tree Root),然后用自己的私钥对数据进行签名;
b.3)最后将构造好的病历发送给其隶属的医院节点进行审计;
c)医院确权节点接收到个人节点发来的病历,对其进行审计;
c.1)医院确权节点找到该病人的源数据链,通过该病历上的数据哈希值找到产生该数据时的交易,审计该交易中的相关内容,检查是否符合要确权数据的相关要求;
c.2)通过相同的方式,遍历病历上的所有哈希值,给出最终的审计结果,如果审计的数据都为“真”,则结果为“真”;反之,其中有任何一个为“假”,则结果为“假”;
c.3)医院节点把审计结果写到确权交易上并为其签名,然后发给个人节点;
d)个人节点收到审计结果,检查结果。如果结果为“假”,则结束确权过程;否则,根据智能合约的背书规则发给其他医院节点进行审计;
e)其他医院的确权节点接收到该病例后,按步骤c)所述步骤进行审计,对审计结果进行签名并发给个人节点;
f)个人节点收到审计结果,检查结果;如果结果为“假”,则结束确权过程;否则,发送给打包节点;
g)打包节点把接收到的交易按时间排序,然后构造成区块;
h)打包节点把构造好的区块发送给各个医院的确权节点和发起确权请求的个人节点中的提交模块进行区块校验:
h.1)验证区块中交易数据:
h.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改;
h.1.2)记账节点是否加入这个通道;
h.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC)进行背书策略验证;
h.2)验证背书策略:
h.2.1)背书节点是否来自智能合约中的节点;
h.2.1)是否满足智能合约中要求的背书节点的数量;
h.2.3)所有背书节点的证书和签名是否有效;
h.2.3)如果不符合,则结束;否则,提交给MVCC进行版本验证;
h.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较。如果版本不同,则结束;否则,进行下一步骤;
h.4)把该区块存入到账本中并更新状态数据库;
步骤3:某医院的交易节点向出售数据的医院的交易节点发起交易请求,并按照其和这家医院节点签订的智能合约的规则,向其请求背书、共识之后存入到交易链中,由于区块链的可追溯性,从而确保了每笔交易真实有效、有据可查;产生交易链步骤包括:
i)医院C通过数据交易网站向医院A发起数据交易请求;
ii)数据交易网站将医院C购买数据的哈希值装载到本次交易中,并通过“交易总额=交易数量*数据单价”公式计算出本次消费的金额,等待医院C付款;
iii)医院C付款后,等待医院A发货;
iv)医院A收到款项之后,通过交易中数据的哈希值到本地数据库中取出医院C购买的原始数据,并将原始数据进行加密后,发送到医院C中数据保护区中;
v)医院C收到医院A发送来的数据后,并对数据做出相应的检查;如果检查未通过,则结束;否则,将该交易发送给打包节点;
vi)打包节点把接收到的交易按时间排序,然后构造成区块;
vii)打包节点把构造好的区块发送给各个医院的交易节点的提交模块进行区块校验:
vii.1)验证区块中交易数据:
vii.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改;
vii.1.2)记账节点是否加入这个通道;
vii.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC)进行背书策略验证;
vii.2)验证背书策略:
vii.2.1)背书节点是否来自智能合约中的节点;
vii.2.1)是否满足智能合约中要求的背书节点的数量;
vii.2.3)所有背书节点的证书和签名是否有效;
vii.2.4)如果不符合,则结束;否则,提交给MVCC进行版本验证;
vii.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较;如果版本不同,则结束;否则,进行下一步骤;
vii.4)把该区块存入到账本中并更新状态数据库。
进一步,第iv)步骤中的数据保护区是本发明的重要组成模块。数据保护区是购买方使用数据的场所,其控制权为数据提供者所有,根据购买方具有的权利执行相应的操作,该模块使数据使用者和数据隔离开,从而保证所购买数据的合理、安全使用;不妨设用户在数据保护区的计算区上运行的一个预测癌细胞扩散的深度学习的应用程序;
具体步骤是:
A)用户通过数据交易网站购买用于深度学习的数据,数据提供者把相关数据发送到该用户的数据保护区的数据存储平台。
A.1)验证数据是不是购买的那些数据(对发送过来的数据进行哈希,得到的哈希值与交易中的哈希值做对比)。
A.2)验证发送数据的完整性(对发送过来的数据进行从新构造默克尔树,得到新的默克尔树根与交易中的默克尔树根做对比)。
B)用户向堡垒机申请计算请求,堡垒机对用户进行身份检查确认后,允许其进入。
C)用户把深度学习的应用程序放到数据保护区的计算区,通过沙箱来运行该程序。
D)深度学习程序运行结束后,产生的结果通过审计区审计后,方可下载使用。
通过上述的步骤,即可实现一个去中心化、防篡改、可追溯、安全、高效、可靠的医疗数据交易和共享平台。
本发明的优点是:源数据链记录了从医疗设备产生的原始数据,经过医生节点和个人节点的共识之后存储到链上,从而从数据源头保证了数据的真实性和有效性;确权链解决了数据的归属问题,从而解决了数据在流通过程中产生利益的归属问题;交易链记录了数据和利益的流向,实现了数据交易的可追溯性,为日后的利益纠纷提供法律依据;数据保护区不仅实现了数据的安全防止个人隐私的泄漏,还使数据的所有权和使用权得到了分离,真正做到了数据版权的保护。
附图说明
图1是本发明产生源数据链示意图。
图2是本发明病历格式和默克尔树示意图。
图3是本发明产生确权链示意图。
图4是本发明产生交易链示意图。
图5是本发明数据保护区示意图。
图6是物理上系统架构示意图。
图7是逻辑上系统架构示意图。
具体实施方式
下面将结合附图,对基于区块链技术的医疗数据交易与共享方法做进一步的说明。
参照图1,是描述了源数据链产生的过程。维护该链的的节点有3种,分别是设备节点、医生节点和个人节点。
设备节点是产生数据的源头,对于某一病情可能经历多个医疗设备节点,就会产生多个数据源头;医生节点是该病人的主治医生,主要功能是负责对数的检验并为其背书;个人节点和医生节点功能相似,也是主要对数据的校验并为其背书。数据通过这些节点的共识之后,把设备节点产生的原始数据的hash值和背书过程存到源数据链上,原始数据存放到医院的数据库中。上链后数据的hash值将不能篡改,所以对应的数据也将不能改变。数据一旦改变将产生不同的hash值,和链上的hash比较之后很容易得知数据是否已经被篡改。因而,从源头上确保了数据的真实性和有效性。
1)医疗设备节点产生数据
1.1)检查数据无误后,用私钥进行签名
1.2)对数据进行哈希操作
1.3)根据智能合约把数据和相应的哈希值发送给相关的医生节点
2)医生节点收到设备节点发送的数据后,对该数据进行审计:
2.1)检查产生该数据设备的ID和病人ID
2.2)对数据重新做哈希,得到的哈希值与设备节点发送过来的哈希值作比较,防止数据在传输过程中被修改。如果不同,则结束;
如果相同,则继续下面步骤
2.3)对数据真实有效性检查,用其私钥对审计结果(“真”或“假”)进行签名并把审计结果返还给设备节点;
3)设备节点收到医生的审计结果,如果为“假”,则结束;如果为“真”,再把数据发送给个人节点;
4)个人节点对设备节点发送的数据进行审计
4.1)校验设备和医生的签名
4.2)对数据重新做哈希,得到的哈希值与设备节点发送过来的哈希值作比较。如果不同,则结束;如果相同,则继续下面步骤
4.3)对数据真实有效性检查,用其私钥对审计结果(“真”或“假”)进行签名并把审计结果返还给设备节点;
5)设备节点收到个人节点的审计结果,如果为“假”,则结束;
如果为“真”,则把收到的审计结果和数据的哈希值打包成一笔交易,然后把该交易发送到打包节点
6)打包节点把接收到的交易按时间排序,然后构造成区块
7)打包节点把构造好的区块发送给设备节点、医生节点和个人节点中的提交模块进行区块校验:
7.1)验证区块中交易数据:
7.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改
7.1.2)记账节点是否加入这个通道
7.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC,Validator System Chaincode--用于交易背书的验证)进行背书策略验证
7.2)验证背书策略:
7.2.1)背书节点是否来自智能合约中的节点
7.2.1)是否满足智能合约中要求的背书节点的数量
7.2.3)所有背书节点的证书和签名是否有效
7.2.4)如果不符合,则结束;否则,提交给多版本并发控制器(MVCC,Multi-Version Concurrency Control--用于读写集的验证)进行版本验证
7.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较。如果版本不同,则结束;否则,进行下一步骤
7.4)把该区块存入到账本中并更新状态数据库;
图2是病历格式以及默克尔树的构造过程。在本系统中是以病历为基本单位为其确权的。因为,只有和病情相关的所有数据才是有价值的。所以,在确权之前要把源数据链上松散的数据,整合成相应的病历(病历上的数据是对应原始数据相应的hash值),然后对这个病历进行确权。
图3描述了确权链的产生过程。本图是由3个医院组织和1个组织节点组成,本发明认为数据归个人和医院所共有,所以两者都可以对数据发起确权请求。为了说明简单,则以个人节点发起确权请求为例。
a)个人节点向该隶属的医院节点发送确权请求,医院节点对确权进行处理,返回“真”或“假”
b)如果请求结果是“假”,则结束。如果为“真”,则
b.1)构造相应的病历(从源数据链上提取相关数据的哈希值装载到病历中)。
b.2)用该病例上数据的哈希值构造默克尔树根(Merkle Tree Root),然后用自己的私钥对数据进行签名
b.3)最后将构造好的病历发送给其隶属的医院节点进行审计
c)医院确权节点接收到个人节点发来的病历,对其进行审计
c.1)医院确权节点找到该病人的源数据链,通过该病历上的数据哈希值找到产生该数据时的交易,审计该交易中的相关内容,检查是否符合要确权数据的相关要求
c.2)通过相同的方式,遍历病历上的所有哈希值,给出最终的审计结果(如果审计的数据都为“真”,则结果为“真”;反之,其中有任何一个为“假”,则结果为“假”)
c.3)医院节点把审计结果写到确权交易上并为其签名,然后发给个人节点
d)个人节点收到审计结果,检查结果。如果结果为“假”,则结束确权过程;否则,根据智能合约的背书规则发给其他医院节点进行审计
e)其他医院的确权节点接收到该病例后,按步骤c)所述步骤进行审计,对审计结果进行签名并发给个人节点
f)个人节点收到审计结果,检查结果。如果结果为“假”,则结束确权过程;否则,发送给打包节点
g)打包节点把接收到的交易按时间排序,然后构造成区块。
h)打包节点把构造好的区块发送给各个医院的确权节点和发起确权请求的个人节点中的提交模块进行区块校验:
h.1)验证区块中交易数据:
h.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改
h.1.2)记账节点是否加入这个通道
h.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC)进行背书策略验证
h.2)验证背书策略:
h.2.1)背书节点是否来自智能合约中的节点
h.2.1)是否满足智能合约中要求的背书节点的数量
h.2.3)所有背书节点的证书和签名是否有效
h.2.3)如果不符合,则结束;否则,提交给MVCC进行版本验证
h.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较。如果版本不同,则结束;否则,进行下一步骤
h.4)把该区块存入到账本中并更新状态数据库;
参考图4,是描述了数据交易链的产生过程。本图是由3个医院组织构成,交易数据的来源是确认链上的数据。通过数据交易网站发起交易请求。为了说明交易这一过程,不妨假设医院C向医院A购买数据。
i)医院C通过数据交易网站向医院A发起数据交易请求
ii)数据交易网站将医院C购买数据的哈希值装载到本次交易中,并通过“交易总额=交易数量*数据单价”公式计算出本次消费的金额,等待医院C付款
iii)医院C付款后,等待医院A发货
iv)医院A收到款项之后,通过交易中数据的哈希值到本地数据库中取出医院C购买的原始数据,并将原始数据进行加密后,发送到医院C中数据保护区中
v)医院C收到医院A发送来的数据后,并对数据做出相应的检查(数据的完整性、真实性等)。如果检查未通过,则结束;否则,将该交易发送给打包节点
vi)打包节点把接收到的交易按时间排序,然后构造成区块
vii)打包节点把构造好的区块发送给各个医院的交易节点的提交模块进行区块校验:
vii.1)验证区块中交易数据:
vii.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改
vii.1.2)记账节点是否加入这个通道
vii.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC)进行背书策略验证
vii.2)验证背书策略:
vii.2.1)背书节点是否来自智能合约中的节点
vii.2.1)是否满足智能合约中要求的背书节点的数量
vii.2.3)所有背书节点的证书和签名是否有效
vii.2.4)如果不符合,则结束;否则,提交给MVCC进行版本验证
vii.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较。如果版本不同,则结束;否则,进行下一步骤
vii.4)把该区块存入到账本中并更新状态数据库;
图5描述了数据保护区的结构。数据保护区的内部由两部分组成:数据存储平台、计算区。数据存储平台用于存储购买来的数据,数据通过加密存储在数据保护区中的数据库中。
计算区用于运行各种应用程序,比如机器学习等应用程序。这些应用程序运行在沙箱中,程序运行结束后并不会对数据库中的数据产生影响,从而保证了原始数据的不变性。
应用程序想进入到数据保护区的计算区,首先,要通过堡垒机(堡垒机是即在一个特定的网络环境下,为了保障网络和数据不受来自外部和内部用户的入侵和破坏,而运用各种技术手段实时收集和监控网络环境中每一个组成部分的系统状态、安全事件、网络活动,以便集中报警、及时处理及审计定责)的审查,并获得同意后方可进入。
应用程序运算结束后产生的结果要想带出数据保护区,必须通过相应的审查。审查是否涉及到个人的隐私、敏感数据以及一些重要的原始数据等。
本发明还留给了数据提供者一个特殊接口,数据提供者可以通过该接口查看数据的使用情况,也可以一键删除所提供的原始数据,从而牢牢地保证数据提供者对数据的控制权。
假设用户想在数据保护区的计算区上运行的一个预测癌细胞扩散的深度学习的应用程序。
A)用户通过数据交易网站购买用于深度学习的数据,数据提供者把相关数据发送到该用户的数据保护区的数据存储平台。
A.1)验证数据是不是购买的那些数据(对发送过来的数据进行哈希,得到的哈希值与交易中的哈希值做对比)。
A.2)验证发送数据的完整性(对发送过来的数据进行从新构造默克尔树,得到新的默克尔树根与交易中的默克尔树根做对比)。
B)用户向堡垒机申请计算请求,堡垒机对用户进行身份检查确认后,允许其进入。
C)用户把深度学习的应用程序放到数据保护区的计算区,通过沙箱来运行该程序。
D)深度学习程序运行结束后,产生的结果通过审计区审计后,方可下载使用。
图6和图7分别是本发明的物理系统架构图和逻辑系统架构图。通过这两张图可以清楚的展现出本发明的物理结构和逻辑结构。
通过上述的构建方法,即可实现一个去中心化、防篡改、可追溯、安全、高效、可靠的医疗数据交易与共享平台。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。

Claims (2)

1.基于区块链技术的医疗数据交易与共享方法,包括以下步骤:步骤1:设备节点产生原始数据,并按照其和医生节点、个人节点签订的智能合约的规则,向医生节点、个人节点请求背书、共识之后存入到源数据链中,保证原始数真实、有效;产生源数据链的具体步骤是:
1)医疗设备节点产生数据;
1.1)检查数据无误后,用私钥进行签名;
1.2)对数据进行哈希操作;
1.3)根据智能合约把数据和相应的哈希值发送给相关的医生节点;
2)医生节点收到设备节点发送的数据后,对该数据进行审计:
2.1)检查产生该数据设备的ID和病人ID;
2.2)对数据重新做哈希,得到的哈希值与设备节点发送过来的哈希值作比较,防止数据在传输过程中被修改;如果不同,则结束;如果相同,则继续下面步骤;
2.3)对数据真实有效性检查,用其私钥对审计结果,“真”或“假”,进行签名并把审计结果返还给设备节点;
3)设备节点收到医生的审计结果,如果为“假”,则结束;如果为“真”,再把数据发送给个人节点;
4)个人节点对设备节点发送的数据进行审计;
4.1)校验设备和医生的签名;
4.2)对数据重新做哈希,得到的哈希值与设备节点发送过来的哈希值作比较;如果不同,则结束;如果相同,则继续下面步骤;
4.3)对数据真实有效性检查,用其私钥对审计结果,“真”或“假”,进行签名并把审计结果返还给设备节点;
5)设备节点收到个人节点的审计结果,如果为“假”,则结束;
如果为“真”,则把收到的审计结果和数据的哈希值打包成一笔交易,然后把该交易发送到打包节点;
6)打包节点把接收到的交易按时间排序,然后构造成区块;
7)打包节点把构造好的区块发送给设备节点、医生节点和个人节点中的提交模块进行区块校验:
7.1)验证区块中交易数据:
7.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改;
7.1.2)记账节点是否加入这个通道;
7.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC,Validator System Chaincode--用于交易背书的验证)进行背书策略验证;
7.2)验证背书策略:
7.2.1)背书节点是否来自智能合约中的节点;
7.2.1)是否满足智能合约中要求的背书节点的数量;
7.2.3)所有背书节点的证书和签名是否有效;
7.2.4)如果不符合,则结束;否则,提交给多版本并发控制器(MVCC,Multi-VersionConcurrency Control--用于读写集的验证)进行版本验证;
7.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较;如果版本不同,则结束;否则,进行下一步骤;
7.4)把该区块存入到账本中并更新状态数据库;
步骤2:个人节点或医院的确权节点发起确权请求,并按照其和其他联盟链中的医院的确权节点签订的智能合约的规则,向其请求背书、共识之后存入到确权链中,解决了交易数据所有权的归属问题,从而解决数据交易产生利益的归属问题;产生确权链的具体步骤包括:
a)个人节点向其隶属的医院节点发送确权请求,医院节点对确权进行处理,返回“真”或“假”;
b)如果请求结果是“假”,则结束;如果为“真”,则:
b.1)构造相应的病历,从源数据链上提取相关数据的哈希值装载到病历中;
b.2)用该病历上数据的哈希值构造默克尔树根(Merkle Tree Root),然后用自己的私钥对数据进行签名;
b.3)最后将构造好的病历发送给其隶属的医院节点进行审计;
c)医院确权节点接收到个人节点发来的病历,对其进行审计;
c.1)医院确权节点找到该病人的源数据链,通过该病历上的数据哈希值找到产生该数据时的交易,审计该交易中的相关内容,检查是否符合要确权数据的相关要求;
c.2)通过相同的方式,遍历病历上的所有哈希值,给出最终的审计结果,如果审计的数据都为“真”,则结果为“真”;反之,其中有任何一个为“假”,则结果为“假”;
c.3)医院节点把审计结果写到确权交易上并为其签名,然后发给个人节点;
d)个人节点收到审计结果,检查结果;如果结果为“假”,则结束确权过程;否则,根据智能合约的背书规则发给其他医院节点进行审计;
e)其他医院的确权节点接收到该病历后,按步骤c)所述步骤进行审计,对审计结果进行签名并发给个人节点;
f)个人节点收到审计结果,检查结果;如果结果为“假”,则结束确权过程;否则,发送给打包节点;
g)打包节点把接收到的交易按时间排序,然后构造成区块;
h)打包节点把构造好的区块发送给各个医院的确权节点和发起确权请求的个人节点中的提交模块进行区块校验:
h.1)验证区块中交易数据:
h.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改;
h.1.2)记账节点是否加入这个通道;
h.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC)进行背书策略验证;
h.2)验证背书策略:
h.2.1)背书节点是否来自智能合约中的节点;
h.2.2)是否满足智能合约中要求的背书节点的数量;
h.2.3)所有背书节点的证书和签名是否有效;
h.2.4)如果不符合,则结束;否则,提交给MVCC进行版本验证;
h.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较;如果版本不同,则结束;否则,进行下一步骤;
h.4)把该区块存入到账本中并更新状态数据库;
步骤3:某医院的交易节点向出售数据的医院的交易节点发起交易请求,并按照其和这家医院节点签订的智能合约的规则,向其请求背书、共识之后存入到交易链中,由于区块链的可追溯性,从而确保了每笔交易真实有效、有据可查;产生交易链步骤包括:
i)医院C通过数据交易网站向医院A发起数据交易请求;
ii)数据交易网站将医院C购买数据的哈希值装载到本次交易中,并通过“交易总额=交易数量*数据单价”公式计算出本次消费的金额,等待医院C付款;
iii)医院C付款后,等待医院A发货;
iv)医院A收到款项之后,通过交易中数据的哈希值到本地数据库中取出医院C购买的原始数据,并将原始数据进行加密后,发送到医院C中数据保护区中;
v)医院C收到医院A发送来的数据后,并对数据做出相应的检查;如果检查未通过,则结束;否则,将该交易发送给打包节点;
vi)打包节点把接收到的交易按时间排序,然后构造成区块;
vii)打包节点把构造好的区块发送给各个医院的交易节点的提交模块进行区块校验:
vii.1)验证区块中交易数据:
vii.1.1)是否为合法交易:交易格式是否正确,是否有合法签名,交易内容是否被篡改;
vii.1.2)记账节点是否加入这个通道;
vii.1.3)如果检查结果不符合要求,则结束;否则,提交给校验系统链码(VSCC)进行背书策略验证;
vii.2)验证背书策略:
vii.2.1)背书节点是否来自智能合约中的节点;
vii.2.2)是否满足智能合约中要求的背书节点的数量;
vii.2.3)所有背书节点的证书和签名是否有效;
vii.2.4)如果不符合,则结束;否则,提交给MVCC进行版本验证;
vii.3)MVCC通过模拟执行时的状态数据的版本和提交交易时状态数据的版本进行比较;如果版本不同,则结束;否则,进行下一步骤;
vii.4)把该区块存入到账本中并更新状态数据库。
2.如权利要求1所述的基于区块链技术的医疗数据交易与共享方法,数据保护区是购买方使用数据的场所,其控制权为数据提供者所有,根据购买方具有的权利执行相应的操作,该数据保护区使数据使用者和数据隔离开,从而保证所购买数据的合理、安全使用;具体步骤是:
A)用户通过数据交易网站购买用于深度学习的数据,数据提供者把相关数据发送到该用户的数据保护区的数据存储平台;
A.1)验证数据是不是购买的那些数据,即对发送过来的数据进行哈希,得到的哈希值与交易中的哈希值做对比;
A.2)验证发送数据的完整性,即对发送过来的数据进行从新构造默克尔树,得到新的默克尔树根与交易中的默克尔树根做对比;
B)用户向堡垒机申请计算请求,堡垒机对用户进行身份检查确认后,允许其进入;
C)用户把深度学习的应用程序放到数据保护区的计算区,通过沙箱来运行该程序;
D)深度学习程序运行结束后,产生的结果通过审计区审计后,方可下载使用。
CN201910287444.0A 2019-04-11 2019-04-11 基于区块链技术的医疗数据交易与共享方法 Active CN110135186B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910287444.0A CN110135186B (zh) 2019-04-11 2019-04-11 基于区块链技术的医疗数据交易与共享方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910287444.0A CN110135186B (zh) 2019-04-11 2019-04-11 基于区块链技术的医疗数据交易与共享方法

Publications (2)

Publication Number Publication Date
CN110135186A CN110135186A (zh) 2019-08-16
CN110135186B true CN110135186B (zh) 2020-10-09

Family

ID=67569641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910287444.0A Active CN110135186B (zh) 2019-04-11 2019-04-11 基于区块链技术的医疗数据交易与共享方法

Country Status (1)

Country Link
CN (1) CN110135186B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110515978B (zh) * 2019-08-30 2023-02-07 上海浦东发展银行股份有限公司信用卡中心 一种状态数据库交易验签实现方法
CN110706797B (zh) * 2019-09-16 2022-03-04 重庆华医康道科技有限公司 一种医疗机构的医疗数据实时上链的方法
CN110599181B (zh) * 2019-09-26 2021-05-11 腾讯科技(深圳)有限公司 基于区块链的数据处理方法、装置和设备及存储介质
CN110716719B (zh) * 2019-10-09 2023-05-09 民生科技有限责任公司 一种金融区块链联盟平台交易动态背书策略实现方法
CN110851445B (zh) * 2019-11-07 2022-05-03 浪潮云信息技术股份公司 一种基于区块链技术的安全存储数据的方法
CN111125756B (zh) * 2019-12-13 2023-10-10 江苏通付盾数字化技术有限公司 一种零信任和保护数据隐私的数据确权系统及其方法
CN111181968B (zh) * 2019-12-30 2021-09-21 北京金山云网络技术有限公司 跨区块链通信方法、装置、跨链服务系统及跨链交易系统
CN111209591B (zh) * 2019-12-31 2022-03-29 浙江工业大学 一种按时间排序的存储结构与快速查询的方法
CN111506590B (zh) * 2020-04-13 2023-07-04 同方知网数字出版技术股份有限公司 一种数字作品版权确权与交易可信记录管理方法
CN111508576B (zh) * 2020-04-17 2023-04-07 北京邮电大学 一种基于联盟链的数据处理方法及系统
CN112487088B (zh) * 2020-11-26 2021-08-24 中国搜索信息科技股份有限公司 一种基于区块链的融媒体资源版权保护方法
CN112559627B (zh) * 2020-12-11 2023-08-04 东北大学 一种基于联盟链的链上-链下协同电子病历数据共享方法
CN113112354A (zh) * 2021-03-04 2021-07-13 卓尔智联(武汉)研究院有限公司 一种区块链网络的交易处理方法、区块链网络及存储介质
CN113177790A (zh) * 2021-04-27 2021-07-27 北京海泰方圆科技股份有限公司 一种基于区块链的车联网约车方法、装置、设备及介质
CN113726525A (zh) * 2021-09-09 2021-11-30 国网电子商务有限公司 一种能源工业云网数据溯源方法及装置
CN113922996B (zh) * 2021-09-29 2022-12-30 昆明信息港传媒有限责任公司 一种基于跨区块链技术的电子学籍档案隐私保护方法
CN115438383B (zh) * 2022-11-09 2023-02-14 南京邮电大学 基于区块链通道技术的临床试验数据上传及共享方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10755819B2 (en) * 2017-09-29 2020-08-25 International Business Machines Corporation Multi agent consensus resolution and re-planning
CN109243548A (zh) * 2018-08-22 2019-01-18 广东工业大学 一种基于区块链技术的医疗数据平台
CN109243559A (zh) * 2018-09-03 2019-01-18 南京旭颢信息科技有限公司 基于区块链技术的个人健康电子病历共享及查询方法
CN109543447B (zh) * 2018-11-07 2023-03-31 深圳平安医疗健康科技服务有限公司 基于区块链的信息处理方法、服务器及计算机存储介质
CN109525573A (zh) * 2018-11-08 2019-03-26 安徽太阳石科技有限公司 基于区块链的数据安全共享方法及其系统

Also Published As

Publication number Publication date
CN110135186A (zh) 2019-08-16

Similar Documents

Publication Publication Date Title
CN110135186B (zh) 基于区块链技术的医疗数据交易与共享方法
Namasudra et al. The revolution of blockchain: State-of-the-art and research challenges
Mohanta et al. Blockchain technology: A survey on applications and security privacy challenges
Joshi et al. A survey on security and privacy issues of blockchain technology.
Andrew et al. Blockchain for healthcare systems: Architecture, security challenges, trends and future directions
US20190392429A1 (en) Capital inheritance system and method for facilitating transfer of digital cryptocurrency
Jani Smart contracts: Building blocks for digital transformation
Bergquist Blockchain technology and smart contracts: privacy-preserving tools
Joshi et al. Adoption of blockchain technology for privacy and security in the context of industry 4.0
CN111414434B (zh) 基于区块链的数据交易管理网络、交易设备和存储介质
Tyagi Decentralized everything: Practical use of blockchain technology in future applications
CN115033919A (zh) 一种基于可信设备的数据获取方法、装置及设备
Dash et al. Artificial intelligence models for blockchain-based intelligent networks systems: Concepts, methodologies, tools, and applications
Yu et al. Technology and security analysis of cryptocurrency based on blockchain
US20230342849A1 (en) Method, apparatus, and computer-readable medium for compliance aware tokenization and control of asset value
Subha Assessing security features of blockchain technology
CN112231751A (zh) 一种基于区块链的数据传输系统及方法
George et al. A blockchain based solution to know your customer (kyc) dilemma
KR102450412B1 (ko) 사물인터넷에서 서비스 수준 협약 기반 공유경제 서비스 제공시스템 및 제공방법
Molina-Jiménez et al. The benefits of deploying smart contracts on trusted third parties
Lisi et al. Automated responsible disclosure of security vulnerabilities
Jondhale et al. Blockchain in Cloud Computing: Design Challenges
Antal et al. Distributed Ledger Technology Review and Decentralized Applications Development Guidelines. Future Internet 2021, 13, 62
Chhabra et al. Blockchain, AI, and Data Protection in Healthcare: A Comparative Analysis of Two Blockchain Data Marketplaces in Relation to Fair Data Processing and the ‘Data Double-Spending’Problem
Christine et al. A Study of Permissioned Blockchain-Based Framework for Land Ownership Tracking in Indonesia

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
TR01 Transfer of patent right

Effective date of registration: 20221124

Address after: 310000 Room 311, West Area, Building A, No. 525, Xixi Road, Xihu District, Hangzhou, Zhejiang

Patentee after: Hangzhou Pujian Medical Technology Co.,Ltd.

Address before: Room 1011, 4 / F, building 5, No. 299, Hangfu Road, Chongfu Town, Tongxiang City, Jiaxing City, Zhejiang Province

Patentee before: Tongxiang Beite Technology Co.,Ltd.

Effective date of registration: 20221124

Address after: Room 1011, 4 / F, building 5, No. 299, Hangfu Road, Chongfu Town, Tongxiang City, Jiaxing City, Zhejiang Province

Patentee after: Tongxiang Beite Technology Co.,Ltd.

Address before: 310014 No. 18 Chao Wang Road, Xiacheng District, Zhejiang, Hangzhou

Patentee before: JIANG University OF TECHNOLOGY

TR01 Transfer of patent right