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


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

    一、区块链介绍

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

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

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

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

    image.png

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

    二、区块链主流应用

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

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

    image.png

    三、区块链政策解读

    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

  • 相关阅读:
    02-vue过滤器和键盘修饰符
    01-vue指令
    webpack
    笔记:随机生成数、字符串
    笔记:long、longlong、int、float、NSString相互转换
    关于NSStringFromClass的一点见解
    iOS中UITextField常用设置和方法
    iOS 倒计时的一种实现
    iOS UITextField的代理<UITextFieldDelegate>的几点笔记
    iOS 单例模式简单实例
  • 原文地址:https://www.cnblogs.com/huaweicloud/p/12525544.html
Copyright © 2020-2023  润新知