快捷搜索:

区块链硬核分析(一):区块链是一种共享数据库吗?

引言

这几年,学术和产业界对区块链的理解和应用产生了很多误区,本人也在过去的文章中逐步澄清和重新概念。不过,总感觉意犹未尽,没专门立题成章。近期因为正在设计分布式产业协作模型,每到区块链技术运用精妙之处,感觉需要有系列文章来逐一讲解这部分误解。期望通过本人的反复主张,可以为区块链产业运用提供更多的策略和概念。

这次大家第一讨论“区块链是共享数据库”这个说法有没问题。在百度百科如此描述区块链:“区块链是一个信息技术范围的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具备“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特点。”可以说大多数觉得区块链是一种共享数据库的说法,受百度百科影响比较大。

下面,大家就剖析一下啥是共享数据库?

本人通过“知网”搜索“共享数据库”关键词,并未发现直接匹配的论文,更多是关于数据共享模式的有关论文;通过百度百科词条搜索也没发现“共享数据库”的定义描述,倒是有“共享存储”(定义完全不同,有兴趣可以自行搜索)。可以说,一直以来“共享数据库”就不是学术和系统实践的定义,“共享数据库”更多的是网络造词的畸形产物之一。

这是由于,无论从数据集成和共享模式剖析,还是从数据库分类剖析看,“共享数据库”都是一种伪命题。

第一,从数据库的概念上看:“数据库是根据数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的很多数据的集合”[1],也就是说数据可共享本身就是数据库的基础功能之一,无需额外用区块链技术来打造数据库的数据共享能力。

第二,从数据库分类看,现在容易见到分类根据数据结构的组织不同,可分为:“关系型数据库”和“NoSQL数据库”;根据部署模式不同,可分为:“单机数据库”和“分布式数据库”等,也从未出现过根据数据共享程度分类的数据库。

再者,从数据共享方法上看,业界常使用数据集成,达成把不同出处、格式、特征性质的数据在逻辑上或物理上有机地集中,从而为企业提供全方位的数据共享。一般使用联邦式、基于中间件模型和数据仓库等办法来架构数据集成的系统,并且已有不少成熟的框架可以借助。

所以,无论是数据库技术,还是企业数据共享模式的进步都从未出现过“共享数据库”这个定义,由于开发数据库软件的初衷本质上就是解决数据的组织、存储、管理和共享的。

上面讲到“区块链是一种共享数据库吗?”是一种伪命题,由于数据库的使命之一就是提高数据的访问和共享便捷性。那大家为何有如此的概念呢?我猜测,“区块链是一种共享数据库”主要还是受一些通用底层区块链平台或商品的影响。

第一,大多数的公链平台,比如:Bitccoin、以太坊、柚子币等,本身并非一个通用底层区块链平台,他们都是以P2P资产买卖为核心构建区块链有关技术的组合应用,包括:加密技术、分布式技术、点对点数据传输、共识算法、链式数据结构、博弈论等。技术的运用是为P2P、安全、高效的资产买卖达成服务的。所以在非资产处置的行业范围,比如:政务、工业、提供链等,直接用基于公链的区块链技术总是会格格不入。因为公链平台业务目的是明确的,所以大伙不会去讨论BitCoin是不是是一个共享数据库的问题。

第二,在大多数已拓展网盟链应用的行业中,底层很多使用Apache Hyperledger系列平台,受Hyperledger的影响颇深。以Hyperledger核心的Fabric为例,Fabric是一个业务目的不清楚的通用区块链平台。从下图可以看到Fabric的节点主要由智能合约(早期的Chaincode)和分布式账本构成。而节点中的数据主要由分布式账本Ledger存储。

Fabric 状况模型

出处:Hyperledger Fabric技术白皮书[2]

上面已经提到,Fabric是一种业务目的不清楚的通用区块链平台,在Fabric的账本模型Ledger中,其实和大家平时理解的金融账本并没直接关系,Ledger只不过一种通用KV存储模型,你可以存储任意数据。在Fabric实质用过程中,假如没范围模型驱动,Fabric就真是一个分布式数据存储构造。

受这个原因影响,事实上大家在区块链行业应用中,很多使用Fabric的全局状况存储World State,达成分布式存储链。我在其他文章已经反复强调了,假如把区块链定位为分布式的数据存储机制,那和现在常见的分布式数据库相比没任何技术优势,只不过达成更复杂,效率更低而已。

通过上面的剖析,也确实可以把以Fabric为代表的区块链通用平台,概念为分布式数据存储模型,但这种分布式存储机制可以带来数据共享和开放吗?这里有个误区,是大家片面的理解为,数据分布式可带来数据的共享,但本文想强调,数据是不是共享与存储结构和部署模式无关。

数据的存储结构和部署模式是物理模型,而数据的共享是业务模型。在当下“数据即资产”与个人隐私保护和商业数据安全得到民众和舆论强化理解的当下,决定数据是不是共享的重要,不是数据怎么样存储和部署,而是数据共享的业务必要性和多方参与者的利益是不是得到平衡和保障。容易借助分布式存储机制解决“信息孤岛”问题,显然是异想天开了。

而且,大多数“信息孤岛”的问题,恰恰是数据分散存储和管理导致的,可以说数据的分布式是近况,而不是前景。解决数据分散导致的“信息孤岛”问题,第一要区别数据主权关系。在单一数据主权(绝对数据主权)下最高效的办法是数据集成,通过数据联邦、数据中间件和数据仓库等方法达成数据的汇聚;在多方数据主权(相对数据主权)关系下,则是通过法律强制或商业模式驱动,在合法合规的首要条件下让数据在数据应用有关方之间安全流动。

在没办法打造数据集成的环境下,比如:多方数据主权、集成本钱和法律限制条件,确实可以使用区块链技术打造数据可买卖、可流动、可监管的可信数据共享互联网。但这个时候区块链技术应用重点恰恰不是分布式的数据存储,而是数据资产的买卖。假如没打造数据资产买卖模型,容易借助Fabric的全局状况,是没办法达成数据共享的。

其实,以比特币为代表的经典区块链技术,已经证明了区块链分布式节点中的数据存储只不过为了保障各节点,可以当地化、高效的验证买卖数据的真伪,而不是为数据共享为最后目的。

进入网络Web2.0年代以来,很多新技术,新名词涌入产业界,从云数据、人工智能、5G、区块链再到今年的量子计算,每一次的新技术和产业结合都无法避免在国内产业圈出现技术认知的“哑铃效应”,即:哑铃的一头是高度定义化、抽象化,而另一头是高度的实例化和工具化。

区块链技术的兴起也是这样,一边是从定义化和抽象化上刻画区块链是一种去中心化,用互联网自治代替中心化系统的价值网络;而另一边则是将区块链描述为共享数据库,一种分布式存储工具。为何会产生如此的认知呢?我想非常大缘由是,一种新技术的忽然兴起,总是只不过被几篇论文、几个应用场景点燃,但在广泛范围的应用型配套研究还未完全跟上,使用高度定义化、抽象化或实例化、工具化的概念,总能在现实世界找到映射关系,这是一种低本钱的讲解路径。

可以说,新技术进步的哑铃效应是一个势必过程,但伴随新技术在范围实践中的常识积累和模型沉淀,将会不断修正哑铃的两端,让价值认知更为平滑、实用。爱因斯坦说过:“你没办法在制造问题的同一思维层次上解决这个问题”,看待新技术总是不可以直接从现实事物中直接匹配和映射,而是需要以革新思维在应用范围进步和健全新技术的概念和价值。

区块链技术在某种程度上确实可以充当分布式数据库或数据共享机制用,但在实质应用中与传统数据集成框架相比,并无优势。同时因为使用分布式共识算法、点对点互联网传输和区块数据结构等技术,系统复杂度更高、性能和可维护性更差。这么大的代价只不过为了打造分布式一致性的存储机制显然是得不偿失的,也没实质商业前途。借助区块链技术需要关注分布式的对等、安全、公平的买卖环境的搭建上,以优化数据买卖环境为首要条件,间接达成数据充分共享和借助。可以说在数据共享范围,区块链技术只不过基础条件之一,而不是绝对原因。在数据所有权分散的环境下,决定数据能否共享,非常重要的是业务和商业模型的确立。

Fabric 节点构成

出处:Hyperledger Fabric技术白皮书[2]

而分布式账本Ledger又主要由Blockchain和全局状况构成,全局状况的更新被区块中的买卖Transactions触发和决定。见下图:

Fabric 账本构成

出处:Hyperledger Fabric技术白皮书[2]

由下图可见,分布式账本Ledger中的全局状况World State本质确实是一种分布式的KV存储模型,再配合分布式节点互联网,就不难讲解为何会觉得区块链是一种共享数据库了。

此文出于传递更多信息之目的,并不意味着同意其看法或证实其描述。本网站所提供的信息,只供参考之用。

您可能还会对下面的文章感兴趣: