10月19日,百度超级链与区块链网在北京联合主办“区块链与数据库的融合碰撞”技术沙龙,IBM、众享比特、conflux、covenantSQL等行业内合作伙伴,共聚一堂,对各自在公链、联盟链等场景中的实际需求和经验,展开热烈的讨论和分享。不仅仅聚焦技术,话题还延展到了“在产业应用中遇到的困难与挑战”,为来自五湖四海的听众解读区块链与数据库的前世今生。
首先百度超级链资深工程师孙君意进行了《区块链与数据库技术对比及融合展望》主题分享,他的精彩言论有以下3点:
1、区块链的革命性就是实现了可信的数据管理
2、区块链适用的场景有三点:
(1). 数据的变更历史需要透明、可审计的应用场景;
(2). 数据的处理过程需要按照多方约定并公示后的规则来执行的场景;
(3). 数据的副本需要维护在多个不完全互信节点的场景。
3、区块链和数据库有融合的契机,有一种是把区块链作为引擎接入到数据库中, 相当于从底层改造存储引擎实现去中心化的数据库。另外一个方向,区块链借鉴一下数据库好的东西,比如像SQL,将SQL语句翻译为智能合约代码。
以下为孙君意的演讲整理:
主持人:“百度资深工程师,目前负责超级链的架构设计,对区块链的账本、事务模型有深入研究。在百度期间负责过万亿级网页链接库实时存储,Feed统一内容池、垂搜多版本数据库等项目,他今天带来主题分享《区块链与数据库技术对比及融合展望》感谢君意。”
孙君意:大家好,很高兴大家能够参加我们的沙龙,抽出周末的宝贵时间,今天主要给大家分享“区块链与数据库技术对比及融合展望”。
首先我们来思考一个问题,区块链和数据库在哪些维度上有共性,我自己有一个简单的定义,我认为区块链和数据库都是数据管理技术,数据管理并不高深,我们用一个Excel就可以进行。我们在项目实施过程中会被客户问到一个问题,为什么这个项目非得用区块链,因为区块链难以篡改,比如说有密码的支撑,比较方便实现多方共享。但是这些是不是足以说这个项目就可以用区块链,我认为如果在应用层做很多间接改造也可以实现大部分功能,但是其中有一部分很难实现,就是在参与管理数据的多方存在不信任的场景下,这种场景下是很难用传统数据库解决的。除非多方之间选出大家都公信的“盟主”,让它来管理这个数据库,这个时候业务用数据库就可以做,否则的话是行不通的。
我认为区块链的革命性就是实现了可信的数据管理,为什么说可信,有两个方面,第一个是存储的可信;第二个是数据处理过程的可信。通过区块链的共识算法实现了在去中心的网络环境下成百上千个节点维护一致性的数据副本。并且,数据的变更都是公开透明和可审计的,每个节点都会验证,不管是密码验证还是合约执行结果的验证,都会在各个节点执行。
网络规模越大,公信力越强,事实上人们也愿意为可信带来的溢价买单。一个简单的例子,如果现在在亚马逊的RDS存储1GB的数据,成本大概是每月0.25美元,但是同样如果存在以太坊上,大概需要三万两千个ETH,有7200多个节点分布式地在全球存储其副本。区块链通过共识算法和智能合约,在实践层面真正实现了可信的数据管理,这是具有革命性的。
另外一方面,很多人也看到区块链有很多的局限性,出现了一些悲观的看法,比如认为区块链都是更慢的数据库,链式哈希不新鲜,Git中早就有了;绝大多数场景用数据库就够了, 不是刚需——Nice to Have , Not must have,但是我认为这种看法是错误的。
我总结一下区块链适用的场景有三点:
1. 数据的变更历史需要透明、可审计的应用场景;
2. 数据的处理过程需要按照多方约定并公示后的规则来执行的场景;
3. 数据的副本需要维护在多个不完全互信节点的场景。
本次分享内容会从三个关键的技术维度去对比:事务管理、共识算法和编程范式。从事务管理角度来看,区块链真的很慢吗?其实并不慢。为了性能,大多数数据库的默认事务隔离级别较弱,而NUS最新研究表明:当Isolation Level设置为最高级别(SERIALIZABLE)情况下,主流分布式数据库的性能和HyperLedger Fabric是一个数量级的(400 TPS左右),单一的这种场景下,传统数据库和区块链相比并没有性能上的绝对优势。
再一个我们来看一下如何实现多版本并发控制,数据库一般有全局时间戳或者序号生成器,每个事务也有自己的序号,可以通过让事务只能读到序号比它序号小的数据版本实现不同事务的隔离。
由于要实现去中心化,区块链一般没有全局序号,而是通过显式的Reference关系表达事务之间的“顺序”。比如:比特币中,交易的Input指向了其他交易,表达了一种”Happen Before”的语意,HyperLedger Fabric中,事务需要申明自己的“读写集”,其中,读集的版本是通过(区块高度, 块内序号)二元组引用。
在我们超级链里面的事务模型是XuperModel,它是基于经典的UTXO模型演化而来, 经典的UTXO模型只能描述转账场景,而XuperModel创新之处在于可以描述更加通用的数据变更。
举个例子,这里有个“计数器”合约,调用一次,Counter变量就会加一。从上图可以看到,每个事务的Input字段有个哈希指针指向其依赖的其他事务的Output。也就是说,事务的Input描述了它读取的变量的旧版本,而Output体现了事务一旦成功后会赋予变量的新值。图中,T2和T2’这两个事务是冲突的,因为他们的Input引用了相同的变量的旧版本,但是输出是赋值同一个变量。最终,T2和T2’只能有一笔上链,另外一笔会回滚。
再一个,超级链底层的数据多版本机制实现也与数据库不同。 数据库的一般做法是将逻辑Key+版本号拼接成物理Key,但是这个方式只能保留有限个版本,一旦版本太多,就会导致区间查询迭代很慢,因为要Scan大量无用的老版本。超级链用了一种链式哈希的多版本接口,在状态树中Key对应的Value只是哈希指针,指向账本中事务的Output字段,要回溯之前的老版本也只需要通过事务的Input指针再往前回溯。当需要回滚事务或区块的时候,产生的IO开销也极低。
这里再举一个简单的例子,还是刚才那个“计数器”场景。假设Alice和Bob几乎同时发起合约调用。合约执行到Get调用,得到同样的值是 42, 版本也一样是tx1。然后加一计算得到43,再分别进行Set提交,Alice先提交的就可以将值更新到43,版本更新到tx3,而对于Bob,虽然运算过程是对的,但是最终提交时候的版本已经过期了,因为其依赖的版本等于tx1而现在最新的版本是tx3,所以就会失败。
我们再看一下共识算法的详细对比,说到共识算法不得不提一下FLP原理,原论文发表于1982年,大概是说:在异步网络下,多个节点中就算只有一个错误节点,也无法找到确定性的算法保证同时满足safety和liveness。这个FLP给大家提供了分布式系统设计的理论指导,而实践中,数据库的共识更多的是牺牲了liveness而确保saftey, 比如raft。相反地,区块链尤其是公链则是牺牲了safety而优先保证liveness比如,比特币的交易如果是刚刚上链,那是有一定概率因为分叉被回滚掉的,不够safety,但是好处是整个系统一直可以提交交易,就算有分叉,最终会通过最长链原则达到一致性。
上面的表格详细对比了数据库&区块链在容错、选主方式、日志复制、安全和活性等方面的差异,并且区分了公链和联盟链。
下面看一下编程范式对比。数据库领域已经有统一的编程范式,就是SQL(Structured Query Language),具体实现上有一些方言的差别。区块链的编程范式是智能合约(Smart Contracts),然而其具体的实现千差万别,比较有影响力的是以太坊的Solidity语言。
最后来做一下两者未来融合展望。我认为区块链和数据库有融合的契机,我写出来了两种可能,有一种是把区块链作为引擎接入到数据库中, 相当于从底层改造存储引擎实现去中心化的数据库。另外一个方向,区块链借鉴一下数据库好的东西,比如像SQL,将SQL语句翻译为智能合约代码。
百度超级链已经在推进数据库与区块链技术的融合,在合约层面支持了Table,后续计划在Table接口之上再引入SQL引擎,使得用户大部分情况下可以用SQL语句写智能合约,提升系统的易用性。
2017年开始,特别是2018年数字货币行业迎来爆发式增长,赚钱效应明显更使其成为投资机构的“新宠”。在行业野蛮生长之下,市场上也涌现出了一大批披着区块链、虚拟货币外衣,实际上开展非法传销的团队,并使投资者遭受了巨大损失。
为厘清此类犯罪的套路,区块链网QKLW编辑自2016年初起开始监控、预警并编撰传销币清单,并于2017年2月初每月发布了《当月十大传销币》,其中列举了数百种活跃于市场的传销币种。在该名单发布后,区块链网QKLW陆续获取社会各方的举报信息。从受害者、参与者、监督观察者等各层面,详细记录了受骗经过并追踪传销币线索。
五招教您辨别传销币骗局
此前,区块链网QKLW研究团队曾在《当月十大传销币》中提炼传销币基本规律如下:
1、传销头目在国内或国外注册成立空壳公司并设立网站,通常巧立慈善、理财、游戏、医疗研究等明目,以建立大众初步信任。
2、通过微信、QQ群、讲座等形式大力度宣传某种“虚拟货币”的价值,有些甚至配以专门的公关进行网络洗白以打消会员疑虑。
3、以多至百倍收益的“高额返利”为噱头,吸引众多人的参与,经营模式通常为“交入门费”、“拉人头”、“组成层级团队计酬”这三点,不断吸纳会员会费达到敛财目的,具体形式为:
1)交纳或变相交纳入门费,即交钱加入后才可获得计提报酬或者发展下线的“资格”;
2)直接或间接发展下线,即拉人加入,并按照一定顺序组成层级;
3)上线从直接或间接发展的下线的销售业绩中计提报酬,或以直接或间接发展的人员数量为依据计提报酬或者返利。
4、最终往往因无下线加入该项目,该项目会员因不能将数字代币兑换成现金,资金链断裂而案发。
在此次监控整理中,区块链网QKLW研究团队注意到:此前已预警曝光的传销币在沉寂一段时间后,于2018年下半年再次出现,传销团队或转移发展地区、或更改已被预警的传销币名称,继续以同样的运营手段和相似的传播途径进行传销。
为更完整揭示传销币的骗局图谱,区块链网QKLW研究团队在此前监控的基础上,与区块链网律师团队、反传销网合作,不仅将法院、地方警方已调查入案的部分传销币进行监控,还通过反传销网站举报、自媒体曝光的信息进行搜集并整理,完成此次2018年下半年曝光的上百种传销币发生详情始末,包括虚拟货币传销案例的发生时间、传销方式、涉及金额或人数等。
司法确认的传销币种名单(2018年下半年共监控到37个):
GRDC 、亚盾币、DGC虚拟币、EGD—Super 、天合币、U宝币、皇尊币、“π”、亚元、奖金币、文某(虚拟货币)、圣币、世通元币、中央币、克拉币、云讯通(报单币、双慧币、五行币)、购派币、宝特币(TRC)、洛克币(RKC币)、E币、ADC、BTM巴特币、LCC币、维卡币、云尊币、云金币、CNB、空中比特币俱乐部(ABC)、码链、摸金派、环保农业链(NYC、CTOP)、IAC、亮碧思、亚欧币、(建业币、金镶玉)、沃克理财、万福币。
群众举报的传销币种名单(2018年下半年共监控到63个):
AE、AG、AOK、ATC、BAC积分、BFC、CHP城市猎人、FC币、FQC食品溯源链、JON农生链、KCI文化链、PCK未来链、善梵链SFC、盛源币、世通币、速通宝、拖富链TFC币、威莱特币WLT、威特币WTB、星翰链、DFC币、BIOC(中科鸿基)、金桔链(GOC)、九游链(9MC)、酒链世界(圣酒token)、聚众创享、科呗(KBA)、跨境发烧货(FSH)、莱姆币(LMC)、乐付链(LFC)、乐太坊(HEH)、流量魔盒;六度链(SDC)、慈善链 LMC、枫叶币CMCC、共享链商城、美思沃 (POF)、蚂蚁链(山寨ANTC)、绿特币(GTB)、趣步链(IWC)、趣购商城(趣豆)、瑞波联储币(山寨瑞波币)、睿鑫宝 (RXBC)、任务帮/硒链/帮呗 、品牌链 (中资链)PPL、REC中财数字币、富泰链(RHC)、融特币(RTC)、TCC泰牛链、TOMB淘呗国际商城、U宝优联万家(优宝币USS)、Vpay(V-token)、阿·里矿主、柏拉图(PLATO)、恒丰世纪供应链、霍特币、基链币、全球电子商务币(GEC)、Airbitclub、麦加币、光锥LCC、BHB。
五招辨别是否属于传销币:
1、发行方式
数字货币依据特定算法,通过大量的计算产生,是去中心化的发行方式。每个不同的终端节点负责维护同一个账本,而这个维护过程主要是算法对交易信息进行打包和加密。
而传销币则主要由某个机构发行,传销头目在国内或国外注册成立空壳公司并设立网站,通过微信、讲座等形式大力度宣传某种“虚拟货币”的价值,以多至百倍收益的“高额返利”为噱头、不断吸纳会员会费达到敛财目的。
2、交易方式
数字货币是市场自发形成的零散交易,形成规模后逐渐由第三方建立交易所来完成交易。
而传销币则受到机构或个人控盘,无法自由交易。此类平台发行的假虚拟货币往往无法在交易所交易,因此多采用场外交易或自有交易所交易,同时价格被机构或个人高度控制。
3、实现方式
虚拟货币本身是开源程序,在Github社区维护。其总量限制的参数和方式,均显示在开源代码中。
而传销币的开源是完全抄袭别人的开源代码,且没有使用开源代码来搭建程序,无法产生区块或在区块上运行,因此多采用人为拆分的方式进行代币奖励,通过在短期内不断拆分,产生大量积分或代币,造成财富“暴涨”的错觉。
4、是否给出源代码链接
去中心化数字货币都会在官网的显要位置给出源代码的链接,这样做是为了公开透明地展示货币系统的运作机制。而传销币重点宣传的是充值购买交易流程,并不提及其运作机制,甚至网站都没有源代码的链接地址。
举例来说:比特币是开放源码且有限量,一共2100万枚,每产生一个比特币都是透明的,不受任何操纵。而传销币不开放源码,产生币的速度、数量都由企业或平台操纵,只要平台开发者愿意,传销币可以无限增发。
5、官网是否是https开头
一般的去中心化数字货币的官网和交易网站地址都以https开头,其目的是这类网址可以很好地保护用户的数据不被非法窃取。但传销货币的官网、交易网站等在内的相关网站都没有以https开头。
从2009年最早的“HGC”虚拟货币传销案,到近来被查获的“亚欧币”、“亚元”等传销团伙,此类刑事案件数量呈逐年增加态势。因互联网传播的跨地域性,导致调查取证困难重重,各地工商部门只能就本辖区的传销活动进行监督,对全国性的传销无法从源头上切断,让部分传销团队有可乘之机,甚至多次作案。
区块链网QKLW将从即日起,继续密切关注传销币动态,及时为大家披露疑似传销币的“虚拟货币”名单,同时定期进行总结。以下为区块链网QKLW研究团队最新完成的2018年下半年“数字货币”传销诈骗事件汇编,文中包含100大传销币事件详情始末。