查看原文
其他

为什么说区块链的能力很大又很小?

2017-10-31 敖萌 中国信息通信研究院CAICT

再不点蓝字关注,机会就要飞走了哦

传说苏东坡与僧人佛印是好朋友,一天,苏东坡对佛印说:“以大师慧眼看来,吾乃何物?”佛印说:“贫僧眼中,施主乃我佛如来金身。”苏东坡听朋友说自己是佛,自然很高兴。可他见佛印胖胖堆堆,却想打趣他一下,笑曰:“然以吾观之,大师乃牛屎一堆。”佛印听苏东坡说自己是“牛屎一堆”,并未感到不快,只是说:“佛由心生,心中有佛,所见万物皆是佛;心中是牛屎,所见皆化为牛屎。”

 


与上同理,一模一样的数据,对于音乐播放器,它可能是一段音频;对于杀毒软件,它可能是一段病毒;对于画图软件,它可能就是一幅图片……如果没有合适的程序,强行打开一个文件我们通常得不到任何有意义的内容。但是对于电脑来说,所有数据都是存储在硬盘上的一段二进制代码。

  


对于区块链,情况也是一样。区块链上存储的是二进制的数据,虽然对于大多数区块链系统来说,原本的设计都是放置交易在区块链上,但是我们也可以把任何内容转换为交易数据的形式,放在区块链上。或者通过修改区块链的底层协议,让区块链系统可以直接作为数据的存储器。

 

因此,对于通常的交易类型应用,区块链是可以直接处于应用层的。对于其他类型的应用,区块链可以作为存储底层使用。对于绝大部分应用来说,存储功能都是必需并且非常重要的一个功能,控制了存储,就控制了整个应用。

 


在应用层上,我们可以对数据进行独立的不同的解释,进而使区块链可以用于不同的应用。甚至在同一条区块链上,我们通过对数据进行分段标记,不同的应用读取不同的数据,来进行不同的解释,实现多种应用共用同一条区块链。当然,这些应用能够真正工作的前提是:区块链的数据读写能力满足应用的要求。

 


以域名系统(DNS)为例,DNS解析系统的核心数据“域名-IP”的对应关系,DNS管理系统“域名-域名所有者”的对应关系。如果我们把这两种数据全部放在区块链上,整个DNS系统就变成了一种分布式的DNS系统。DNS管理系统根据区块链上的“域名-域名所有者”的对应关系数据,允许域名所有者写入“域名-IP”的对应关系数据,DNS解析系统直接去区块链上获取“域名-IP”的对应关系数据,放在内存里。然后再按照传统的DNS解析系统工作方式进行工作就可以了。


 

简单地说,区块链系统提供了一个多个节点之间数据完全一致的底层存储器,应用层只需要去底层读取数据,然后按照自己的方式去使用,就可以了。于是,我们很方便的就得到了各种“区块链+”的应用。所以我们说,区块链的能力很大。

 

但是,这样用我们就真的能够得到区块链的精髓吗?

 

我们把这样的应用分成两类:


 

这两类应用的区别就在于:应用服务接到用户请求后,是把用户要的结果写到了区块链上,让用户可以去链上查询,还是直接把结果返回给了用户。

 


我们仍以DNS系统为例。对于DNS管理系统来说,可以算是第二类应用。域名持有者发起一个变更域名指向地址的请求后,DNS管理系统会把变更后的结果写回到区块链上。域名持有者去区块链上查询,就可以知道DNS系统是否做了正确的事情。对于DNS解析系统来说,可以算是第一类应用了。一个用户发起DNS查询请求后,DNS解析系统会立刻把解析后的地址返回给用户,让用户使用。


这时,存在一个中心化的风险,DNS解析系统如果给了一个错误的地址,用户是无法知道的。(除非他去区块链上自己查询,如果是公有链,用户还有权限查询,如果是联盟链,用户可能无法查询。另外由于DNS应用本身要求响应时间极短,因此用户去链上查询数据是没有意义的。)黑客可以攻击DNS解析系统,让DNS解析系统返回的数据不是从区块链上获取来的,而是黑客写入的。在这种情况下,区块链的无中心化抗攻击能力并没有传递给DNS解析系统。


 

对于第二类应用,区块链是可以发挥它真正的作用——应用服务不会被中心化控制。而对于第一类应用,区块链只发挥出很小的作用,因为应用服务本质上仍然是一个中心化的。所以我们说,区块链的能力又很小。不过,区块链在第一类应用中,还提供了一个事后审计的能力,所以,对原中心化系统的信息安全能力还是有一些提升作用的。


作者简介

敖萌,现就职于中国信息通信研究院北京泰尔英福网络科技有限责任公司,主要研究模式识别和区块链,联系方式:aomeng@caict.ac.cn。


来  源 | “泰尔英福”微信公众号(ID: Teleinfo_) 

校  审 | 陈立娜  路凌霄

编  辑 | 贺璐婷


推荐阅读

科普 | 平台经济如何拥抱区块链?


科普 | 区块链里所说的“智能合约”是什么?

好文章,快分享,一起涨姿势~

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存