区块链 = 数据库?从数据库的权限角度来看看二者的区别。

原文标题:《区块链和数据库有什么区别?》
作者:jolestar,知名互联网资讯博主,区块链技术研究者,BFTF 区块链技术联盟的发起者

这两天关于 #区块链# 有什么用的讨论很激烈,你说出一个区块链应用场景,很多人就问这样和用一个数据库有啥区别?我们抛开区块链相关的概念,单纯把区块链当数据库看,从数据库的权限角度来看看二者的区别。

区块链 = 数据库?开放性可大不同

上图中标蓝的部分,是从公众使用者的角度来看的区块链和数据库的关键区别。总的来说,区块链的开放性是大于数据库的,并且如果采用区块链架构,基本上是可以实现从私有链逐渐开放过渡的。

就拿最让人嘲讽的私有链来说,私有链只要定时公布自己的 root hash,就可以对用户提供数据未篡改证明,这个是当前数据库做不到的。进一步如果是一个封闭的联盟链,由于数据控制在不同主体手里,对用户来说信任一群主体中的大多数也比信任单一的主体风险小。如果能把读权限完全开放,相当于第三方可以搭建一个从库,实时获取到最新数据。如果写权限也开放,基本已经接近公链的程度了(Libra 基本就是这个程度)。

当然,肯定有人肯定杠,我把数据库端口对外开放,不就可以对公了?但为什么没人这么干呢?因为当前数据库的设计就是是面向内部系统的,它的安全机制,反垃圾机制,数据合法性校验,基本都要依赖应用系统,通过应用系统对外提供服务。而区块链是反过来了,数据库直接对外提供接口,应用逻辑下沉到数据库内部,对数据合法性进行校验,通过经济系统实现反垃圾和安全机制。

这样做有什么好处呢?互联网的应用主要关注的是用户界面,是面向人的设计,而需要程序处理数据的时候就很难。你得先爬了网页,然后结构化再处理,并且有新的数据你也不知道。而区块链这样的架构可以直接对外提供结构化数据,并且实时同步,程序可以直接处理,是面向数据的设计,这给不同的系统之间的交互提供了无限可能。并且由于这一特征,当数据写入的那一刻,就自然确定了数据的身份标志和归属权,数据传播和同步过程中,数据的身份标志和归属权永远可校验。

互联网时代的数据源是如何校验的呢?比如你看到别人转载的一个新闻,说 xxx 部门发布了一个中国人都应该了解的大新闻,你怎么确认真伪呢?你得到该部门网站去检索一下。也就是说互联网时代的数据是根据数据所在的域名,域名的归属,域名指向的服务器的所有者,这样来确权的,一旦数据从该网站流转出去,就没办法确定权属了。这也是为啥一些公开信息和数据,发布方也不愿意第三方直接拿去展示,因为第三方展示的时候,如果篡改或者展示了旧的过期的信息,会误导最终用户,最终用户也不容易确认。如果这些信息都搬到区块链上,任何第三方展示的时候同时展示数据的签名,客户端就可以自动校验。

当然很多人又会跳出来说,区块链这么慢这么贵,怎么存那么多数据。这个可以一步一步来,逐步开放,不一定非要用公链。何况把一个慢的成本高的东西优化到更快更低,这个是技术人最擅长的事情,等等就行。

当然还有人会问,网站通过区块链把数据库都开放了,让别人直接把原始数据实时同步去了,自己怎么赚钱?这个确实是当前最大的难题。毕竟互联网的商业模式主要还是建立在广告之上,控制不了终端,怎么放广告?

这个问题一方面,前期可以先通过公益类的开放数据来尝试,比如政府的公告,公开数据,科研数据等。举例来说,比如统计局的数据,法院判例库,企业注册信息,检索系统都不好使,如果通过区块链公开,第三方完全可以做出来更好使的检索系统。

另外一方面,现在的网页被大厂抓去了展示,你自己也放不了广告啊,终端已经被几个大厂把持了,还不如弄区块链上,一起探索看看有没有新的商业模式。

来源链接:media.weibo.cn