可以认为,区块链是只能添加数据、无法修改删除数据的日志型数据库。
【袁永福专栏】从程序员视角预判区块链技术在HIT行业中的应用
从本质上来看,区块链技术是一种用来实现互联网交易可信化交易存储技术,它的意义就在于通过技术导向来为广泛的互联网交易行为提供安全保障支撑。本文就区块链技术的基本概念以及对其在HIT行业中的应用加以探讨。
一、前言
区块链技术(Blockchain technology)是近期炒得很火的技术。在医疗信息化(HIT)行业内也有很多人在讨论它。笔者为此学习了一些区块链的知识,在此谈谈我的理解,以及它在HIT行业的可能的应用。
二、区块链技术
1、区块链技术的原理
区块链是数据结构中的链表。但是这种链表中,每一个链表数据块包含了对前一个数据块的哈希散列值,它是一种数据指纹。如果需要修改其中的数据,则需要依次更新后面链接的所有的数据块中的数据指纹,过程将非常麻烦。
区块链是一种分布式数据库,具有去中心化的特点。区块链体系中有多个相互独立节点,每个节点都有区块链数据库的完整备份,并大致遵循少数服从多数的原则进行数据验证。若要修改体系中的数据,需要修改大多数节点中的数据,而很多节点是很可能超出修改者的控制范围,因此修改数据变得非常麻烦。
综上,如果要修改区块链体系中的数据是非常麻烦的“平方”,修改数据的花费经常远大于收益,这在经济学上可以忽略掉这种行为。因此可以认为,区块链是只能添加数据、无法修改删除数据的日志型数据库。
在区块链体系中,一个节点想要添加新数据块,则广播请求。体系中所有在线的节点为此进行协调,将数据块追加到各自存储的链表最后。有各种算法能很大概率的实现各节点最终操作结果的完全一致。
有一个概念叫“矿机”、“挖矿”,其实质是使用高性能的计算机来计算生成比特币。区块链和比特币是两个事物。矿机是比特币的范畴,不是区块链的范畴。区块链本身是不消耗大量的运算力量的,无需配置高性能计算机。
2、区块链的价值
孙子兵法曰:“不知兵之害者不能尽用兵之利”。区块链作为一个颇具话题的技术,更需要从正反两方面来了解它。
区块链和比特币关系密切,但又是两个不同的事物。有很多投机分子炒作比特币等网络货币时,顺带炒热了区块链。
纵观历史,人们经常高估一个技术在近几年之内的表现而低估数年之后的表现。互联网、网购等都是如此,AI、区块链之类的也应该会这样的。目前区块链最大的坏处不是技术因素,而是炒作带来的人心的躁动,从而可能导致战略失误。我们要使用好区块链技术,首先要平抚躁动的心态,尽量以客观理性的态度来对待这项技术,而那些投机分子的话只能“微信”(略微相信)就好。
区块链是密码学、计算机网络等多项技术的结合,实现了一种非常可靠的只能添加不能修改和删除数据的日志型数据库。它能去中心化,很难靠各种技术和行政手段来修改数据。一旦运行开来,无法靠行政领导的个人意志来影响其运行。但其缺点是慢,新增、查询速度都慢。
而且,区块链各个节点都有数据库的完整备份,不可能存储海量数据。因此基于区块链的大数据应用是不可能的,只可能存在利用了区块链的大数据(在这里“基于”和“利用”两个词有很大不同)。海量的原始数据还是需要集中存储。
因此区块链的应用特点是单一但突出,历史数据事后验证,在不可信的复杂网络环境中实现一种可信的技术。
信任是无价而脆弱的。人类社会耗费大量的资源用于进行信任的建立和验证,虽然效果不佳但还是被迫为此持续投入。因为没有信任,整个社会就乱套了。
区块链技术之所以大热,就是因其能以较低的成本来维护信任。当区块链里存储身份验证数据,那就能应用于身份验证和抗抵赖,当存储其他数据的哈希散列值,那就能进行数据的有效性完整性验证。
三、基于数据的区块链应用结合
1、数据中心+区块链
在HIT行业中,可以设想出在数据中心的基础上加上区块链的应用,提高体系的可信水平。
一些病历数据中心运行在复杂网络环境中,安全风险很多,而其中存储的病历文档又是含有敏感信息并具有法律效力,因此需要高等级安全保护。为此整个行业耗费大量的时间资源来维持其安全可信但经常效果不好。而区块链技术有可能部分缓解这个问题。
可信也就是可以信任,是信息安全中的重要部分。包括数据的完整性及篡改行为的事后验证和身份的抗抵赖。但不包括数据加密、主动防御和数据恢复。
可以设想有一个病历数据中心周边运行着一个区块链体系。于是,新增病历具有以下步骤:
A. 电子病历系统装备有电子签名系统,生成的病历数据具有电子签名,运行环境具有一定的信息安全保护等级,在电子系统内部数据是可信的。
B. 电子病历系统向数据中心上传病历数据。包含三个内容:第一是原始病历数据,如病历文档、医嘱、影像等等;第二是病历作者(医生)、患者、医疗机构的身份验证数据;第三是完成病历的时间戳数据。在传输途中安全保护比较弱,但由于这个过程时间短,被攻击的风险比较低。
C. 数据中心接受上传的病历数据并存起来。同时数据中心作为区块链体系中一个节点向全区块链体系广播请求新增区块。新区块包括四个内容:第一是原始病历数据的数据指纹(哈希散列值);第二是病历作者、患者、医疗机构的身份验证数据;第三是产生病历的时间戳数据;第四是病历在数据中心的唯一编号(用于快速定位)。这些数据都可以加密存储而且不含敏感信息,因此即使数据被复制到不安全的节点中也没关系。
D. 区块链体系接受并新增了新的区块,然后将新区块的编号返回给数据中心。
E. 数据中心接受新的区块编号并存在原始病历数据的隔壁字段中。
而任何用户随时可以对数据中心的病历数据进行可靠的验证,其步骤大致为:
A. 用户从数据中心获取原始病历数据,生成对应的数据指纹。还获取身份验证数据、时间戳数据、区块编号。
B. 用户根据区块编号快速在区块链体系中找到对应的区块,读取其中的数据指纹、身份验证数据和时间戳数据。然后进行对比。
根据现行的计算机算法,数据指纹对比结果具有极大的准确概率。根据这个对比结果就能实现原始病历数据的完整性和防篡改事后验证。而且区块中的身份验证数据执行事后抗抵赖功能,时间戳数据来确定病历完成时间。这样就能对一份病历进行比较全面的验证了。
数据中心+区块链可能具有以下价值:
(1)以较低的成本大幅提高数据中心的信息安全保护等级。能够进行比较可靠的事后数据验证。
(2)进一步提高病历数据在整个生命周期中的可信程度。堵住一部分安全漏洞。
2、电子签名和区块链可以共存
现行的电子签名和区块链具有很大的重合,都能进行数据的完整性和篡改行为的事后验证以及抗抵赖。
但两者也有重大区别。电子签名具有K宝、时间戳服务器等硬件能确保产生法律上可信的原始数据。而区块链是纯软件技术,无法保证原始数据的可信,只能保证数据流通过程的可信,一份原本就是伪造的数据照样能融入到区块链中。
因此区块链无法替代基于硬件的电子签名,但区块链具有开放和去中心化的特点,很有可能帮助实现跨医疗机构的电子签名互认。电子签名加区块链就能形成一个比较完整的信用证据链,若单独使用电子签名技术则成本巨大。
四、小结
技术从来不会产生价值,只有人才能产生价值。技术只是帮助放大人的价值的工具。因此任何技术都需要配合人的使用才能发挥作用。
区块链是一种很精妙的技术,配合在投机分子手里就成了炒币的道具,产生很多负能量;而配合在诚实劳动的人们的手里就成为实现可信计算的利器。因此我们应该本着实事求是的态度来一点点的探索和挖掘区块链技术的价值,将HIT系统从可用升级为可信,实现HIT系统的价值最大化。
参考文献:
陈东敏,郭峰,广红.区块链技术原理及底层架构【M】.北京:北京航空航天大学出版社,2017.4
【作者简介】
袁永福,南京东南大学毕业,微软MVP,南京都昌信息科技有限公司创始人,长期从事电子病历编辑器控件的研发和推广工作,其产品成为编辑器细分市场的主要品牌。(邮箱:28348092@qq.com)
HIT专家网∣致力推进中国卫生信息化
想加入HIT专家网专业交流群吗?
请扫码添加“HIT专家网”小助手微信好友后提交你的申请哦!(请注明姓名、单位名称、职务、主管技术或产品领域,以便有针对性加群)
微信订阅号:HIT180com
微信服务号:chinaHIT
投稿: public@hit180.com
商务合作:(010)82373062