东南大学 崇志宏:当数据库遇到区块链

数据库发展的历史伴随一串长长的名字:数据模型、关系数据库以及系统、逻辑数据库(Datalog)、面向对象数据库、XML数据库、图(RDF)数据库、NoSQL数据库。长串背后是相关技术的发展对数据库技术所产生的影响。在各种技术背景下,数据库取得了三个主要的成就:关系数据模型、优化与索引、事务模型。在诸多技术中,保持数据一致性是系统实现的基本要求:一是关系依赖的数据保证某种约束条件;二是数据的多个副本保持一致性。

互联网发展需要可扩展的数据库系统。早期的办法是通过大型机器提供的计算和存储能力实现垂直的可扩展性,当前主要依靠增加廉价机器实现计算和存储能力提升,实现水平扩展能力。在水平扩展性框架下,数据的一致性维护成为重要的问题,在全球范围的多个副本之间维护一致性,通常的做法是通过Paxos协议保证在网络或机器故障情形下达成数据一致性。这种一致性往往是在几个副本之间达成,数据的管理权限控制在单个实体中。

随着互联网技术进一步发展,互联网的去中心化宗旨逐渐得到重视。在去中心化下,数据的一致性有重新的定义和诠释,需要在参与主体间保持数据的一致性,形成共识,这就需要解决故障攻击外的恶意攻击,即拜占庭攻击或sybil攻击。从形式上看,数据的共识性要求在更多副本之间达成一致性,从而在参与主体上实现存在性证明,而这种证明可以应用于数字货币和交易以及支付等等具有价值属性的人类活动。这是目前比较成功的应用案例。

数据的一致性和共识性是在中心化和去中心化环境下对数据一致性的不同语义。目前多共识性的基本实现方法通过在每个节点的完全冗余备份实现数据的共识性,也有一种实现方法是在通过Paxos协议实现备份的一致性,再通过拜占庭协议实现共识性,就就可以回归到分布数据存储系统上实现拜占庭协议,从而实现数据的共识性,这个过程实现从数据一致性到数据共识性。因此也就解释了数据库遇到区块链要解决的根本问题是:将中心化环境中的数据一致性拓展到去中心化环境中的数据共识性。

从数据库发展的长长历史中,当前,数据库遇到了区块链:一方面,数据库需要解决的问题是从一致性拓展到共识性的技术方法;另外一方面,数据的技术方法可以促进当前的区块链技术发展。数据库对共识性的理解是对一致性的拓展,一是副本数目的飙升和恶意攻击;二是需要扩充区块链中仅仅关于存在性共识的语义,需要实现在关系模型语义下的一致性、共识性。这种思路有希望解决通过完全冗余副本来实现存在性共识的低效机制。

数据库的另外一个可能重大贡献是通过描述性语言表达区块链的逻辑,这就提供了一个描述性的区块链。这就好比把描述SQL用于Overlay Network、传感器数据库等等借助于SQL描述能力的应用。

当然,数据库遇到区块链是又一次发展机会!


崇志宏  东南大学



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值