基于区块链的医药防伪溯源系统研究(4)
【作者】网站采编
【关键词】
【摘要】链码部署完成之后,通过编写客户端演示程序来模拟一个客户端发起交易请求,演示程序由Node.js来编写。其中Node.js提供的http模块主要作用就是搭建http服
链码部署完成之后,通过编写客户端演示程序来模拟一个客户端发起交易请求,演示程序由Node.js来编写。其中Node.js提供的http模块主要作用就是搭建http服务端和客户端。此次客户端开发指定http服务启动在3000端口,在终端输入命令开启浏览器,启动成功之后在浏览器中输入指定网址来进行医药溯源。
以一次药品查询为例,消费者在客户端发起查询请求,客户端会根据查询发起者的地址信息进行服务器请求,服务器端在接收请求后会运行Web服务代码调用Fabric区块链上的链码进行数据查询。此时还会对登录客户端的用户账号进行认证,经过认证的具有不同的账号的请求指令会指向不同的链码地址,得到不同的查询结果。之后服务器端会把处理得到的药品溯源信息数据返回到客户端,将查询结果显示给消费者。
5 结果与分析
5.1 溯源信息的查询
图7展示的是医药信息的查询入口界面,此时并未输入查询药品的药品溯源码medical_id,显示信息为“please enter the medical_id”。
图7药品信息的查询界面
本次查询发起者的身份信息为“username:‘Admin’,mspid:‘Org3MSP’”,且发起请求所在的节点为peer0org3,当添加药品溯源码后再次发起溯源请求,部署在组织3节点上的链码就会启动,进而调用部署在前两个组织节点的链码,就能得到药品从生产到使用的全部溯源信息。此处以药品“香菊胶囊”为例,假设香菊胶囊的药品溯源码为0000001,按照图8所示在浏览器发起medical_id=0000001药品的查询请求,就可以得到香菊胶囊的溯源信息,具体数据如图8所示,可以看到查询结果中的药品溯源码与输入的药品溯源码是一致的。
5.2 系统性能分析
本次医药防伪溯源系统设计的环境搭建部分在虚拟机vmware中完成,操作系统为。虚拟机设置如下:内存为1 GB,处理器为2,硬盘为30 GB。图9展示的是查询命令发出后Fabric的响应时间,以其中50次查询结果为例。图中横坐标i表示第i次查询,纵坐标t表示每次查询Fabric的响应时间,具体响应时间处于动态变化中,与查询命令发出时刻的网络速率有关,其平均响应时间为22 ms,符合网络时延要求。当消费者在客户端进行药品溯源信息查询时,其结果显示界面不会出现卡顿或崩溃,可以获得较好的用户体验。
图8药品的溯源信息显示界面
图9查询时Fabric的响应时间
为了保证数据的隐私性,使消费者的个人信息不被泄露,基于区块链的医药防伪溯源系统可以根据查询发起者不同的身份信息来确定此次查询者可以调用的链码,并根据链码功能来获得不同的数据信息。被组织1和组织2认证的用户不能得到组织3节点存储的药品使用信息,以身份信息为“username:‘Admin’,mspid:‘Org2MSP’”的被组织2认证的查询者为例,此节点发出的信息查询只能调用部署在组织2节点上的链码,得到的是药品的流通信息,具体数据如图10所示。
图10药品流通信息显示界面
基于区块链的医药防伪溯源系统具有较为简单的查询操作,较短的时间响应,非常完整的溯源信息以及非常高的隐私性。将此系统与相关工作中基于其他技术的三篇有关医药溯源的系统作比较可以得出如表2所示的结果。从表2可以看出,四篇文章中所设计的系统都能完成基本功能,即信息可追溯,参考文献[14]与本文所设计的系统具有更好的信息完整性。而且本文设计的基于区块链的医药防伪溯源系统借助于区块链技术所具有的去中心化、基于证书认证的账号体系等特性,使此系统在存储分散化程度及信息隐私性方面具有独特的优势。
表2系统性能对比表images/BZ_46_224_834_1190_887.png信息溯源性信息完整性信息隐私性存储分散化程度√×××√√××√×××√√√√
6 结论
本文从药品的实际应用场景出发,设计了一个基于区块链的医药溯源系统,以药品为溯源对象,以Fabric区块链平台为基础,对药品生产加工、物流运输及零售使用等过程进行数据记录追踪。通过客户端使用药品溯源码进行查询,得到此药品的溯源信息,且Fabric响应时间平均为22 ms,验证了设计方案的可行性与有效性。区块链技术与溯源技术的结合应用,进一步完善了医药防伪溯源系统的性能,利用区块链技术去中心化、数据难以篡改及交易可追溯的特点保证药品数据的可靠性,实现药品的全过程可追溯,且可追溯到链上的每一个参与者,提高医药防伪溯源信息的透明度,保证消费者能通过查询药品的溯源码了解到药品从生产到使用的全部信息。而且Fabric中基于证书认证的账号体系结合链码功能可以保证数据的隐私性,使消费者的个人信息不被泄露。另外在商业应用中,结合区块链技术的医药溯源系统可以为品牌背书,为医药企业增加信任值,提高医药企业竞争力,带来额外收益。除了对医药的溯源,区块链技术还可以与电子病历信息储存、共享慢性疾病诊疗、医疗欺诈与理赔方面相结合,为医疗卫生的良好发展提供更有利的保障。
文章来源:《中国医药导报》 网址: http://www.zgyydbzz.cn/qikandaodu/2020/1116/477.html