数据隐私、区块链和密码学,他们三者之间如何互相赋能?又如何互相产生价值
2019-12-02陆一帆
陆一帆
互联网的高速发展给我们带来了很多便利,但同时它的弊端也越来越凸显。大家应该都能感受到,接到的骚扰电话、骚扰邮件越来越多,其实到最后,所谓的精准营销和精准骚扰完全就是一件事的两面解释,而数据隐私也是因为这个原因变得越来越重要。
数据共享=数据泄露?
这个年代我们的数据都存放在很多平台里,虽然每个平台都说对数据保护得很好,但实际上数据隐私泄露的事情还是时常会发生,而且当你的数据存在于越来越多的平台,每一个平台都成了一个附加的风险点,一个平台出现数据隐私泄露其实等于你的数据隐私已经全盘泄露了,所以随着互联网技术的发展,每个人数据隐私泄露的概率实际上是越来越高了。
我们经常听说,区块链是一个保护数据主权的良器,那它真能保护数据主权和数据隐私吗?其实未必,虽然比特币有一定的匿名性,而且拥有了比特币的密钥,不管你在哪里其实都控制着比特币,但区块链的本质还是一个共享的数据库,它的价值也来源于此,保护共享数据的隐私机制用的越多,比如说分链、加密,其实对它的限制也越多,这也是制衡区块链发展的一大原因,我们熟知的以太坊和超级账本等知名开源区块链项目都有这个问题。
所以区块链不是保护数据的一个良器,反而更像是一個毒药,因为数据共享本身就是数据泄露,如何把区块链的数据共享商业化?我们的FiMAX技术是采用了一个极端而又非常有效的方式,就是让数据主人自己把自己的链上数据全部加密,从根本上解决数据隐私保护问题。
当然这其实也带来一个问题,因为数据传输中都看不到对方的数据,那上传数据又有什么用呢?这时候我们就需要一些很先进的密码学方案来解决这个问题。不可否认区块链是一个共享的数据库,它的数据集中性以及数据唯一性是直接解决数据孤岛最好的良药。
比如你在一个医院看病,你的病历信息可能很多地方都需要,包括网上药房和你家门口的药房及保险公司,因为他们要知道你的健康状况,才能给你开保单定价;专科医院需要对一些特殊的病进行诊断的时候,也需要知道你的疾病记录,但是如果这个数据让大家都能找到了,那这个数据不就等于把你的身体状况开放给所有人了吗?但当你把这个数据都加密了之后,那就谁都看不到了。
我们采用的密码学方法其实比较简单,就是当医药房需要一个数据的时候,医院能够通过医药房的属性来决定它能看到什么数据。比如药房只能看到你的药单数据,而不应该看到你的 X 光片,以及出生年龄地址;如果是牙医专科医院,就不应该看你心脏的记录。这个时候任何数据通过密码学赋能区块链就实现了字段级别的精准专享,谁都能看到自己该看的数据,而都不能看自己不该看到的数据。
如何鉴别第三方平台的虚假授权?
当一个药店要医院把药单数据开放给它的时候,医院怎么知道这个数据确实是由你来授权的?比如你的病例信息、就诊信息是在网络传播的,但都是密文,如果药房X想要Alice的就诊数据,那Alice就把这个数据开放给药房,这没有问题,但是如果这个药房没有通过Alice,而是直接向医院要数据,那医院怎么确定这个药房不是一个偷数据的传销公司?
这时候我们采用另外一种技术,简单来说就是把个人的手机变成一个虚拟的区块链节点,在个人手机里产生唯一的个人密钥,之后进行CA认证来确定这个密钥一定属于Alice,这时候再把授权请求通过数据网络发送给医院,医院就知道这个请求来自于Alice而不是第三方,然后就可以把数据开放给药房X。
另外,在大多数情况下, C端实际上是不连接或者不直接连接一个数据网络的,医院收到的请求很有可能来自一个第三方平台,刚才的解决方案实际上也应用于第三方平台参与的场景。假设当一个药房X需要Bob的数据,Bob会把用他自己密钥生成的授权请求直接通过第三方平台转递给医院,虽然医院收到的请求是来自第三方平台而不是Bob,但是通过这个密钥的数字签名,医院能确认这个请求是通过Bob来签发的,这时候医院就可以把医药的药单数据开放给药房X。
3D零知识技术——实现加密数据的不共享利用
数据的精准共享虽然能够解决一定的问题,但并不能解决根本的问题,因为很多情况下数据即使是字段级别的加密数据也不能共享,而我们有一种技术能实现让数据在加密的情况下还能进行交叉验证。
比如在供应链金融里,当卖家拿着订单到银行里要求融资时,需要银行去确认这个订单是不是真的,那该如何解决这个问题呢?订单和发票上面都会有物品的金额,又如何在密文的情况下来确认这两个数据是相等的?
我们开发的3D零知识技术能够实现两种密文数据的校验,一是零知识关系验证,把不同密文数据的大于、小于、等于和大于等于、小于等于校验出来;另外一种是零知识全同态验证,就是对一串密文的四则运算,加减乘除四则运算都可以在3毫秒以内来进行,这是我们比较自豪的技术,因为目前还没有人能做得到,全世界范围内也还没有人能接近我们的水平。
比如发出去的货物是1万双鞋, 每双鞋100元,这样如果货物全都发出去了发票上的总金额会是100万,但如果只运送出了5000双鞋那么发票金额不应该大于50万。如果物流数据由物流公司加密,发票金额和单价由厂商加密,银行如何判断出发票真实性?这时候通过3D零知识可以检测出加密的发票金额等于加密物流数据乘以加密后的货品单价金额,从而达到对贸易真伪性的检测。
再比如如果我卖出100万的货,要用50万的原材料去融资,但因为各个银行的数据其实没有打通,所以企业可以拿50万去银行A融资,然后拿70万做质押去银行B融资,因为银行A不会告诉银行B我已经为这个企业质押了50 万,一旦银行B再给它质押70万实际上会有很大的风险,因为企业并没有能力去偿还这么多钱。而如果银行B通过区块链网络进行一个密文的交易,通过零知识校验就可以检测出这个企业的融资实际上是一次重复质押的行为。
在贸易融资中还有一种效果,是把不同的平台串联之后进行数据校验。比如一个订单如果是在进口商银行A创建,出口商是在银行B,出口商可以在银行B的平台上来校验在进口商银行A创建的订单的真实性,并且出口商银行 B 创建的发票能够校验银行A创建的订单。它真正的价值点在于进行跨平台的数据校验,因为订单需要买卖方都转交,而买卖方可能属于不同的银行,要实现这种跨平台的数据交互,这样才能把有可能产生的欺诈杜绝。
这里面其实还有一个问题,就是买卖方可能来自同一个公司。比如一个公司在境内境外都有子公司,因为买卖方都是它自己,所以即使订单是被买卖方全都校验过了,银行也不知道这个订单的真假。这时我们要做的事情就是,采用FiMAX的3D零知识科技来对接在境外的贸易融资网络和在境内的区块链海关网络,如果交叉验证通过,那这个订单或者发票作假的几率就很低了,因为数据不仅来自买卖方,还来自银行、海关、物流公司等等。
其实一直以来所争执的区块链的价值点没有被特别好的发掘,是需要通过独立思考,结合业务场景,再接触学术研究,把它们综合起来才能真正找到区块链的价值点。(摘自美《深科技》)(编辑/华生)