数据就像是让信息,知识和智慧发芽和开花的种子。射入你眼睛中的光子,进入你耳朵的声波,反射你所有触觉的皮肤神经,这些都是原始数据。我们的大脑趋于相信这些数据是真实的,是对真实环境的反应。所以大脑会自动从这些数据中提取信息,并建立创建出知识,而这些知识是我们行事的基础。简单地说:数据是极其重要的。
但是,如果数据因为某种原因被损坏了,会发生什么呢?这个DIKW金字塔(数据,信息,知识和智慧)将会崩塌。信息,知识以及越来越多基于决策的设备都将会出现错误。另外,因为我们比以往任何时候都要依赖于自动化大数据,所以数据被破坏的的代价将会非常昂贵,甚至致命。
为了更加容易理解,我们先来探索一个来自现实世界并且从根本上依赖于数据完整性的使用案例,该使用案例将物联网与经济联系在一起。指数型降雨保险:
对于像肯尼亚这样的新兴经济体的农民的生活来说,丰收与不丰收的差别就像能够负担得起生活必需品和忍受营养不良和饥饿之间的差别。因此,保险供应商和农民已经开始采用一种创新的保险模式,如果在某个季节里没有足够的降雨量来保证获得丰收,那么农民可以从保险商那里获得一些支付。该模式依赖于当地的物联网气象站的数据,这些数据决定了供应商的向农民的支出是否是适当的。这种模式是非常高效的,因为这使保险商避免了成本高且容易出错的人类因素,否则的话,保险商必须对每一种作物的索赔进行核查,并人工的方式解决每一个农民的索赔。然而,因为在这种模式下,数据成为唯一能决定甲方(保险公司)是否需要向乙方(被保险人)进行支付,因此这就刺激了双方来改变数据,从而使数据偏向自己这一方。因此,在这个例子中,让我们深入了解数据的完整性和它的重要作用。
数据完整性
‘数据完整性’这个术语是指你可以依赖那些诚实且完整的数据。不幸的是,正如我们从一开始就探讨的那样,有许多巨大的刺激因素促使人们篡改数据,就目前状况来说,数据篡改现象时刻都在发生。
伪造数据的方法从本质上讲有两种:硬件方式和软件方式。硬件方式就是“审查传感器”。这可以通过阻止传感器收集其所处环境的真实数据并以错误输入来替代来轻松实现。在我们前面给出的使用案例中,人们只要在传感器上面放一把雨伞就能使气象站的数据立即无效,进而轻松实现数据篡改。换句话说就是:垃圾输入等于垃圾输出。这种数据完整性的基本硬件障碍的解决方案就是保持传感器处于隐蔽位置,或者对传感器进行监控,以及具有传感器拜占庭容错冗余,例如多放置一些传感器进行数据对比。幸运的是,为了数据完整性,“审查传感器”这种方法需要不诚实的一方首先定位传感器的位置,然后不断地进行投入来操纵传感器的数据输入,同时还要避免这种不诚实的行为被检测到。
软件方式:这种伪造数据的方式更加有效,通过在数据被输入到一个中央数据库后对其进行篡改。传感器能够完美地完成自己的任务,准确记录降雨量,但是如果这些数据之后被操纵,那么传感器的一切工作都是徒劳的。对于保险公司来说,通过直接访问数据库,数据篡改不过是按几个按钮那么简单。对于另一方(被保险人),数据访问就是一个挑战,但这可以通过黑客进入数据库,或者贿赂内部人士来代表他们更改数据。保险业不过是众多利用这些手段的行业之一。这些行业的数据篡改的危害性大小不一,从相对无害到关乎生死。
学生突破学校中央数据库来篡改成绩这样的例子不计其数。
在这个数字医疗记录的时代,这带来了令人畏惧的毁灭性的可能性。不难想象一个邪恶的黑帽或网络恐怖主义者改变医院的医疗记录数据库,这些记录可能会包含着病人服用的药品种类和剂量。这种情况只要按几个按钮就可以变成致命的。同样在临床药物试验中,修改数据或者研究里程碑同样刺激着人们篡改数据,这些后果在最好的情况下就是浪费经费,最糟糕的情况就是让危险的药品进入市场。最后,随着我们开始快速进入可穿戴设备,大脑接入,生物技术移植的时代,数据完整性的重要性每年要增加几个数量级。
仔细想一下,我们正在自治时代的尖点,责任由代理来承担。人们很自然会设想制造无人驾驶汽车的公司具有很引人关注的动机来改变汽车黑匣子数据,因为如果不是汽车事故遇难者而是汽车本身的设计造成了悲剧的发生。
这些例子都揭示了迫切需要一个能够解决我们的旧的数据库基础设施数据完整性问题的解决方案。
解决方案
Tangle——IOTA无需许可分布式账本——通过将数据以一种分布式无需信任的方式存储在网络节点之间来保证数据完整性来解决这个问题。现在,这种方法是公开可审计的,因为在相互连接的集群中的每一个人都有一个副本。这就摆脱了单点故障。现在,某人不可能更改原始数据,同时还不被网络其他人所看见更改后的数据与他们的副本不相匹配。因此,确保了数据完整性。
另外,与那些需要消耗数据发送/存储成本的旧区块链不同,IOTA网络是完全免费的。与旧区块链架构的数据传输会膨胀并造成网络缓慢相似,在IOTA的Tangle账本中,它实际上加强了网络的安全性,使其更有效。最后,由于Tangle账本的独特架构,它允许网络分区,这就意味着你可以从主Tangle账本分组,建立仍旧能够确保数据独立性的当地网络,同时不用担心是否能够有持续的网络连接。当然,没有理由将整个数据集存储在Tangle账本上。所有你需要的是存储哈希值。哈希就相当于数据的生物识别,如果你改变了数据的内容——它的DNA——数据哈希就会发生变化,说明数据已经被篡改。IOTA Tangle是专门设计的用于发送数据来确保其完整性的介质,即使在网络的边缘。