一种连接医疗区块链和物联网的系统技术方案

技术编号:39437155 阅读:8 留言:0更新日期:2023-11-19 16:20
本发明专利技术属于医疗物联网技术领域,公开一种连接医疗区块链和物联网的系统。该系统在为医疗物联网系统各参与方提供远程诊断、数据交易等交易功能基础之上,通过区块链同步健康数据索引实现分布式存储,保证了病人健康数据的可用性,通过健康数据自定义加密、交易授权数据访问、参与方身份权限控制、医院代理查询、参与方信誉积分控制等策略保障病人健康数据的安全性与隐私性。为了适应物联网海量交易数据的场景需求,设计了基于有效交易量证明的共识算法,该共识算法确保相同时间内收集有效交易数目最多的共识节点获得出块权利,相比于工作量证明等常见共识算法,具有吞吐量更高、允许共识节点动态出入、共识选举相对公平等优点。共识选举相对公平等优点。共识选举相对公平等优点。

【技术实现步骤摘要】
一种连接医疗区块链和物联网的系统


[0001]本专利技术涉及医疗区块链
,特别涉及一种连接医疗区块链和物联网的系统。

技术介绍

[0002]随着人口老龄化与慢性疾病的种类的增多,现代医疗保健体系压力渐大,经过实践证明,医疗物联网是缓解医疗保健基础设施压力的有效解决方案。然而医疗物联网系统中存在着医疗数据泄露的隐患,根据HIPAA的统计,医疗数据泄露数量逐年上升,2018年泄露达到13236569条,约为2017年的2倍。医疗数据泄露主要有以下一些问题:隐私泄露、数据资产损失以及数据破坏(遗失/改动),影响病人病情诊断。
[0003]作为缓解医疗保健系统压力的有效解决方案,医疗物联网系统中病人(普通用户)通过终端设备收集了海量的生理数据(以下称医疗数据),由于数据量庞大,普通病人必须相信服务提供商并由服务提供商收集存储这些数据。
[0004]由于数据存储于第三方机构,如何保证数据的安全与隐私成为各方关心的一个问题。传统中心化医疗数据管理方案无论是基于私有云部署也好,还是基于公有云对外提供存储服务,都将服务提供方(医院)作为数据的管理者和拥有者,这对于病人本身而言并不公平,此外,这样的数据管理模式下病人只能增、查自己的过往数据,而数据是否外泄、不正当传播,病人无法得知也无法阻止。
[0005]基于区块链的医疗数据管理方案引入了区块链账本公开透明、不可篡改的特性,改善了这一问题。
[0006]基于公链项目(例如以太坊)的方案普遍存在着交易吞吐量低的问题,而目前基于联盟链的医疗数据方案管提升了交易吞吐量,但同样忽略了病人对数据的访问控制。

技术实现思路

[0007]为了克服上述现有技术的不足,本专利技术提供一种连接医疗区块链和物联网的系统,提供远程诊断、数据共享、数据交易等功能。
[0008]本专利技术还确保病人对健康数据的管理控制权限。此外,为了优化该场景下交易吞吐率,设计一种基于交易量证明的共识算法。
[0009]上述内容可拆解为第一目的、第二目的以及第三目的。
[0010]本专利技术第一目的在于实现一种连接医疗区块链和物联网的系统(ecoin系统),支持远程诊断、数据共享、数据交易等功能。
[0011]本专利技术的第二目的在于为连接医疗区块链和物联网的系统中病人参与方提供一种健康数据安全与隐私保护的数据管理方法。
[0012]本专利技术的第三目的在于为连接医疗区块链和物联网的系统提供一种有效的共识算法,支持共识节点的动态出入,能够保证海量用户与数据量时的交易吞吐率。
[0013]本专利技术的第一目的通过下述技术方案实现:
[0014]一种连接医疗区块链和物联网的系统,
[0015]各参与方运行的ecoin节点相互通信成ecoin网络;
[0016]对于各参与方参与到ecoin网络需要ecoin节点与ecoin客户端,
[0017]ecoin客户端通过向ecoin节点运行的RPC服务器发起远程调用,
[0018]实现查询具体区块、交易、账户信息,并藉此构建与某个对象之间的交易进一步具体地:
[0019]基于区块链的连接医疗区块链和物联网的系统从软件上包括ecoin节点(ecoind)与ecoin户端(ecli)两个程序。
[0020]客户端通过向ecoind运行的RPC服务器发起远程调用,实现查询具体区块、交易、账户信息,并可藉此构建与某个对象之间的交易,不同参与方之间运行的ecoin节点相互通信形成ecoin网络。
[0021]优选地,ecoin节点自下而上可分解为:
[0022]加密与编码支持、基础数据结构、序列化协议、点对点通信(P2P)模块(又称P2P网络模块)、ecoin核心模块、访问接口、人机交互等层次模块,此外节点还包括日志模块与BadgerDB存储模块。
[0023]其中:
[0024]加密与编码支持模块:
[0025]用于提供常见加密、序列化数据编码与二进制数据编码服务;
[0026]基础数据结构:
[0027]包括区块、交易与账户;
[0028]其中:交易是ecoin网络中交易内容传递的载体;
[0029]区块是交易传递的载体;账户是交易的主体;
[0030]序列化协议:
[0031]用于定义在ecoin网络中同步、节点发现、
[0032]握手以及数据持久化阶段数据/消息的格式与编解码方法;
[0033]P2P模块:指具体参与到ecoin网络中网络操作的模块;
[0034]ecoin核心模块:是整个ecoin节点的核心部分;
[0035]访问接口层:
[0036]主要指基于HTTP协议的RPC服务器,
[0037]ecoin节点通过RPC服务器对外提供访问接口;
[0038]人机交互层:主要指命令行客户端和Web操作台;
[0039]通过HTTP协议访问ecoin节点的RPC服务器,从而操作ecoin节点。
[0040]具体地:
[0041]加密与编码支持模块提供基于secp256k1椭圆曲线的ECDSA椭圆曲线数字签名算法、AES

GCM对称加密算法、SHA256哈希算法、go语言自带的gob序列化数据编码与二进制(binary)数据编码等技术支持。
[0042]基础数据结构包括区块(block)、交易(transaction)与账户(account),其中:
[0043]交易是ecoin网络中交易内容(元数据上传、远程诊断、数据购买等)传递的载体。
[0044]定义为:
[0045]{txId,txType,txComplete,txFrom,
[0046]txTo,txAmount,txPayload,txSignature,description}
[0047]其中各项从左到右分别表示:
[0048]交易的哈希标识、交易类型
[0049](健康数据元数据上传、远程诊断、
[0050]数据购买等)、交易整体是否已完成、交易发起者账户Id、交易接收者账户Id、交易转账数额、交易携带数据内容
[0051](例如远程诊断交易中需要携带诊断的数据索引及对应数据的解密信息)、交易签名(用以验证交易发起者身份)、
[0052]交易附加描述。
[0053]区块是每过一段时间由出块节点将若干个交易打包后形成的结构,
[0054]可以认为是交易传递的载体。
[0055]定义为:
[0056]{hash,prevHash,timestamp,
[0057]height,merkleRoot,txList,createBy}
[0058]其中各项从左到右分别表示:
[0059]区块哈希标识、前一个区块哈希标识、区块构建时间戳、
[0060]区块高度、区块所包含的交易列表构建而成的默克尔树本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种连接医疗区块链和物联网的系统,其特征在于,所述医疗物联网交易系统的各参与方运行的ecoin节点相互通信形成ecoin网络;对于各参与方参与到ecoin网络需要ecoin节点与ecoin客户端,ecoin客户端通过向ecoin节点运行的RPC服务器发起远程调用,实现查询具体区块、交易、账户信息,并藉此构建与某个对象之间的交易。2.根据权利要求1所述的连接医疗区块链和物联网的系统,其特征在于,所述ecoin节点自下而上分解为:加密与编码支持、基础数据结构、序列化协议、P2P模块、ecoin核心模块、访问接口和人机交互等层次模块,其中:加密与编码支持模块:用于提供常见加密、序列化数据编码与二进制数据编码服务;基础数据结构:包括区块、交易与账户;其中:交易是ecoin网络中交易内容传递的载体;区块是交易传递的载体;账户是交易的主体;序列化协议:用于定义在ecoin网络中同步、节点发现、握手以及数据持久化阶段数据/消息的格式与编解码方法;P2P模块:指具体参与到ecoin网络中网络操作的模块;ecoin核心模块:是整个ecoin节点的核心部分;访问接口层:主要指基于HTTP协议的RPC服务器,ecoin节点通过RPC服务器对外提供访问接口;人机交互层:主要指命令行客户端和Web操作台;通过HTTP协议访问ecoin节点的RPC服务器,从而操作ecoin节点。3.根据权利要求2所述的连接医疗区块链和物联网的系统,其特征在于,ecoin节点的基础数据结构中交易定义为:{txId,txType,txComplete,txFrom,txTo,txAmount,txPayload,txSignature,description}其中各项从左到右分别表示:交易的哈希标识、交易类型、交易整体是否已完成、交易发起者账户Id、交易接收者账户Id、交易转账数额、交易携带数据内容、交易签名、交易附加描述;区块的定义为:{hash,prevHash,timestamp,height,merkleRoot,txList,createBy}其中各项从左到右分别表示:区块哈希标识、前一个区块哈希标识、区块构建时间戳、区块高度、区块所包含的交易列表构建而成的默克尔树根哈希、区块所包含的交易列表、区块的创建者账户Id;账户的定义为:{privateKey,roleNo}其中各项从左到右分别表示:根据secp256k1椭圆曲线生成的非对称密钥对中的私钥、账户所对应的参与方的身份角色编号;此外,账户还包括用户Id,用户Id由公钥经过压缩编码后再以角色编号为前缀构造而成,同时携带公钥信息和角色信息。
4.根据权利要求2所述的连接医疗区块链和物联网的系统,其特征在于,ecoin节点的序列化协议包括:核心传输协议、节点发现协议、通信握手协议与数据存储协议,其中:核心传输协议:用于定义区块链数据同步协议及定义区块链数据同步相关的消息格式;节点发现协议:用于更新节点列表及定义用于更新节点列表相关的消息格式;通信握手协议:用于定义节点与对端节点建立TCP连接时的通信协议,通信握手协议还定义节点与对端节点建立TCP连接时协商消息加密密钥的消息格式,包括握手请求消息与握手响应消息;数据存储协议:用于定义数据具体存入BadgerDB时的数据格式。5.根据权利要求4所述的连接医疗区块链和物联网的系统,其特征在于,假设本机节点为A,对端节点为B,则核心传输协议中区块链数据同步协议过程简述为:1)A向B发送同步请求消息,携带自身区块链最高区块的哈希;2)B收到A的同步请求消息之后,在本地区块链查找Base区块;若查找不到,则B向A发送同步响应消息告知B不如A高;若查找到,则向A发送同步响应消息,并附带所高出的区块的哈希列表;3)A收到B的同步响应消息之后,得知A与B的高度差信息;若B不如A高,则本次同步过程结束;否则,A根据同步响应消息中传递的区块哈希列表向B发送区块请求消息;4)B收到区块请求消息后,将A所请求的区块数据附加在区块响应消息中返回;5)A收到区块响应消息后作检查、接收,本轮同步结束。6.根据权利要求4所述的连接医疗区块链和物联网的系统,其特征在于,假设本机节点为A,种子节点为B,则本机节点A上线时节点发现协议过程简述为:1)A向B发送ping消息,探测B的可用性;2)若B可用,则返回pong消息;若B不可用,则A等待超时,该次节点列表更新失败;3)A收到B的pong消息之后,确认B可用,接着向B发送邻居请求消息;4)B收到邻居请求消息后,将B所持有的节点列表附加在邻居响应消息中返回,并将节点A广播给B的节点列表;5)A收到邻居响应消息后作检查、接收,更新本地节点列表。7.根据权利要求2所...

【专利技术属性】
技术研发人员:经伯涛刘飞
申请(专利权)人:深圳国卫医信科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1