8月8日晚,Trias 联合十个社群进行直播,CEO阮安邦博士向社群成员分享了“区块链数据确权及共享的颠覆式解决方案”。小编将直播中的干货整理成文字版,分为上下两篇发布,以下是直播干货的第二部分:
这一篇着重讲解Trias是如何解决数据确权以及数据安全性的问题。
Q:我曾经听说过有人的“方案”是使用完数据砸掉硬盘,那Trias解决区块链数据问题的创新思路是什么?最主要的难点会在哪里呢?
阮安邦:Trias的新思路就是,既然我没法相信对方是不是按照约定处理我的数据,那么是否可以不给他数据呢?是否可以让把他的程序发到我的机器上来执行呢?比方说,所有的服务商他们想要处理我的数据,我不需要把数据交给他,只把数据存储在本地,然后要求他们把应用程序发到我的机器上,在我认为一个比较安全的环境中让这些程序来处理我的数据。
在这种情况下,我们需要考虑两个问题:首先,如何确保程序真正在做他应该要做的事情;其次,对于对方来说,他要处理我的数据且不拿走我的数据,那么他能否确信我的机器真正执行了他的程序。
这也是Trias想要解决的两个问题:第一,机器能否正确地执行发给他的程序;第二,程序如何向别人证明它只有正确的行为。
我们先来看第一个问题,如何保证机器正确地执行程序,这需要可信计算。可信计算它是基于一个芯片,把芯片放在一台机器的主板上。这样的话,机器在启动任何程序之前,都会把程序的二进制代码的哈希值存入芯片。如果假设这个芯片比硬件识别软件要相对难攻破,那么就可以说,软件的状态传到了硬件里面。那远端的机器就有可能从硬件所存储的一个特征值判断这个小环境里面所运行的程序,是否是他发给我的那个程序。也就是说,如果知道数据放在自己的机器上,这些数据永远不离开我们。当要去执行别人的程序时,就要用这个芯片来记录这个程序,某一状态在什么情况下被执行了。通过这样的方式,就可以向别人证明程序被正确执行。
然后是另外一个问题,如何知道程序会不会做恶,比如,偷偷的把数据拷走一份再传给远端程序?这里用到了另外一个技术,也是Trias中的第二套系统,软件溯源系统。
现在很多区块链的应用场景中都提到溯源。比如农产品溯源,对农产品溯源主要是因为我们觉得它不安全。就拿一个鸡蛋来说,我并不知道它的生产过程,担心吃了它会不健康。
这种情况下溯源能给我们带来什么呢?在一个理想环境中,任何食品从头到尾的所有数据或者是数据的关键信息都会放到上链。我们就可以知道,鸡蛋来源以及它运输中的每一个生产环节。所以从这个角度来说,溯源其实是帮助我们建立对食品的信任感。
我们可以把食品溯源的整个理念放在软件上。如果对方传给我的一个陌生的英文程序我并不知道它到底会做什么事情,但是如果可以查出它完整的生命周期,从它的第一行源代码开始,再到编译,打包、分发、安装这样一个完整的过程,那么就可以通过这些所有的关键信息,了解这个软件是否安全可信。
如果我们能促使一个社区,对任何一个软件完整生命周期上的所有关键信息进行迭代分析,所有人就可以看到一个软件它的源代码是否含有恶意的行为,当然这也分两种情况。如果这个软件是完全开源的,那就所有人都可以看到源代码,并且可以对源代码进行评价,所有人都可以知道这个源代码被编译之后应该生成怎么样的二进制代码。而生成的这些代码应该是正确的,没有被加入后门的。一整条链,如果能记录下这个完整的过程,并且能促使一个社区来分析这个完整过程中的每一个环节,并且给他打分的话,就有办法知道任何一个软件,它是否最终含有恶意的行为。
这是一个开源的情况。对于闭源软件,我们该怎么做呢?比方说闭源软件的源代码,也就是软件开发商自己的一套数据。我们需要对于这个源代码进行分析,其实我们就是要在他的机房的里面,对他的数据进行某些方式的处理,这其实是一个递归问题,我同样需要用另外一段程序在他的机器上,对他的源代码即本地的私密数据进行分析,最终的分析结果也会放在链上。
所以用这种方式,不但能解决对任何一个软件自身安全问题的溯源,还能用来分析软件安全性的问题,这样的话我们就构建了一个非常完整的、可溯源的软件开发的链。这个链的作用是什么? 比如说我们要下载一个软件,我们都希望去得到它的MD5值然后来验证,软件代码所生成的MD5值是不是与官方发布的相符,如果一样,就可以证明软件是官方发布的。通过软件溯源,我们还可以查软件的开发过程,安全属性等等。
所以,我们的新思路就是,不需要交换数据,只需交换数据应用程序。通过这种方式来实现数据共享以及数据的多方协同运算。
通过这种方式,就能用区块链记录哪些程序访问过了我的数据,即对程序访问数据的行为做记录。其实这是两方面应用的组合:我们先用区块链来记录任何一个程序诞生的过程来确保这个程序是没有问题的,同时再用区块链记录这一个程序对数据访问的过程来确保正确的程序对正确的数据做了正确的事情。
Q:那么Trias有自身的落地应用会是哪些呢?
阮安邦:医疗会是Trias未来的一个应用场景,我们已经在接触这方面的应用案例。但是目前在国内,这一块走的并不是很靠前,Trias现在主要应用场景在政务和金融方面,我们也希望在两个领域实现数据确权。
对于政府数据来,Trias主要解决各个政务政府部门之间数据孤岛的问题。比方说人社局、教育局有自己的数据,然后还有很多其他政府机构都有自己的数据。但如果我们需要去协调各方的力量,让大家都把数据放到一个中央的集中的池子里面,然后再来让第三方来对他们的这些数据进行分析的话,这是大家都不愿意做的事情。对于数据拥有者来说,他们很害怕把数据分享出去。原因大概有两点:首先不愿泄露他们所管理的那些公民的数据;其次,可能会担心数据泄露后失去对数据的独占权,丧失某种优势。对于一个基础数据池的构建者和维护者来说,他们也承担着非常大的压力。尤其是去年6月1号开始实施的《网络安全法》规定:服务提供商和云的使用者,他们将共同对云中的数据的安全性承担责任。那也就是说作为一个大数据平台的运维人员,平台里面的任何一份数据的泄露,都可能会被追责。
所以,按照传统的方案,我们不管用多么高等级的安全机制,只要让别人把数据放到一个中间的池子里面,各方都会对安全性产生疑问。因为大家都不是专家,所以没有人可以放心的相信一个技术。
针对这种情况,Trias的解决方案是:不需要打破数据孤岛,不同部门的数据不需要混合在一起,而我们要给这些数据孤岛之间建一些高速公路。其实这样也算是打破数据孤岛,只不过方式不一样,我们并不是说把数据孤岛给整合成一个大岛,而是在岛之间建一个桥梁。
我们把要处理数据的程序发到机房来执行本地化的处理,在这里,有两条链,一条链用来记录程序它的完整生命周期,用来对程序日后所做的任何坏事追责,到底是谁在什么环节出了问题,都会在区块链上记录。另外一条链用来记录程序在机房里面所处理的所有数据,比如程序在哪个时间段访问什么数据。
我们是做安全出身的,第一天上安全课的时候就知道,永远没有绝对的安全,所有的安全都是有代价的。所谓的代价就是说,现在并不存在任何一个不能被破解的密文,所有的数据只要加了密,给我足够多的时间和算力,总有一天能通过穷举的方式把原文给解出来,只不过穷举代价太大,完全没有必要去付出这样大的代价来获得一个相对很小的利益。
我认为这是区块链给整场游戏带来的一个最强力的武器,就是它能很轻易的去建立一个非常难被篡改的数据存储的架构,会让黑客入侵付出很大的代价,付出的代价不能cover他为了实施这一件恶事所付出的那些代价。只要这样的一个相对的假设存在,那么我们就会认为黑客其实很难做坏事。
网友评论