区块链与数据库的异同

发布时间:2019-10-21          作者:超哥


10月19日,百度超级链与金色财经在北京联合主办“区块链与数据库的融合碰撞”技术沙龙,IBM、众享比特、conflux、covenantSQL等行业内合作伙伴,共聚一堂,对各自在公链、联盟链等场景中的实际需求和经验,展开热烈的讨论和分享。不仅仅聚焦技术,话题还延展到了“在产业应用中遇到的困难与挑战”,为来自五湖四海的听众解读区块链与数据库的前世今生。
 现场图
 百度资深研发工程师孙君意

第一位进行分享的嘉宾是百度资深研发工程师孙君意,主题是《区块链与数据库技术对比及融合展望》,他指出区块链的革命性在于实现了可信的数据管理——存储的可信和数据处理的可信人们将愿意为可信带来的溢价买单。区块链有几个适用的场景,比如数据变更历史要审计、透明的应用场景;数据过程处理需要多方约定并按公示后规则来执行的场景;数据副本要维护在多个不完全互信节点的场景。已经开源的百度超级链能够通过多版本并发控制、事务模型XuperModel最大化借鉴数据库的优势。对于区块链和数据库未来的融合,孙君意认为,一是去中心化的数据库:区块链作为现有数据库的一种可选的底层存储引擎;二是智能合约支持SQL:将SQL语句翻译为智能合约代码,提升易用性。

 众享比特实验室主任吴飞鹏

第二位进行分享的嘉宾是众享比特实验室主任吴飞鹏,主题是《在联盟链技术与应用中如何结合数据库》。他指出,区块链广义上来讲是数据库,但是数据库有一个很难替代的功能“快速查找”,这个区块链难以做到。众享比特把数据库和区块链进行了结合,推出ChainSQL,即把对数据库的每一次操作看作一次交易,构建了一种基于区块链网络的日志式数据库应用平台吴飞鹏认为,可以从上下层的角度理解,上层是区块链网络,下层依然是数据库。在区块链网络里模拟了一张或者很多张数据库的表,以及表管理。最后,区块链带来的改变,更多的是大家如何使用数据库的思维以及怎样去定义数据的概念。

 Conflux研究总监杨光

第三位进行分享的嘉宾Conflux研究总监杨光,主题是《面向未来公链的数据库技术发展方向》,他指出,区块链进入了3.0,公链也产生了以高性能高扩展性为代表的新需求。期望区块链与数据库技术融合,能够为解决公链发展的新需求带来福音。比如说,高性能公链场景下的出块速度快,未被确认的新区块被修改的可能性远远高于已被确认的区块,因此根据数据修改的差异性针对性地优化底层数据库,可以大大提高区块链节点的性能。另一方面,链上数据处理和存储的成本问题也是区块链扩容时一个亟待解决的痛点。杨光相信,未来的面向高性能公链的去中心化数据库,将大幅度降低在链上处理和存储信息的成本,并采用先进的密码学技术为数据隐私提供更强的保护。

 

 百信银行开放银行区块链技术负责人梁俊峰

第四位分享嘉宾是百信银行开放银行区块链技术负责人梁俊峰,主题为《区块链在金融领域的应用》,他指出,百信银行在区块链上的探索在存证、清分等领域,区块链在金融上能解决的问题有两个,信任传递和商业信息安全。基于区块链技术,联盟链上相关节点能同时获得一手交易信息,保证信任无损传递,百信银行按照联盟链上的交易信息进行清算,解决信息二清问题。通过AI链对交易信息进行脱敏,确保商户的敏感信息不被非联盟链属机构获得,保障平台商业信息安全。

 

 IBM开源技术实验室软件工程师郭剑南

最后一位分享的嘉宾是IBM开源技术实验室软件工程师郭剑南,主题为《如何在区块链中使用数据库》,演讲分为两个层面:1)将区块链当做数据库使用,2)在区块链中使用区块链。首先,从数据库的视角观察区块链,可以认为它是一个能够容忍拜占庭类错误的,多活分布式数据库。区块链在很多层面其实都实现了分布式数据库的理念,比如多点写入,事务性等等。而实现的方法,其实和分布式数据库的实现原理,没有本质上的差别:通过对于共识机制,完成对数据修改日志的排序,从而使得各个节点能够通过本地重复执行这些日志,确定性地完成状态的复制。Hyperledger Fabric在设计与实现的过程中,借鉴了许多数据库中的技术,尤其是在1.0版本的重构中,引入了现在使用的Execute-Order-Validate模型,利用MVCC的概念,进行重复交易的监测。同时,Fabric除了LevelDB,也引入了CouchDB进行世界状态的存储,从而支持富查询和索引。

 

在由金色财经深度记者&《DeepCore》栏目策划人王航(左一)主持的圆桌讨论环节,百度资深研发工程师孙君意(左二)、众享互联CTO章锋(左三)、众享比特方案中心总监周世晟(右二)、CovenantSQL联合创始人&技术负责人王鹏程(右一)分别就区块链和数据库的相关问题发表了独到见解。
孙君意认为,区块链应该向数据库借鉴,比如借鉴数据库的工业标准化和更加易用的编程范式。具体说到行业落地,单独说区块链是不现实的,必须采用区块链+的模式,即把区块链和其他应用结合,推出综合的行业解决方案,比如区块链+AI、区块链+大数据。百度区块链在数据存证中做了很深入的探索。最近的案例是和重庆市渝中区进行了医疗处方流转的合作。传统的医疗服务系统存在跨医疗数据无法流通共享、患者病例数据泄漏风险、保险理赔管理成本高等痛点问题,这也是传统数据库的问题。而基于区块链的电子处方区块链流转平台实现了数据可信。医生诊断记录、处方、用药初审、取药信息、送药信息、支付信息都将“盖戳”后记录在百度证据链上,实现了对诊疗过程事前提醒、事中监控、事后追溯的全方位监管。
 
章锋认为,区块链是一个去中心化的多功能数据库,当然数据库和区块链解决问题不一样,数据库主要的节点是互相信任协作的,而区块链被认为是制约的,导致区块链和数据库有不同的应用场景。比如,把共享经济中多链架构的思想引入区块链中,是一个有意思的想法。总的来说,区块链和数据库各有千秋,但是重在解决方案,不同场景下适配的技术能力是不同的。
 
周世晟认为,现在能够把区块链和数据库放在一块来讨论,是在正视区块链这种技术。对于当下流行的数字经济,区块链能够保证数字资产的可测量性,让数据流通起来。当然,区块链和数据库碰撞、融合,将产生很大的空间,需要我们这代人认真考虑。我觉得,对于未来公链的发展,需要自身有一些信息化的基础,才能更好地和传统数据库对接。
王鹏程认为,区块链跟数据库的融合会把行业带入一个新时代,区块链在数据隐私保护以及使用权方面都有一定的优势。但数据库比区块链范围大,跟大数据结合会有很多的东西可以做。在认知上,数据库有一个时间尺度,区块链诞生之前数据库是没有时间概念的,数据库可随时修改。

最后:

“区块链是有史以来最慢的数据库”,这个说法对么?不完全对、不完全错。

如果把区块链当数据库用,的确是最慢的,但是区块链并不是作为数据库设计,就如同拿坦克过来,说这是有史以来最耗油的车。区块链不是取代数据库技术,而是如果区块链叠加上数据库的优势,将更好地支撑行业应用的发展。

目前,百度超级链已经在推进数据库与区块链技术的融合,在合约层面支持了Table,后续计划在Table接口之上再引入SQL引擎,使得用户大部分情况下可以用SQL语句写智能合约,提升系统的易用性。

聚焦数据库与区块链技术的融合碰撞只是一个开始。未来,致力于区块链技术及应用知识传播的百度超级链学,将通过线上直播、线下沙龙等多种方式,进行区块链知识普及、技术解读,打造最专业的区块链知识传播平台,为开发者、区块链爱好者带来更多干货!