一、区块链和分布式数据库的本质区别
此文是李宁先生的分享,讲解了什么是区块链?什么是分布式数据库?相信很多人容易混淆这两个概念。表面上看,区块链和分布式数据库在基础技术方面有很多相似的地方,但也仅仅只是相似而已,接下来,本文将从本质区别、核心价值和存储技术三个方面来探讨二者的不同。
Ultrain 联合创始人 &CTO
一、区块链和分布式数据库的本质区别
1、一致性的核心共识算法和冗余的数据存储:一致性的核心共识算法和冗余的数据存储是二者最为相似的一点,即便如此,二者在技术目的上仍存在本质区别。其中,区块链使用这些技术的核心目的在于构建一个尽可能去中心的、数据资产所有权永久保护和自由转让的世界;而分布式数据库核心目的则是尽可能构建一个逻辑中心,这个中心能对外提供高性能、低成本以及扩展性好的服务。
2、不可能三角:二者都需要面对不可能三角的挑战,但二者所需要面对的具体挑战有本质的区别:其中区块链面对的是安全、去中心化和可扩展性;而分布式数据库面对的是对业务的支持度、工程实现复杂度和硬件要求。
3、一致性:一致性在区块链和分布式数据库上对应的意义也不同:区块链系统中的一致性指的是多节点对数据状态的共同维护能力;而分布式数据库系统中的一致性指的是多个副本对外呈现的状态。
4、共识算法安全级别的不同区块链系统解决的是拜占庭错误,主流算法有 POW/POS(概率算法) 和 PBFT(确定性算法)。其中,POW/POS 概率类算法的共识结果则是临时的,随着时间推移或某种强化,共识结果被推翻的概率越来越小,最终成为事实上结果。拜占庭类容错算法往往性能较差,无法容忍超过 1/3 的故障节点;而 PBFT 确定性算法一旦达成共识就不可逆转,即共识是最终结果。分布式数据库系统解决的是非拜占庭错误或故障错误,主流算法有 Paxos 和 Raft,这类容错算法往往性能比较好,处理较快,容忍不超过 1/2 的故障节点。
二、从核心价值探究区块链和分布式数据库
区块链的核心价值
区块链的核心价值不是对外提供服务而是构建自己的数据资产世界,区块链世界更新的是状态,存储的是可追溯日志,主要数据结构分为两类:交易和区块。具体体现如下:交易用于外部世界驱动区块链世界状态的更新,它又包含两类数据:交易输入和交易输出,交易输入指明了交易的数据资产来源,交易输出指明了数据资产的去向。区块用于存储交易数据,主要由区块头和区块体两部分组成,区块头中记录了版本号、上一个区块的 Hash 地址、merkle 根、区块创建时间戳、区块的工作量难度目标以及用于计算目标的参数值,区块体包含交易数量和完整的交易数据。
分布式数据库核心价值
分布式数据库核心价值是对业务系统提供数据存取服务,其中业务数据库是面向操作的,主要服务于业务产品和开发;而数据仓库是面向分析的,主要服务于分析人员。
三、从存储技术的角度解开区块链和分布式数据库的面纱
区块链
2008 比特币到区块链 3.0,区块链最基础的存储技术没太多的变化,下面我就举个比特币的存储原理的例子。 Bitcoin/blocks/ 文件夹下形如图 1 中的 blk00000.dat 的文件为区块数据存储的文件,每个文件 128M 左右,此文件夹下存储了所有的区块数据。
Bitcoin/blocks/index/ 文件夹下存储了所有区块的索引数据,采用的 leveldb 格式的键 / 值对数据库。
每个区块最大是 2M,区块数据存储在区块文件中(如图 1 中 blk00000. dat),区块与区块之间利用“魔术数”分隔(如图 3 中的 0xF9BEB4D9),一个文件可以存储多个区块数据,文件也有最大限制,大于 128M 左右就会重新创建一个文件(如 blk00001.dat)。
分布式数据库
分布式数据库从 2005 年左右开始,首先是 NoSQL 这波浪潮。这些数据库解决的首要问题是单机上无法保存全部数据,如 HBase/Cassadra/MongoDB 等。紧接着是 RDMS 的救赎,除了 NoSQL 之外,RDMS 系统也做了不少努力来适应业务的变化,也就是关系型数据库的中间件和分库分表方案。然后是 NewSQL 的发展,2012~2013 年 Google 相继发表了 Spanner 和 F1 两套系统的论文,让业界第一次看到了关系模型和 NoSQL 的扩展性在一个大规模生产系统上融合的可能性。
你可能感兴趣的文章
-
“姚班”团队在上海打造世界级区块链,姚期智给他们带来了什么?
-
“姚班”团队在上海打造世界级区块链,姚期智给他们带来了什么?
近日,习近平总书记给中国科学院院士、清华大学教授姚期智回信,向他致以诚挚问候并提出殷切希望。姚期智是“计算机诺奖”图灵奖得主,曾长期在美国高校任教,2004年全...
2024-10-16
黑客将以太坊区块链系统与谷歌系统相链接 可通过电子邮件发送以太坊
-
黑客将以太坊区块链系统与谷歌系统相链接 可通过电子邮件发送以太坊
站长之家(ChinaZ.com) 11月13日 消息:据trustnodes报道, 三名黑客提出了一个创新项目,将以太坊的区块链系统与谷歌系统连接起来,可以实现...
2024-10-16
新发票来了:官方发公告推行区块链发票这个咋用?
-
新发票来了:官方发公告推行区块链发票这个咋用?
1、通俗理解区块链发票1.流程:就餐—微信付款—微信“卡包”—申请开发票(填开票信息,跟“我的发票”链接)—申请报销—款到账(要是到微信钱包,将来可能还有手续费...
2024-10-14
别人都在发币,他们将区块链系统吞吐量提升了几万倍
-
别人都在发币,他们将区块链系统吞吐量提升了几万倍
区块链想满足大规模商用的需求,交易处理速度的提升是必要的前提条件。本文共计2304字,阅读时间4分钟。项目要点:1、博晨是一家区块链底层技术公司,已经完成两轮融...
2024-10-14
区块链工程技术人员需要什么报考条件?证书有什么用?
-
区块链工程技术人员需要什么报考条件?证书有什么用?
作为一个新兴发展的行业,国家政策红利之下,各行各业对不同种类的区块链人才有了更大的需求,选择成为一名区块链工程技术人员好就业,待遇也好,也有很多想要取得区块链工...
2024-10-10
“风口”还是“虚火”? 来看这些五花八门的区块链应用
-
“风口”还是“虚火”? 来看这些五花八门的区块链应用
陈思进称,“区块链”领域存在泡沫,与20年前的“.COM”泡沫相似。他表示,那时,一个公司只要带上“.COM”的标识,其股价就会飙升。但是20多年过去了,在当年...
2024-10-09
民生中信银行上线国内信用证信息传输区块链系统,首日交易量达1亿人民币
-
民生中信银行上线国内信用证信息传输区块链系统,首日交易量达1亿人民币
近日,民生银行与中信银行合作打造的基于区块链的国内信用证信息传输系统一期(Blockchain based Letter of Credit System , ...
2024-10-02
一、区块链和分布式数据库的本质区别
-
一、区块链和分布式数据库的本质区别
此文是李宁先生的分享,讲解了什么是区块链?什么是分布式数据库?相信很多人容易混淆这两个概念。表面上看,区块链和分布式数据库在基础技术方面有很多相似的地方,但也仅...
2024-09-27
区块链国际标准在上海发布,原创技术为我国争得全球规则制定权
-
区块链国际标准在上海发布,原创技术为我国争得全球规则制定权
今天,IEEE(电气电子工程师学会)和上海树图区块链研究院联合发布了IEEE国际标准《区块链系统应用接口规范》(项目编号:IEEE P3217)。这项国际标准由...
2024-09-27
区块链核心算法之共识机制
-
区块链核心算法之共识机制
共识机制在区块链系统中起到决定谁负责生成新区块的作用。一、什么是共识?在理解共识的概念之前,先简单粗爆地假设——咱们村有100人,现在要投票选举谁当村长,如果1...
2024-09-27