在一个需要不可变数据,但必须允许数据可以修改和删除的世界中,行业如何才能蓬勃发展?
将数据保存在适当的位置
本文是对使用适当的数据存储来获取可变和不可变数据的调用。在我们目前的合规和监管环境中,临时或私有数据可能需要更改或删除,而这又需要一个允许突变的位置。
示例包括:名称更改、地址更改或删除以前的客户数据。此功能通常在传统的关系数据库中进行管理。在当今以数据为中心的世界中,为数据选择合适的存储空间至关重要。
传统数据库
使用传统的可变数据库结构,数据更改将替换以前的记录数据。为了维护数据库历史,需要部署详细的特定于业务的备份策略。该计划可能包括每周进行一次完整备份,每天进行一次差异备份,以及每30分钟进行一次交易日志备份。这就对这些潜在的冗余过程造成管理负担和存储挑战。此外,回顾历史数据时还需要与当前状态协调一致。
有许多不同的“传统”数据库,但最流行的是关系数据库。关系数据库依赖于将主键绑定到外键关系的模式。这些关系通过结构化查询语言(SQL)使用连接促进数据查询。关系数据库在当今的大多数行业中都很流行。
关系数据库自20世纪70年代以来就一直存在。最近,基于NoSQL(“Not only SQL”)数据库的数据存储得到了广泛的应用。这些数据库不需要关系数据库的正式结构。NoSQL数据库包括:键值、图形、宽列和文档数据库。在大多数情况下,这些都是可变数据库。
基于区块链的数据存储
区块链技术提供了所有历史交易的完整、可信和可跟踪的历史。这段不朽的历史包括:
· 新交易,
· 更新现有条目,以及
·“删除”现有条目。
这是区块链分类账的惟一附加性质。所有交易都创建一个新记录,而以前的信息保持不变。区块链结构还扩展了这个存储设施,以构建一个“不可信”的系统。区块链将前一个区块内容的加密货币哈希与现在的区块链哈希连结起来,使得未经授权的数据操作立即可侦测到。这提供了可信交易操作的时间顺序记录。
对于区块链应用程序最有前途的行业是那些需要数据交换和遵从性的行业。许多行业都符合这一标准,但主要的候选行业包括保险、医疗保健和供应链。我选择了医疗保健行业作为本文的重点讨论对象——在这里交换和修改个人数据,而病人健康数据的完整性和这些数据的管理是至关重要的(并且受到高度监管)。
医疗行业的机遇与挑战
我们只能想象,世界上每天发生的医疗数据交换量有多大。有许多利益相关者参与了这种交换——提供者、合作伙伴、患者和付款人。这种数量的参与者构成了一个复杂的数据管理生态系统。在美国,这些数据受到1996年《健康保险可携性和问责法》(HIPAA)的保护。HIPAA要求强制遵守,以保护患者数据不被披露和滥用。
在欧盟,《一般数据保护条例》(GDPR)也对欧盟公民的数据提供了同样的保护。GDPR的保护远远超出了医疗保健的保护,但个人健康数据仍然是一项关键的保护措施。目前使用的大多数遗留系统都是关系数据库——可重写的可变数据源。缺乏历史记录可能导致错误的信息和对数据的错误解释——不仅导致遵从性问题,还会导致互操作性问题。
因此,医疗行业为区块链技术的采用提供了巨大的机会。随着不可变数据结构的部署,人们将认识到增加个人医疗数据的参与和所有权的好处。此外,临床医生将能够更好地提供适当的护理基于完整和可信的病人信息的历史。所有健康事件的不可变分类账将提供:
· 历史/当前药物
· 历史评价
· 历史诊断
· 历史的治疗方法
有了这些数据,患者可以完全信任地跟踪自己的健康状况,临床医生可以高效地治疗患者。此外,通过保存完整的数据仓库,人工智能(AI)和机器学习技术所需的未来学习和应用程序将更加高效。最后,可以从未确定的历史数据集(用于研究和公共卫生分析)中收集到更好和更高质量的分析见解。
不可改变的难题
这太棒了,对吧?嗯,新出现的“个人数据”合规规定的更新是一个挑战。最重要的是,欧盟GPR第17条包括“被遗忘的权利”。第十七条规定,“资料当事人有权要求删除与其有关的个人资料。”这条规则适用于任何处理欧盟公民个人数据的第三方——适用于世界任何地方。这给不可变数据存储带来了一个问题,因为按照设计,完整的事交易历史是存在的,因此“忘记”数据是不可能的。
那么,在一个需要不可变数据,但必须允许数据修改和删除的世界中,行业如何才能蓬勃发展呢?
一种解决方案是破解密码
在不可变数据存储中管理个人数据的一个流行选项是密码分解。密钥管理系统(KMS)用于管理惟一密钥的加密、控制和安全保管。在该系统中,在个人数据存储中构造一个加密密钥列表。此键也存在于非标识的不可变数据存储中。然后,在两个数据存储之间传递请求的重担就落在了应用程序层上。一旦实现,基于应用程序提供的公开信息的完整信息就可以做出决策。
当请求“忘记”数据时,将覆盖加密密钥。这中断了对关联底层不可变数据的链接——不可变数据存储中的交易数据完整性得到维护,但是对数据所属的个体的引用被删除。这符合gpr的要求,因为不再有记录与欧盟公民的个人数据挂钩。
可以在特定的数据级别实现密钥加密。例如,如果仅为一个人的名字或ID建立一个密钥,那么分解密钥将消除与该人相关的所有数据。在更高的级别上,可以键入完整的“用户配置文件”,其中包括地址、性别和其他半私密信息——因此,如果删除了密钥,仍然会有关于主题的一些相关细节的记录。这将有助于提供基于身份不明的真实患者的综合数据用于研究工作。此外,这种级别可以应用于网络中的不同数据源,这些系统中的相同特定数据可以具有不同的键。最后,不管实现如何,一个系统中的相同数据可以分配给一个链接系统中的另一个密钥。这有助于在隔离的情况下分解更具体的数据。
Apple的iOS系统的“可删除存储”就是一个在实践中破解密码的例子。当你“删除所有内容和设置”时,iOS设备就会使用这项技术。苹果公司通过预留一个专门的NAND存储区域来保存加密密钥来达到这一目的,加密密钥会被删除,让设备上的所有个人信息都无法访问。
Crypto-shredding模型
更好的解决方案是:分离、链接数据源
在最近的Fluree播客中,强调了存储个人数据的挑战。重点是,这实际上是一个应用程序架构的斗争,而不是区块链的斗争。数据需要在后端分开,并且只在应用层查询(而不是管理)。该应用程序只是根据所需的特定数据从可变或不可变数据库中提取数据。数据系统架构师不应将个人数据存储在不可变的数据存储中。
要将可能需要更改、修改或删除的数据与不可变数据分开保存,这个建议选项涉及为个人数据部署一个单独的可变数据库。这种多源方法允许区块链结构保持完整的历史完整性,同时将个人数据维护放在可变的位置。实际上,要在规模上有效地完成此配置,需要分配一个匿名的交叉连接标识符来绑定两个源。在可变数据库中使用这个公共密钥作为关联个人数据的锚,将允许销毁对个人数据(密钥和个人数据)的所有引用。这对不可变数据库没有影响,在不可变数据库中,键仍然是对已发生的历史交易的绑定。使用这种方法,可以使每个数据库具有适当的预期功能,并根据GDPR规则,具体保护“被遗忘权”。
通过有意的设计,Fluree数据栈通过包含语义web和跨数据集查询完全支持这种方法。Fluree利用W3C资源描述框架(RDF)的主题集成了对SPARQL(一种协议和RDF查询语言)的支持。使用SPARQL,可以在后端对多个数据源无缝地发出查询,同时将统一的结果集呈现给中间层进行处理。在下面的图中,这个结构概述如下:(1)跨数据集查询,(2)通过SPARQL使用数据的应用层,(3)无缝的用户输出,就像从单个源中提取数据一样。
独立的数据可以从应用程序层查询
申请机会
作为医疗行业的一个例子,让我们从一个在多个不同医疗机构接受治疗的患者开始。
· 阿尔玛今年72岁,身体状况相对较好。然而,她最近开始出现轻微的痴呆症症状。
· 她的主治医生给她开了阿立西普(多奈哌齐)来改善她的病情。阿立西普属于乙酰胆碱酯酶抑制剂(AChEI)一类药物。这些药物通过抑制胆碱酯酶(一种分解乙酰胆碱的酶)来提高乙酰胆碱的水平。
· 几个月后,阿尔玛向家人表达了对膀胱失禁的担忧。因此,阿尔玛的家人安排她去看该地区一位著名的泌尿科医生。泌尿科医生无法进入阿尔玛的药物清单——因为这位医生在该地区与竞争的卫生系统打交道。阿尔玛的家人也没有带来她的药物清单,因为他们认为“所有药物都在电脑里”。
· 根据现有的阿尔玛患者资料,泌尿科医生建议阿尔玛试验一种流行的尿失禁药物,地罗酮(羟丁宁),然后再进行任何可能的侵入性研究。然而,如果泌尿科医生知道阿尔玛正在积极地服用阿立西普治疗老年痴呆症,这位医生很可能永远不会开地罗酮。
· 地罗酮的作用机制在本质上是抗胆碱能的-它将有效地抵消阿立西普的大部分好处。
不幸的是,这种情况在我们当前的医疗体系中相当普遍。
最近发表在《老年临床干预》(Clinical Interventions in Aging)杂志上的一篇文章讨论了在病人数据被忽视或处方医生无法获得的情况下,使用能够相互作用/抵消其他药物影响的药物。作者的总结强调了发挥作用的药物和条件的广泛范围:
“基于其相反的作用机制,最重要的药效学相互作用之一是同时使用阿切斯和抗胆碱能药物,从而导致药理拮抗。抗胆碱能作用是抗精神病药、抗抑郁药、抗组胺药、支气管扩张剂和尿失禁药等药物,这些药物常被开给老年痴呆症患者,尤其是那些有行为和精神症状的患者。
“此外,许多活性成分都是美国各地都能买到的非处方药的成分。很可怕,是吧?如果阿尔玛的全部病人病史可供审查,这就不会发生。完整的病史应该包括她所有的药物、治疗和评估。对于不可变区块链支持的数据源,这是一个完美的用例示例。
显然,这是危险的。在一个分裂的可变/不可变的情况下,女性的个人数据将与不可变的历史保持离线状态,而不可变的历史将跟踪她的所有情况和药物,以便在充分了解情况的情况下对她进行适当的治疗。这一点很重要,因为在这个案例中,历史事件与她目前的治疗有关。此外,如果需要使用历史趋势来治疗她,这些数据就可以支持当前的情况。
结论
· 在确定和实现功能性数据管理解决方案时,将适合于数据类型和数据分离是至关重要的
· 个人数据不应保存在不可变的数据存储中
· 区块链分类帐支持的数据库提供了完整和可信的历史记录,当这些数据对于相关性、趋势或审计目的至关重要时
· Fluree提供了一个满足这一需求的产品——关于该产品的更多信息列在下面。
关于Fluree
Fluree是一个面向现代应用的以数据为中心的数据管理平台。Fluree将数据视为一级标识,这些数据以各种形式存在,包括:数据库模式构建历史、数据库访问授权引擎,以及任何给定时间的所有事实陈述。Fluree有两个组件:一个是不可变的分布式分类账FlureeDL,另一个是优化后在FlureeDL上构建应用程序的图形数据库FlureeDB。在这两个系统中,Fluree开发人员都使用复杂的逻辑(SmartFunctionsTM)来执行定制的读/写权限和规则。
Fluree使用W3C RDF格式并支持SPARQL查询语言。这有助于部署语义web感知的应用程序体系结构,以及使用连接多个数据源(无论是可变的还是不可变的)的查询。Fluree Community edition是免费的——既可以作为云托管的DBaaS,也可以作为本地部署的可下载Java可执行文件。