前言:本文略长,谨慎阅读。

导读:“区块链还处于早期阶段,尤其是ToB的区块链,在可扩展性、节点存储、隐私保护等方面还很受限,其共识算法的安全性难以证明,智能合约的安全性难以验证、难以抵御量子计算的攻击,最后,还缺乏好的开发工具、缺乏相关治理和标准,其升级和演化机制也不成熟。” 3月31日,联动优势首席架构师刘胜在CFT50·青年论坛第一期学术研讨“区块链应用中的法律问题研究”会议上表示

青年研究院(青年研究联动优势刘胜)(1)

  • 第一层含义是“币”。这个“币”并不是刚才王行长所说的真正意义上的“货币”,而是一种与区块链密切相关的通证(Blockchain Token)。其本质,是记录在区块链账本结构中的某个“元信息”。例如,比特币区块链的账本中的记录的主要元数据结构就是“交易”,那么它所交易的是什么东西呢?实际上就是一个记账符号。一个单位的记账符号,就对应一个比特币(bitcoin)。所有的公有区块链,都不可避免的引入了某种经济激励机制,也就是说,都内置有与区块链密切相关的Token。例如,比特币区块链有比特币,以太坊区块链有以太币,Ripple区块链有瑞波币等等。

  • 第二层含义是“链”。这个链,一方面是指特殊的“块链式”的数据结构;另一方面,是指围绕这个数据结构的应用软件系统,我称之为区块链节点(Blockchain Node)。

  • 第三层含义是“网”。是由多个区块链节点而构成的网络(Node Network),这是一个软件定义的网络。

  • 如果大家读过中本聪发表的比特币白皮书原文——《Bitcoin: A Peer-to-Peer Electronic Cash System》——就可以发现,他对于“币”,用的是首字母小写的bitcoin;而对于“链”,用的是首字母大写的Bitcoin,两者有着严格的区分。

    如果再对应到我们的现实生活中的法定货币体系,那么“币”所对应的是我们银行账户中电子货币或电子现金,“链”对应的是银行内部IT系统,而“网”对应的是多家银行和支付机构共同组成的一个支付网络。

    区块链不是比特币。

    综合前面的观点,我们可以肯定地说:“区块链不是比特币”。

    首先,从包含关系上看,区块链也可以无“币”。在比特币诞生后的很长一段时间,链和“币”是密不可分的。在2016年3月,英国政府首席科学顾问发表了一份研究报告《分布式账本技术:超越区块链》,定义了一个新术语——分布式总账技术(DLT),而区块链只是实现分布式总账的技术之一。也就是说DLT是去“币”化的,但并没有说明区块链是否需要去“币”化。再后来,R3和SWIFT也分别发表了相关研究报告,进一步将区块链与密码学货币(Crypto-currency)区分开来。一般来说,公有区块链系统,如比特币、以太坊等,通常都有自带有原生“币”。虽然早些时候,人们称之为“密码学货币”,但其实际上只是一种记账符号,也就是通证(Token)。而对于私有链和与联盟链而言,则可以没有“币”。

    青年研究院(青年研究联动优势刘胜)(2)

    图1.区块链的概念体系

    其次,从层次关系来讲,区块链就类似于一个操作系统,而比特币或者是各种各样区块链应用,则类似于运行在操作系统之上的一个软件应用。

    最后,从先后关系来看,两者是有某种先后顺序的。不过,这里有两个不同的结论。一个结论是从词语的产生来看,比特币(Bitcoin)这个词是2008年随着中本聪的论文《Bitcoin: A Peer-to-Peer Electronic Cash System》而产生的,而区块链(Blockchain)则是到2015年才出现,所以,是“先有币后有链”。而另一个想反的结论则是从前面“比特币是区块链第一个应用”这个观点推导而出,是“先有区块链,后有比特币”。至于到底谁先谁后,其实就和“鸡蛋先后问题”一样,不用太过纠结。

    区块链到底是什么?

    对于“区块链”,其实还没有业界公认的、严格的定义。套用区块链的行话来说,就是还没达成共识。我曾经直接或间接参与多项区块链标准的制定,每个标准都重新对区块链做出了自己的定义,而且每一个定义都还不一样。

    这里,我不做严格的定义,而是通过几个简单的类比,来解释什么是区块链。

    青年研究院(青年研究联动优势刘胜)(3)

    图2.区块链的概念类比

    第一个类比,是根据中本聪的白皮书来理解区块链的,把它视为一种分散化、去信任、集体维护的“可靠数据库”。更具体一点,是一种分布式、多副本、防篡改的数据库。但这个定义,会让人有一种错觉,好像我们可以简单地用区块链产品去替代已经被广泛使用的传统数据库。但是,如果这么做了之后,会发现它一点也不好用,性能也不行,吞吐率很低,延迟也很大,很难支持同步性的业务,远远比不上原有的数据库系统。

    第二个类比,大家根据2015年美国《经济学人》杂志的封面文章来理解区块链,认为其是一种“信任的机器”,可以让信任得以传递,并源源不断地产生新的信任关系。

    第三个类比,是以太坊创始人Vitalik Buterin提出的“世界计算机”的概念,他认为,以太坊就是一个人人能用、永不停止的世界级计算机,任何人都能够以无服务器(Serverless)模式执行计算,也就是说,只需编写分布式应用(DApp)并提交给以太坊区块链网络,由以太坊网络去执行相应的计算逻辑。这个愿景确实很宏伟,但是现实很骨感。但是最近一、两年,以太坊团队已经不再提这个“世界计算机”概念了,因为其架构,还远远不能承载这个愿景。几个月前一个叫“CryptoKitties”的小游戏,就导致了以太坊网络的严重拥堵。

    第四个类比,“印刷机的逆向机”,这是长铗(本名:刘志鹏)提出来的,他是巴比特创始人,同时还是一名科幻作家。他认为,我们面对的有两个世界,一个是物理世界,一个是数字世界。在物理世界中,每一片树叶都是不一样的,每个物品也都是不一样的,都是竞争性资源,也就是当某人拥有某个物品时,其他人就无法再拥有该物品了。而在数字世界中,一切内容皆可复制,每个复制品都是一模一样的,每个bit都绝对一致。但是有两件产品或技术,打破了这个规律。一个是印刷机以及3D打印机,能够将物理世界的竞争性资源,变成非竞争资源。例如通过纸质复印或3D打印,复制出大量相同内容的纸张或者物品。而区块链则正好相反,能够把数字世界中的非竞争资源,变成竞争性资源。例如,某人持有了某个比特币,那么其他人就无法再拥有了。

    青年研究院(青年研究联动优势刘胜)(4)

    图3.区块链,好似印刷机的逆向机

    第五个类比,是“价值互联网”,能够让价值资产在互联网上进行大范围地流动,它与现有的“信息互联网”相对应。但我觉得这个类比有点夸大,我更倾向于将其类比为一种“新型协作网络”,能够让很多很多的人或组织、实现大范围的平等协作,并形成某种分散的自治性组织(DAO)。

    区块链是跨学科的,和好几个学科都有着极大的交叉,容易带来跨学科理解上的误区,尤其对于初学者,很容易导致盲人摸象、管中窥豹的状况。因此,我们不能从单一的角度去看这个东西,而需要从多个角度、综合地去思考。

    区块链核心特性,是高度防篡改。

    刚开始,认为区块链有很多特性,如去中心化、去信任、可靠、匿名、开源、智能合约、P2P网络等等,但是后来仔细思考,发现这都不是区块链的核心部分。区块链的核心特性只有一条,那就是“高度防篡改”。在2017年4月的腾讯区块链方案白皮书中,开篇提出“打造数字经济时代信用基石”,其本质也是利用了区块链的这个核心特性。

    一般来说,基于传统PKI体系的数字签名技术,就可实现防篡改。而区块链技术,在此技术上,有增加了2个维度来提高其防篡改能力。一个是时间维度。因为时间是唯一没法造假,区块链通过一个一个区块不断地叠加时间戳,修改每个区块,需要同时篡改其后的所有区块内容,这样随着时间持续,篡改的难度也会指数级增长。另一个维度,是集体维护。也就是多个参与方,基于某种预先设定好的共识机制,集体维护区块链账本的不可篡改性,并能够有效防范少数参与方的作恶。

    既然区块链核心特性是高度防篡改,那么要把区块链用好,就得围绕核心特性来。那么,接下来的问题是,我们需要防篡改的是什么内容?

    目前,我们看到的区块链应用五花八门,非常繁多。其实如果总结起来,大体上可以分为三类。而这三大类应用,就可覆盖绝大多数的区块链应用场景。

    三类应用的主要差异,仅仅是在区块链账本中存储的数据不同。

    区块链的技术层级

    区块链并不是什么全新的技术,而是一种新的技术组合,如果拆开来看,每项都是很多年前就已经诞生的老技术。

    青年研究院(青年研究联动优势刘胜)(5)

    图4.区块链的技术层级

    下面,我尝试从传统分布式技术出发,来理解区块链技术的层级,如图4所示。

    前两层,都隐含着一个假设,所有的系统都是运行在一个相对可信的环境,除了宕机故障之外,不会有系统节点故意“作恶”,即产生“拜占庭故障”。但现实中,一旦涉及多个参与主体,一旦跨越不可信的广域网,“作恶”节点就必然会出现。下面三层,就是为了解决在“弱信任环境”下,达成分布式数据一致性的技术。

    我们发现,在第五层的时候,会产生了一种用于激励机制的Token,在早些时候,它甚至被称为密码学货币(Crypto-currency)。刚才王行长也讲了,这类密码学货币,其实都不是真正意义上的货币。而且,一旦和人民币紧密挂钩的话,这里面有非常大的法律风险。如果在这一层研究区块链的人,就需要仔细研究各国的法律条文了,确保你的区块链是合法、合规的。

    区块链的技术演进方向

    1、技术演进的第一个方向,是哈希算法的创新,以抵御专用矿机的攻击。

    早期的山寨币,则主要就是在比特币PoW共识的基础上,通过将原来的SHA256哈希算法替换为其它哈希算法。例如以太坊采用的Ethash和莱特币采用的Scrypt等哈希算法,都依赖较大内存进行计算,从而具备抵御矿机、ASIC专业芯片的能力。而达世币采用X11算法,则是采用11中哈希算法进行串联,其抵御矿机能力更强。有了串联就有并联,一种叫Heavycoin山寨币则采用了HVC算法,将4中哈希算法进行并联,从而具备较强的抵御碰撞攻击的能力。

    但这类创新相对较小,抵御专用矿机的能力也很有限。比如,达世币,在比特大陆生产出针对达世币的专用矿机“蚂蚁矿机D3”之后,币值一泻千里。

    2、技术演进的第二个方向,是数据结构的创新。

    随着比特币系统后来暴露出来的性能不足和容量不足的问题,有产生了很多创新。

    最简单的,就是修改区块参数直接扩容。

    后来,则是针对账本区块内部结构的创新。比特币可以被视为是一种面向UTXO交易的区块链,同样,我们还可以定义只存哈希指纹的面向存证的区块链、只存数字签名的面向确权的区块链、存储要素信息的面向登记的区块链,还有面向K-V结构的区块链等等。

    另外,针对账本区块之间结构的创新。比如不再是链条,还可以由多个区块组成区块树、由多个区块组成区块图等等。

    3、技术演进的第三个方向,是共识算法的创新。

    最近一两年创新比较多的地方就是拜占庭容错共识算法。主要有两大类,一是确定性一致性算法,如基于投票机制的PBFT、RBFT、CBFT等。二是大概率一致性算法,包括基于算力证明的PoW共识和基于权益证明的PoS。

    但上述共识算法都有其不足。

    单一的共识机制,在一些要求较高的场景下使用,比如法定数字货币场景。所以,后来有衍生出来一些新的共识机制,将多种共识混合使用。简单来说,就是将共识分为多个阶段,每个阶段采用不同的共识机制。

    4、技术演进的第四个方向,是隐私保护的创新。

    传统的公有链模式这方面要求较低,只是通过简单匿名实现很有限的隐私保护。

    但在一些联盟链的场景,尤其是toB的应用场景,这个需求非常强烈。一般来说,可以和传统软件一样,从网络层、应用层或者是交易层各方面来做。网络层和应用层不用多说,至于交易层的很多解决方式,就是把传统的密码学的体系引入进来,包括环签名、零知识证明、同态加密等等,这些理论和算法,就算在密码学的学术界也属于比较前沿性的,有些在在理论上已经成熟了,但很多在工程上还不可行,或者导致数据膨胀太厉害,或者性能下降太多,难以在实际区块链系统中大规模运用。

    总的来说,区块链还处于早期阶段,尤其是toB的区块链,在可扩展性、节点存储、隐私保护等方面还很受限;另外,其共识算法安全性难以证明,智能合约安全性难以验证、量子计算的攻击难以抵御;最后,缺乏好的开发工具、缺乏相关治理和标准,其升级和演化机制也不成熟。

    但与此同时,这方面的创新,一直在进行。一般来说,工程上的问题总是能解决的,只是时间早晚而已,区块链的未来还是很值得期待的。

    金融科技50人论坛CFT50于2017年4月22日在北京发布成立。CFT50汇聚了国内金融科技一线的监管层人士、专家学者和企业领袖,共同探究前沿课题、促进产业实践,为中国金融科技的发展贡献力量。论坛紧密围绕国家金融发展战略与市场趋势,努力建设成为服务于“政产学研用”的优秀金融科技学术平台,并积极推动金融科技领域的国际交流与协作。

    ,