【摘要】 区块链和数据库的结合有两种思路: 1) 应用数据库的技术改进区块链的性能、可用性。例如,BigchainDB就是这一方向的典型应用,数据库学术界的研究大多基于这个方向。 2) 利用区块链的不可变特性开发不可变数据库。例如,AWS的QLDB。

一、区块链介绍

区块链中的数据以区块为单位产生和存储,按时间顺序连成链式数据结构。所有节点共同参与区块链系统的数据验证、存储和维护,新区块的创建需得到共识确认,通过广播实现全网同步,之后就不能更改或删除。中本聪2009年发明的比特币是区块链的第一个应用。

区块链没有理论创新,是多种已有技术的集成创新,主要解决多方信任与高效协同问题。从技术角度包括哈希运算、数字签名、P2P网络和共识算法四部分内容。区块链所记录的数据不变(immutable),区块链通过密码学和时间戳保障区块链数据不被恶意篡改。

根据参与区块链的个体是否受限,区块链又分为公有链、联盟链和私有链。例如比特币就是典型的公有链,任何人都可以加入。因为没有准入限制,比特币设计了算力非常昂贵的挖矿算法,消耗了大量资源,效率也比较慢。因此,对于企业应用来说,首选联盟链和私有链。

共识协议是区块链重要概念。比特币采用PoW的形式,即算力挖矿,利用哈希算法不停运算直到找到小于某个值的数值即可。还可以选择拜占庭容错式协议,如bigchainDB的共识采用的就是tendermint共识。此外,常见的共识方法还包括Proof of Stake,Delegated Proof of stake、Raft等。

除比特币外,区块链的典型应用包括Hyperledger Fabric,Ethereum,R3 Corda、Quorum、Fisco。主流的国际区块链联盟组织包括Libra(Facebook、mastercard、visa、paypal参与,支付领域)、B3i(安联、苏黎世保险、太平洋保险等,保险领域)、fnality(瑞银、巴克莱,证券、跨境支付领域),MOBI(宝马、福特等,汽车领域),mediledger(基因泰克、辉瑞、医药领域),Tradelents(航运领域),tradeix marcopolo(供应链领域)。可以预见,未来在这些领域,区块链都将带来改变和变革。

二、区块链主流应用

区块链的应用最早来自金融行业,后面慢慢扩展到很多传统行业,如供应链、物联网等。2019年11月,华为的政府区块链目录在北京上线,链接了50多个北京市机构,提供了更有效的数据查询、数据共享和权限管理。蚂蚁区块链提供电子票据应用,招商银行使用区块链实现跨境支付等。

如何判断你的业务是否适合区块链?可参考如下图。

三、区块链政策解读

1. 1025讲话:2019 年 10 月 25 日,***的讲话称,我们要把区块链作为核心技术自主创新的重要突破口,明确主攻方向,加大投入力度。

2.  密码法发布:10月26日下午,十三届全国人大常委会第十四次会议表决通过密码法,并表示该法将自2020年1月1日起施行

四、区块链与数据库的对比

NUS的Ooi教授认为,区块链和数据库的主要区别在于,区块链的设计首要目的是安全,数据库的首要目的是效率,因此,有如下详细对比分析:

对比点

 

设计选择

原因

共识协议

区块链

拜占庭故障容忍

互不信任的运行环境

 

数据库

宕机故障容忍

高可用的运行要求

共识层位置

区块链

顶层

去中心化,防单点

 

数据库

存储层之上

数据完备性

事务层

区块链

顺序执行

易于理解、易用

 

数据库

并发执行

高吞吐

存储

区块链

历史(账本)+状态

溯源,解决争议

 

数据库

状态

节约存储

索引

区块链

Merkle Tree等

篡改可见性

 

数据库

B树

硬件友好

Sharding

区块链

基于节点的分片

防止恶意分区

 

数据库

基于服务的分片

负载均衡

五、区块链与数据库如何结合

我认为,区块链不可能替代数据库,区块链和数据库的结合有两种思路:

1)  应用数据库的技术改进区块链的性能、可用性。例如,BigchainDB就是这一方向的典型应用,数据库学术界的研究大多基于这个方向。

2)  利用区块链的不可变特性开发不可变数据库。例如,AWS的QLDB。

六、Bengchin Ooi在区块链方面研究成果简介

1.       Blockbench:发表在2017年SIGMOD,业界首个评估私链性能的标准化测试套件,由新加坡国立大学和浙江大学联合开源发布。

2.       ForkBase,发表在2018年VLDB,是业界首个针对区块链设计的原生存储系统

3.       Improving performance bottleneck with trusted h/w and sharding (SIGMOD 2019)

作者:秋Grace

【华为云技术分享】区块链与数据库如何结合?相关推荐

  1. 【华为云技术分享】数据湖数据库,别再傻傻分不清了

    什么是数据湖 如果需要给数据湖下一个定义,可以定义为这样:数据湖是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取.处理.分析及传输. 数据湖从企业的多个数据源获取原始数据,并且针对不同的 ...

  2. 华为云正式推出区块链服务!区块链技术将在数字经济时代大放异彩

    在近日的华为全联接大会上,华为高级副总裁.华为云CEO张平安宣布,华为云正式推出区块链服务.张平安表示,使用全新研发的区块链引擎,单链条可以支持每秒5万条商品信息同时上链,吞吐量提升了10倍. 张平安 ...

  3. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 1

    前言 以互联网为代表的信息技术的迅猛发展对整个经济体系产生了巨大的影响.信息技术的发展一方面使知识的积累和传播更加迅速,知识爆炸性的增长:另一方面,使信息的获取变得越来越容易,信息交流的强度逐渐增加, ...

  4. 【华为云技术分享】三大前端技术(React,Vue,Angular)探密(下)

    [华为云技术分享]三大前端技术(React,Vue,Angular)探密(上) [Angular] Angular(通常被称为 "Angular 2+"或 "Angula ...

  5. 互联网快讯:华为云正式推出区块链服务;猿辅导布局素质教育;轻松筹回应裁员

    国内要闻 1.HarmonyOS 2升级用户数突破1.2亿,平均每天超100万用户升级 2.华为云正式推出区块链服务,单链支持每秒5万条商品信息上链 3.荣耀CEO赵明:未来可能有上市计划,星耀公司不 ...

  6. 【华为云技术分享】“技术-经济范式”视角下的开源软件演进剖析-part 3

    4. 微观层面 4.1 个体动机 在开源软件发展之初, 商业组织的投入很少甚至没有, 完全是靠Richard Stallman 或者 linus Torvalds 这样的个人在努力推动开源软件艰难前行 ...

  7. “链”接产业 “数”造智能 ——京东云技术沙龙区块链专场活动在津举行

    在刚刚结束的京东云技术沙龙-天津站活动中,京东云邀请了内外部区块链领域的核心专家,为大家带来了精彩的分享,通过理论介绍.技术剖析.案例分享.交流答疑等环节,揭秘了区块链的底层技术实现原理.中层产品架构 ...

  8. 【华为云技术分享】直播回顾丨激发数据裂变新动能,HDC.Cloud云数据库前沿技术解读

    3月24日14:00-17:00,HDC.Cloud开发者沙龙系列云数据库专场直播线上开启,此次华为云数据库通过三场直播从NoSQL数据库新技术.数据库迁移.行业解决方案等方面对云端数据库进行深度解读 ...

  9. 【华为云技术分享】从自建MongoDB聊聊云数据库MongoDB的蓬勃张力

    在很长一段时间内,企业为了自身发展大多选择自建数据库,而随着企业的发展壮大和数据量的猛增,自建数据库越来越不能满足企业对数据库提出的高要求,为了更好地管理和使用海量数据,越来越多企业选择把云下数据库迁 ...

最新文章

  1. C语言一级指针(char *)易错模型分析
  2. 网络上的两台计算机如何互相访问,怎么样使两台电脑互相访问?
  3. modelsim与modelsim_altera使用的一些区别
  4. jzoj5365-[GDOI2018模拟9.14]通信【线段树合并】
  5. Redis的三种集群原理
  6. android 悬浮窗 输入框_利用DecorView实现悬浮窗的效果
  7. golang mysql加锁_使用golang实现类InnoDB数据行锁效果
  8. 01背包,完全背包,多重背包,混合背包,二维费用背包,分组背包,背包问题求方案数
  9. C语言和C++的区别是什么?到底学哪种好
  10. 【迁移学习】算法之TrAdaBoost
  11. 挑战程序设计竞赛:Conscription
  12. ToStringBuilder学习
  13. js/vue 动态获取浏览器宽度/高度
  14. 司空见惯 - 洪荒之力
  15. Android选择颜色,尺码联动
  16. codeforces1155F Delivery Oligopoly
  17. 8253工作方式区别、计数初值及应用
  18. Android-Universal-Image-Loader三大组件DisplayImageOptions、ImageLoader、ImageLoaderConfiguration详解
  19. VS2008试用版破解方法
  20. antDesign 修改日历(Calendar) 的一二三四五六日为周一周X格式

热门文章

  1. debian下添加环境变量
  2. 插件 脚本 线程 进程
  3. 计算机数学渤海船舶职业学院,渤海船舶职业学院2020年高职扩招录取原则
  4. ap map 脚本_【图片】fgotool辅助脚本:检测各种素材消耗AP最少的前三个地点【命运冠位指定吧】_百度贴吧...
  5. mysql 存储过程 输出table_mysql 存储过程 没有结果输出。
  6. python原理及代码_lightgbm原理以及Python代码
  7. 003之MFCSocket异步编程(指针机制)
  8. 第四周Java学习总结
  9. JAVA项目从运维部署到项目开发(三.Redis)
  10. 线段树——最大数——洛谷——1198