白硕:区块链+开源数据库≥商业数据库
雷锋网从如何将区块链与开源数据库,到链改、无币区块链,再到对于联盟链、公有链的架构建议,在近日2018中国区块链大会上,中国分布式总账基础协议联盟技术委员会主任、中科院博士生导师白硕分享了满满干货。
雷锋网AI金融评论了解到,白硕认为,中国没有成熟可用的商业数据库,一直是一大痛点,而实际上,可能有个很好的思路实现去IOE,“区块链+开源数据库,这两个结合可以大于等于商业数据库……区块链来做日志,做存储过程,做高可用支持,开源数据库做查询、做数据困难,做高性能的支持,把这两个耦合起来,相当于商业数据库的能力,但是花的钱很少,成本很低。”
以下是演讲原文,雷锋网AI金融评论作了不改变原意的编辑:
曾经,区块链的阵营有两股力量,一股向左,一股向右,向右以公链为代表,强调平台、社区以及通证三位一体。还有另外一种,我们经常说的许可链,包括私链和联盟链,但是也是用到区块链的平台,但是更加强调它的准入和联盟,在一个封闭圈子互相可以操作和技术资源共享。
但是有一些话题是大家共同面对的,包括效率、跨链、协议站本身的优化、提升改进的问题,是大家都要面对的。另外,在业务落地的时候,还有新的诉求,包括链的可治理,能否从技术层面做到执行;可运维,出现紧急情况时,链能否急刹车,能否定点修改一个业务参数再重新开放;隐私保护等。
区块链+开源数据库≥商业数据库
今天我的主题是企业区块链,就是向右的箭头,我会分析当前的态势,面临什么样的问题,以及有哪些可以带来积极因素的新技术。
在2015年下半年到2016年上半年,中国区块链公司和机构非常踊跃地乐衷参加国际知名的联盟,然后拿着企业中边边角角的业务开始做起来。目前来看,将业务逻辑移到区块链上的努力态势总体有点冷却,虽然项目是在增多,但是项目带给我们的惊喜和期待是降低了,呈现了冷却的态势。
为什么会冷却?因为行业曾经做过区块梦,希望能够实现一种由密码控制的资源共享,从联盟做起,希望能够在这上面做价值流通,但是真正做起来并没有想象中带来的改变那么大。业务逻辑也可以实现,但是很多业务逻辑是平移搬家,平移和搬家有没有必要,要打一个问号。
总的来说,其实监管并没有特别的说你是无币还是有币,在这样一个指导思想下,做的事情有一些可圈可点,但有很多很平庸,或者有它也可,无它也可,或者用去区块链也可,不用区块链也可。
商业数据库曾经是我们的一个痛,被拽在别人手里,经常用一种很不友好的方式来收我们的钱,其实这里面有一个很好的思路,区块链+开源数据库,这两个结合可以大于等于商业数据库。
看看这个怎么做。有人说区块链首先是一个数据库,然后是一个分布式数据库,然后又把它等同于数据库,或者把它跟数据库放到同一台子上比这个事。当然只看表面,区块链只能追加,只能读,不及数据库能删能改。
这里举个例子,UTXO代表比特币里面未花费的输出,可以理解成支票,这个东西其实不是数据技术。再看一个类比,MP3和MIDI,MP3是所听即所得,给你放什么是什么,它是音频信号某种压缩,MIDI是指导你怎么放音频的指令,指导乐器的指令,有点像歌谱,比歌谱稍微往物理层再走一点,但是还是信息,MP3就是物理。
打这个比方的意思是UTXO是改变数据的指令,但是它本身不是数据库的记录,帐户的余额是数据库的记录,但是比特币上面是没有余额的,只有变更余额的这种指令。
拿这个做比较是想说明,数据库可以篡改,是不开放的,商业模式是有一种套路,商业数据库具体体现就是贵,区块链的记录没有汇总成余额,是一条一条的指令,一条一条的指令是不便于汇总的,存储全量确实占地方,有人说它费电,有人说它慢,都是事实,怎么样把两个东西搭配起来用。商业数据库有回滚的支持,有原子性事物的支持,有高可用的同步,而开源数据库的容量、性能、可扩展性都不输于商业数据库,但是商业成本低。
开源的数据库和区块链,用一种什么方式结合起来,能够使得它们整体上性价比低于商业数据库。可以将区块链作为一个前置的日志,因为它是可以追加的,可以读的,但是不可以改,日志也是同样的要求,所以把它当做前置的日志。你改了后面的数据库里面的东西没用,只要把日志重演一遍,你错马上又变对了。如果能够这么来用区块链,会很不一样。区块链来做日志,做存储过程,做高可用支持,开源数据库做查询、做数据困难,做高性能的支持,把这两个耦合起来,相当于商业数据库的能力,但是花的钱很少,成本很低。
这是我个人比较推崇的一种,区块链在企业当中的应用。希望这种方式能够成为去IOE一个有竞争力的途径。跟国外的商业数据库可以比,跟国产商业数据库也可以比,有成本、技术含量以及持续支持的优势。
把这个事情再往下扩展一下,日志难道一定是一个数据库系统的日志?可以做成一个企业的日志,企业所有的事情,跟数据库系统互动的其他系统其实都可以用同一套日志,当整个企业需要回放的时候,有可能不是一个数据库的回放,也有可能整个企业发生一段业务本身整体的回放,这个时候我们同样一个日志,关涉到多个系统,在回放的过程当中把多个系统联动回放的问题也一起解决了,何乐而不为。
可以把刚才说的架构拓展到用区块链来支持多活、高可用的信息门户,信息门户已经不仅仅是数据库前置的日志,是整个企业前置的日志。
链改呼声渐起
目前“纯”联盟链的落地有点遭遇瓶颈:
首先公链带来一部分压力,吸引走了一批人才。第二是资产上链,公链是现成的商业模式,自带激励。而企业区块链一提自带激励似乎就涉及到很多别的问题,合法、监管的问题,但是这个动力天然在这里,很多的企业自带资产,自带流量都有资产上链的冲动,这个冲动某种意义上对于重新定义企业内部的信任路径、治理路径有它正面的意义,但是我们怎么样去从架构上、从技术上、从合法性上给它应有的支持。
很多项目,做是做了,但是换汤不换药的中心化,有它也可,没它也可。用区块链做也可,不用区块链也可。这种项目其实起来不要浪费大家的精力为好。
链改的应有之义
所以就有了所谓的链改。链改要干这么几件事:首先要改善治理,不只是光变生产力。引入区块链技术不是光变生产力,还是要变一下生产关系,要变更路径,激发内在的活力。
其中首先是激励,在一个企业内部或者一个社团内部怎么样设计一个激励机制,这是一个痛点问题。第二是自证,改变信任路径其实是在改变证明的方式,或者说一方面是信任,另一方面就是证明,你信任它,它要证明给你什么,除此之外,在区块链世界上看到,证明给你一种算法的不可抗力也是一种证明,如果能把算法的不可抗力引入企业,有关方面就可以,不仅仅拿着权利向你证明,也可以拿着算法不可抗力向你证明。第三是效益,如果成本收益不合算就不要做区块链。
无币误区
关于“无币”“有币”其实存在一些误区。企业做区块链是不是一定要无币?我们要正面的回答,Q币也是币,但是币在一种封闭体系内流动的,而且不能公开买卖的,通俗地说不上交易所。这种Q币,像月饼票和食堂的饭票都是合法的。 不交易即合法 ,如果不交易它哪来的流动性,我们说 没有流动性 拿这个东西去奖励,也是人家不接受的,所以这是两面。如果没有合适解决的途径,就不要引入这个东西。
支付和权益也是走不通的,货币和证券的有关监管部门都在等着你。而消费是走得通,但是消费的前提要把内部的生态做大。
那么应该怎样做大生态呢?
对策一,流程拆解。引入激励的一个方面要把合适的流程点进行拆解,拆解成可以“挖矿”,这个挖矿带引号。其实在程序世界和现世界,一些难题求解难,但是验证简单,所以企业做不过来,可以承包给别人干,自己负责检验,检验做得好就给他激励。
二是商圈互联。我曾经给商业地产收益分享项目做过咨询,收益分享本身是一个资产证券化行为,但是通过收益分享,大家有积分衡量贡献度什么样的。商圈本身有入驻的商户,商户打折是不是可以使用这样一个积分,就帮他想这样一个点,让积分从一个抽象的东西变成一个可以流通的东西,在商圈的范围内流通,当然激励的意义就出来了。
三是服务衍生。即使提供的是基础服务,但是基础的服务本身会积累数据,会积累资源,把这些资源这些数据在第二次放出去,环节里面出现一些服务衍生,就会产生价值。
所有这些可以把它画成一个图。也就是说会把联盟链、私链和公链是结合起来。虚线下方是各个合法的联盟链,内部有流程拆解,可以做它的积分和激励,又可以做信息的输出。拆解出来的激励可以扩大到他的商圈,可以在N个联盟链共同使用,在外部把信息输出,这些信息这些资源作为基础发展出衍生的服务,这些衍生的服务有它外部的受众,也有内部的受众,外部和内部的受众可以通过这样的方式去打通,把公链假设在联盟链上面的一种生态。
如果不是简单把生产关系搬家搬到区块链,而是借这样一个机会优化生产关系和重新定义生产关系,那么在建设链的同时,就要做一些权利重新的调整,比如记帐权,监督权和使用权,这三权到底怎么分配,在新建区块链的时候,是一个调整的时机,在重新调整的时候不仅仅做一个技术的项目,一个IT的项目,同时也是在重新定义企业流程的生产关系。
有的联盟链动辄号称自己有多少万的用户,但这些用户只是有着使用权,他们压根没有见过区块链是什么东西,也压根感觉不到已经在享受区块链的成果。 如果只有使用权,这些人其实跟区块链一毛钱都没有 ,你把它拿来凑数有什么意思。剩下的两个记帐权和监督权同样如此,如果这些东西就是你自己在那玩,你不证明给别人,区块链有什么意思?然后有人可以据此来检查你看做的对不对,这才有意义。 现在很多项目记帐权和监督权是重合,就是这些人在这里玩,值得商榷。
自证的四个层次
引进区块链,同时也引进了区块链技术目前的局限,你想改错,对不起改不了,已经达成共识,只能分叉,但如果要分叉何苦不用中心化。
保护数据资产,逻辑调整,改错,运维控制,这些我们需要改进,需要改进要引入自证,自证是有层次的。最外层的自证是晒Hash,通过Hash检验。第二晒关系,等式关系和不等式关系,即使原来一笔账目没有公开,但是可以检验所涉及的等式关系和不等式关系,不等式关系有没有透支,花的钱是不是大于我有的钱。等式关系是我原有的钱等于我花出去的钱加上我剩下的钱。再进一步是晒账本,更进一步源码是不是公开。
今天讲这个问题特别强调源码公开的事情。即使做联盟链,源码是不是公开也是一个重要的考量因素,因为区块链跟别的东西不一样,它卖的是信任,信任靠什么东西来建立?有人拿一个黑盒子说这里面是信任,我能接受吗?他说黑盒子里面凝聚了院士的成果,凝聚什么样高级团队发了多少国际顶级杂志,我能信吗?可能前面都是真的,院士确实在团队里,团队成员也确实发了顶级论文,但是盒子里头的东西跟那些真的有关系吗?
所以,千万不要把强项变成减分项。这个事本来是一个好事,就是因为不公开,一下子变成减分项。反而有一些没藏着没掖着,我用Hyperledger,Hyperledger都是公开,弱项变成强项,所以这个事情一定要公开。
一个可自证的生态,拓扑是什么样的?有一个建议,记帐权和监督权如果可能分离,给记帐者自证这么一个环节,给一个监督权去检查记帐自证对不对的环节,使用权这一方其实你也要有一些东西晒给他们,让他们能够在使用的当中建立信任感,而不是说像使用一个中心化系统一样去使用一个区块链。
求同存异,殊途同归
联盟链和公链不完全是排斥的,联盟链其实有大量的共性的基础服务,这些共性的基础服务尤其为小企业,是以云的方式由一个基础公链提供信任服务,也就是BaaS的模式。那么是不是又中心化了?其实它的集中程度可能并不比矿池的集中程度更强,所以应该不是问题。需要注意的是,敏感数据和存证数据之间要有一个区分,联盟链自身本地私有部署这一部分,存敏感数据。在基础公链上的数据是脱敏的存证数据。
说了这么多链圈的事,隔壁币圈也在进行币改。他们改的方向是从无政府到有效自律到监管到位。链改是从原有的业务逻辑,原有生产关系简单的搬家到能够对业务逻辑生产关系信任路径进行调整和优化,再到能够重新定义,其实目标是一样的,是殊途同归。中间这个圈不是链圈,也不是币圈,可以管它叫用圈,用好但是合法的用,这是大家共同的追求。
更多资讯,请关注雷锋网 (公众号:雷锋网) AI金融评论
。