对区块链撒谎:将“垃圾进,垃圾出”问题应用在去中心化网络上

区块链大本营 view 21113 2020-11-11 18:21
share to
Scan QR code with WeChat

对区块链撒谎:将“垃圾进,垃圾出”问题应用在去中心化网络上

在本文中,我们将讨论一个经常被忽略(大多是故意无视)的概念,

与其他系统一样,区块链也同样存在典型的“”问题。区块链基础设施无法保证非链上生成的、不公开的数据的真实性,但不幸的是,世界上绝大多数数据都属于此类数据。因此,如果有人(或设备)向区块链提交了虚假数据的话,我们便没有办法确定该数据的真实性,因此,如果把垃圾放到区块链中,便也会从区块链中得到垃圾。

如今,声称自己无意中忽略了这个问题的应用程序在市场上泛滥成灾,它们往往都会借助额外的技术层来营造数据正确的假象。比如:

:用代币激励公司将其数据挂牌出售。但是你怎么知道买来的数据是真实的呢?

:可以通过零知识证明来统计银行高净值客户,因此,就可以在银行不提供任何客户信息的情况下得到统计结果——你怎么知道银行的客户数据库不是捏造的呢?

对于公开的数据来说,你可以设计一款游戏,让有财务风险的玩家就所提供数据的真实性相互进行挑战(就像Chainlink或其他一些区块链项目那样)。但是,世界上绝大多数的数据都是非公开的。

那么,如何才能解决这个问题呢?关键是要。

01最实用的方法:确保数据来源可靠

如果数据不是从源头处获得的,而是通过第三方中介获取的,那么。在处理数据时,涉及的中介越多,需要付出的信任就越多,直到某一刻,当涉及的中介太多时,数据就和从随机生成器中生成的没什么两样了。

因此,我们的目标是要。例如,与其从零售商的数据库中获取销售数据,不如从销售硬件处获取;与其从气象网站上订阅数据,不如从气象传感器那里收集;与其阅读桥梁运营公司的PDF报告,不如试着从安装在桥梁上的摄像机和传感器中获取原始数据。

但是如何从源头保护数据呢?既然世界上的大多数数据都是由设备生成或收集的,那么让我们先研究一下如何保护设备生成的数据。这里,我们面临三个可能会出现问题的故障点:

:你怎么知道是什么在生成数据?是像你预期的那样来自温度传感器,还是来自恶意玩家的的随机数生成器?

:即使数据源是真实且可识别的,你又怎么知道数据在处理和传输过程中(例如从传感器转移到通信模块的过程中)没有被更改、损坏或彻底调包?

:即使身份、处理和传输都是安全的,你又如何防止有人通过接入虚假输入信号,来改变设备收集数据的方式呢?

下面,让我们来看看能做些什么,逐一解决上述问题吧。

02身份

为了保护数据生成设备的身份,可以在设备中嵌入一组公钥/私钥,将公钥公开,并且对硬件的实际输出进行现场检查,这才是能确保硬件提供可靠数据的切实可行的办法。但这仅仅是最简单的部分。

棘手的是,要如何确保这个身份不会被盗?SE通常只做一件事:为消息签名(提供身份证明的一种花哨讲法)。如果你用过信用卡或智能手机的话,就已经享受过安全元件的好处了。

03处理和传输

为了保证数据处理和传输逻辑的安全,我们可以使用带有安全启动(secure boot, SB)的微控制器(MCU)。你可以把微控制器想象成一台非常简单的计算机。

更重要的是,当应用程序彻底测试完毕后,我们需要从应用程序和MCU禁用所有修改功能,包括固件升级。这是为了确保应用程序逻辑保持现在的状态、不可变,甚至制造商也无法进行更改。

当然,这也存在明显的弊端,比如。但是,我们也因此获得了真正的设备独立性,不受外界干扰,其行为值得信赖、具有确定性且不可改变。

04数字/模拟接口

这个问题非常棘手,并且不能使用嵌入在数据收集和中继设备上的硬件来解决。一般来讲,要确保接口不被中断的话,就必须,但这与应用程序有强相关性。我们可以用以下例子来进行说明。

假设你有一辆冷链物流公司的冷藏车,负责向当地超市运送鲜鱼。为了保证质量,鱼必须全程保持在一定的温度范围内。如果温度太高,鱼就会变质。如果温度太低,鱼的味道和口感就会变差。为了确保物流公司遵守合同规定的温度范围,超市在卡车上安装了温度传感器。

但是,如果卡车司机把传感器放在卡车前方的冰柜里,同时,为了节约能源成本而调高了制冷设备的温度,那会怎么样呢?传感器不知道自己被挪动了位置,收集并上传的温度数据一直都处于合同规定范围内。就这样,传感器被骗了。

降低这种风险的方法之一是。但是,这种方法也不保险。比如说,可以在传感器周围包上一袋冰,这样一来,就可以将卡车其他地方的温度调高到要求范围以上了。

另一种更好(但更贵)的方法是。这样一来,如果司机想要取出温度传感器的话,就要破坏封条,这会违反合同的关键条款,并且这很容易就会被发现。

最后,要想解决数字/模拟接口的问题就需要进行大量的创新,解决方案往往具有高度的应用针对性。

当向企业客户提供区块链解决方案时,必须记住,如果存在更广泛的设备独立性问题,那么在应用于物联网时,仅有区块链是没有用的。我们要确保这些边缘设备生成的数据是真实可信的,并且完全不受外界影响。

btcfans公众号

Scan QR code with WeChat

Link
Disclaimer:

Previous: Coin Metrics丨Bitcoin:前所未有的公平分配实验 Next: OK区块链60讲 | 第47集:2017年“区块链革命”

Related