百度百科|区块链硬核解析(一):区块链是一种共享数据库吗?

编辑导语:区块链作为一项新兴信息技术,越来越受到人们关注。区块链存证技术的出现,不仅突破传统电子证据运用痛点,其所具有不易篡改、去中心化存储等技术特征,与电子数据固证存证的需求相契合,被认为有着极大发展潜力。本文作者针对区块链进行了解析,它真的是一种共享数据库吗?
百度百科|区块链硬核解析(一):区块链是一种共享数据库吗?
文章插图
一、引言这几年,学术和产业界对区块链的理解和应用产生了大量误区,本人也在过去的文章中逐步澄清和重新定义。
不过,总觉得意犹未尽,没有专门立题成章。最近由于正在设计分布式产业协作模型,每到区块链技术运用精妙之处,觉得需要有系列文章来逐一解释这些误解。
希望通过本人的反复倡导,可以为区块链产业运用提供更多的方案和定义。
这次我们首先讨论“区块链是共享数据库”这个说法到底有没有问题。
在百度百科这样描述区块链:“区块链是一个信息技术领域的术语。从本质上讲,它是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”“全程留痕”“可以追溯”“公开透明”“集体维护”等特征。”
可以说大部分认为区块链是一种共享数据库的说法,受百度百科影响比较大。
接下来,我们就分析一下什么是共享数据库?
二、什么是共享数据库?本人通过“知网”搜索“共享数据库”关键字,并未发现直接匹配的论文,更多是关于数据共享模式的相关论文;通过百度百科词条搜索也没有发现“共享数据库”的概念描述,倒是有“共享存储”(概念完全不一样,感兴趣可以自行搜索)。
可以说,一直以来“共享数据库”就不是学术和系统软件实践的概念,“共享数据库”更多的是互联网造词的畸形产物之一。这是因为,无论从数据集成和共享模式分析,还是从数据库分类分析看,“共享数据库”都是一种伪命题。
首先,从数据库的定义上看:“数据库是按照数据结构来组织、存储和管理数据的仓库,是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合”[1]。
也就是说数据可共享本身就是数据库的基础功能之一,不需要额外使用区块链技术来建立数据库的数据共享能力。
其次,从数据库分类看,目前常见分类按照数据结构的组织不同,可分为:“关系型数据库”和“NoSQL数据库”;按照部署模式不同,可分为:“单机数据库”和“分布式数据库”等,也从未出现过按照数据共享程度分类的数据库。
再者,从数据共享方式上看,业界常采用数据集成,实现把不同来源、格式、特点性质的数据在逻辑上或物理上有机地集中,从而为企业提供全面的数据共享。
通常采用联邦式、基于中间件模型和数据仓库等方法来构造数据集成的系统,并且已有很多成熟的框架可以利用。
所以,无论是数据库技术,还是企业数据共享模式的发展都从未出现过“共享数据库”这个概念,因为开发数据库软件的初衷本质上就是解决数据的组织、存储、管理和共享的。
三、为什么会认为区块链是共享数据库?上面讲到“区块链是一种共享数据库吗?”是一种伪命题,因为数据库的使命之一就是提升数据的访问和共享便捷性,那我们为什么有这样的定义呢?
我猜测,“区块链是一种共享数据库”主要还是受一些通用底层区块链平台或产品的影响。
首先,大部分的公链平台,例如:Bitccoin、Ethereum、EOS等,本身并不是一个通用底层区块链平台,他们都是以点对点资产交易为核心构建区块链相关技术的组合应用,包括:加密技术、分布式技术、P2P数据传输、共识算法、链式数据结构、博弈论等。
技术的运用是为点对点、安全、高效的资产交易达成服务的。所以在非资产处理的行业领域,例如:政务、工业、供应链等,直接使用基于公链的区块链技术往往会格格不入。
由于公链平台业务目的是明确的,所以大家不会去讨论BitCoin是否是一个共享数据库的问题。
其次,在大部分已开展联盟链应用的行业中,底层大量采用Apache Hyperledger系列平台,受Hyperledger的影响颇深。
以Hyperledger核心的Fabric为例,Fabric是一个业务目的不明确的通用区块链平台。从下图可以看到Fabric的节点主要由智能合约(早期的Chaincode)和分布式账本构成。而节点中的数据主要由分布式账本Ledger存储。
百度百科|区块链硬核解析(一):区块链是一种共享数据库吗?
文章插图