区块链到底是什么
比特币的传奇尚未落幕,另一个传奇就已经开启:2015年7月,高德纳发布了新一年的技术成熟度曲线图。从图中可以清晰地看到:比特币所代表的加密货币(cryptocurriencies)和虚拟货币交易(Cryptocurriencie Exchange)逐渐从2014年炒作的顶峰期跌落到大众普遍失望的谷底。
图1-4 高德纳2015年新兴技术成熟度曲线
资料来源:http://www.gartner.com/newsroom/id/3114217
中文版链接:https://www.zhihu.com/question/21314303
然而,出乎意料的是,整个产业并未衰落。截至2016年2月19日,全球比特币相关产业投资额度仍然逐渐升温,突破10亿美元。这其中以完成两轮融资的OKcoin为首的7家中国公司也格外引人注意,带领着中国区块链产业的发展。这也显示了资本与市场的整体乐观。正如中国古人所说的,“阴极阳生”。一种新的技术让投资者和业界再次看到了曙光,那就是Blockchain(区块链)。这是一个并不常见的现象。一般而言,当一项技术衰退的时候,除非它的生命周期非常长,能极大地激励人类的期待和梦想,比如人工智能,它能极大地勾起科研界、技术界的梦想。从20世纪60年代,从海曼·明斯基(Hyman Minsky)时代一直发展到今天的阿尔法狗时代。但大部分创新技术一跌下去就被淘汰了。比特币、加密货币这种技术之所以能硬挺到今天,非常重要的因素就是背后的区块链技术又再次把它拉动了起来。
表1-2 中国区块链产业投资列表(2016年2月19日更新)
比特币与区块链是父与子关系吗
对于比特币与区块链,有两种常见的错误概念,在业界广为传播:
错误观念1:比特币与区块链是父与子的关系;
错误观念2:区块链是比特币的一个意外发现和生成物,带来出乎大家所料的惊喜,之前没有人料到这一切。
事实上,作为比特币实现的底层技术,区块链的产生是伴随着比特币一道出现的,称之为父与子的关系极其不准确。其次,与其说意外,倒不如说是“蓄谋已久”。早在2010年,在后来的比特币核心开发者Gavin Anderson(盖文·安德森)的讨论帖中,中本聪就指出自己为什么在比特币初始代码版本wallet.dat中嵌入一种非常简单的脚本(Gavin发现后曾一度陷入紧张不安中)。
中本聪说:“我很多年前就已经在思考,是否可以让(比特币)支持多种交易类型,包括:托管交易、债券合同、第三方仲裁、多重签名等。如果比特币未来能够大规模发展,那么这些交易种类都将是我们未来想探索的,但是在一开始设计时就应该考虑到这些交易,这样奖励才能够实现。”
事实上,正如后来的研究者分析发现,这些结构的应用早已超出了数字货币,甚至可以扩展到任何类型的交易方式,例如各种基于智能合约的应用。其实可以套用设计中的专门术语说,“区块链”是比特币的“可供性”,这种载体提供了一种更为广阔的交互的可能性。
中本聪版本的第一版“比特币区块链”的基础协议非常简单:通过盖时间戳,各方一同记账、一同公证,每10分钟确认一次,形成记录全网这10分钟所有正确的一个账本数据库“区块”,然后每个合法的区块连成一个个链条,形成分布式的、大家一致同意的账本数据库,这就是“区块链”。
图1-5 区块链示意图
资料来源https://camo.githubusercontent.com/e8e2a0c15c17b066e7f17056f7697819b9a1aa33/687474703a2f2f766974616c696b2e63612f66696c65732f626c6f636b5f706963747572652e706e67
区块链本质上是一个去中心化的分布式账本数据库,是比特币的底层技术,和比特币是相伴相生的关系。区块链本身其实是一串使用密码学相关联所产生的数据块,每一个数据块中包含了多次比特币网络交易有效确认的信息。
每当有加密交易产生时,网络中有强大运算能力的矿工(Miner)就开始利用算法解密验证交易,创造出新的区块来记录最新的交易。新的区块按照时间顺序线性地被补充到原有的区块链末端,这个账本就会不停地增长和延长。
通过复杂的公共钥匙和私人钥匙的设置,区块链网络将整个金融网络的所有交易的账本实时广播,实时将交易记录分发到每一个客户端,同时还能保证每个人只能对自己的财产进行修改。当然,账本里也有别人的交易记录,虽然可以看到数值和对应的交易地址(基本上这是由一段冗长的乱序字母和数字组成),但是如果不借用其他技术手段也根本无法知道交易者的真实身份。
如果从不同的技术角度来剖析,我们可以这样看待区块链:它是一种数据库、一种分布式系统,也是一种网络底层协议。
(1)数据库。区块链是一种公共数据库,它记录了网际间所有的交易信息,随时更新,让每个用户可以通过合法的手段从中读取信息,写入信息。但又有一套特殊的机制,防止以往的数据被篡改。
(2)分布式系统。区块链是一种分布式系统,它不存储放置在某一两个特定的服务器或安全节点上,而是分布式地存在于网络上所有的完整节点上,在每一个节点保留信息备份。
(3)网络底层协议。区块链是一种共识协议,基于这种协议,可以在其上开发出数目繁多的应用。这些应用在每一时刻都保存一条最长的、最具权威的、共同认可的数据记录,并遵循共同认可的机制进行无须中间权威仲裁的、直接的、点对点的交互信息。
层出不穷的其他数字货币
由于区块链最先被应用于数字货币——比特币,所以各方的开发设计者很容易想到,运用或改造这种区块链技术(加密算法、处理时间、区块大小等)可以造出新的数字货币,我们不妨称之为1.0时代。1.0时代中各种数字货币层出不穷,截至2016年2月28日,统计显示已知的有688种,从分文不值到估值上亿美元。我们简要介绍除比特币以外排名靠前的三种。
表1-3 全球排名前十位的数字货币
资料来源:http://coinmarketcap.com/
1. 以太坊(Ethereum)
以太坊是下一代密码学账本,支持众多的高级功能,包括用户发行货币、智能协议、去中心化的交易、普遍认为的第一个完全的去中心化自治组织(DAOs)或去中心化自治公司(DACs)应用。使以太坊与众不同的是实现这些功能的方式。以太坊并不是把每一单个类型的功能作为特性来特别支持,相反,以太坊包括一个内置的图灵完备的脚本语言,允许通过被称为“合同”的机制来为自己想实现的特性写代码。一个合同就像一个自动的代理,每当接收到一笔交易,合同就会运行特定的一段代码,这段代码能修改合同内部的数据存储或者发送交易。高级的合同甚至能修改自身的代码。
2. 瑞波币(Ripple)
瑞波币是Ripple网络运行的基础货币,就像比特币一样可以在整个网络中流通,而不必局限于熟人圈子。瑞波币引入网关系统,它类似于货币兑换机构,允许人们把法定货币注入、抽离Ripple网络,并可充当借贷双方的桥梁。
3. 莱特币(Litecoin)
莱特币与比特币相比具有三种显著差异:第一,莱特币网络大约每2.5分钟(而不是10分钟)就可以处理一个块,因此可以提供更快的交易确认;第二,莱特币网络预期产出8400万个莱特币,是比特币网络发行货币量的四倍之多;第三,莱特币在其工作量证明算法中使用了由Colin Percival(科林·珀西瓦尔)首次提出的Scrypt加密算法,这使得相比于比特币,在普通计算机上进行莱特币挖掘更为容易(在ASIC矿机诞生之前)。每一个莱特币被分成100000000个更小的单位,通过8位小数来界定。不同于比特币,Scrypt所具有的内存密集特性让莱特币更适合用图形处理器(GPU)进行“挖矿”。为Scrypt实施的FPGA(现场可编辑逻辑门阵列)和ASIC(专用集成电路),相比于比特币使用的sha256,更为昂贵。
区块链的实际应用
比特币也许是区块链上最著名的应用,除了比特币以及以它为代表的数字货币之外,近年来也涌现出了许多其他应用。我们也将会在后面的章节展开财产、物流、存储、选举等各方面应用案例的详细说明。这里仅仅给出部分例子,略微彰显它广阔的前景:美国在线零售商Overstock就基于区块链开发了一个名为“tØ”的股权交易平台。在同一领域,纳斯达克宣布与Chain达成合作协议:它们正试图用区块链来颠覆股票交易市场。与此同时,高盛和巴克莱等金融机构目前也在联手创业公司,为市场开发一种基于区块链的新框架。
许多创业公司又在此基础上更进了一步,计划利用区块链来交易实体资产。比如,Bitproof和Blocknotary试图通过在区块链上记录合同交易来颠覆这些行业,他们不是在公证人面前完成房屋买卖,而是将合同保存在公共账单上。
另外,Colu正在利用区块链,通过数字令牌(digital token)来管理资产——数字令牌可以开启在线服务或实体资产。
这项技术还可以被应用于知识产权领域。例如,Verisart正在利用这种分散式技术来验证艺术作品的真伪。它给艺术作品相应的版权编码,然后将它们记录在区块链中。另外,Proof of Existence还利用公开账单追踪用户创建的档案。
区块链还可以用来验证人的身份。ShoCard会给个人身份信息编码并进行保存,还能实现合同的智能化管理:这得益于这种分散式基础设施,一旦满足了某些条款,合同会得到自动处理。IBM目前正在开发这种应用,该公司还公布了与三星ADEPT的合作计划——ADEPT是一个在物联网领域使用区块链技术的概念验证。
区块链的颠覆特点
“如果我知道我将在何处死去,我将不去那个地方,这样我就可以得到永生。”这是著名投资人查理·芒格(charlie Munger)经常引用的一句俏皮话,其中充满了深深的、反向思考的智慧。如果我们今天希望了解区块链的种种特性所带来的去中心化、分布式等对于传统的颠覆,我们不妨思考以下两个问题:传统的方式意味着什么,或者说中心化意味着什么? 集中式又意味着什么?我们设想一个例子,假定在10000年前,我手里有一个贝壳,对方有一袋盐,我俩简单直接地换走,而我们不需要知道过多对方的信息,也不需要知道对方的家庭住址、身份证、信用等冗余信息。我的东西对他有价值,他的东西也对我有价值,我就可以直接跟他请求交换。但后来随着社会的不断发展,复杂以及不必要之物充斥到我们的价值传输网络中。现在,我们做一个非常简单的交换过程,必须依赖银行或下面例子中的钱庄。首先把我们的价值转化为银行记账单位,然后通过一个中心化的节点银行,进行这种价值的传输。
我们看一下极端中心化集中式的处理方式。
第一步,登记你(持贝壳少年)的姓名、年龄、身份证、住址、工资,提供给中心化钱庄。
第二步,登记他(持盐少年)的姓名、年龄、身份证、住址、工资,提供给中心化钱庄。
第三步,你把贝壳寄往钱庄。
第四步,卖盐的少年把盐寄往钱庄。
第五步,钱庄把盐寄给你。
第六步,钱庄把贝壳寄给对方。
第七步,钱庄把你们两人的信用值各自+1,并在钱庄内保管你们的信用记录。
而去中心化、分布式处理方式:你和少年交换盐和贝壳,并不需要太多其他信息,交易地址、金额记录登记更新到区块链上。
我们不难看出,在某些特定的场合,去中心化分布式处理,不仅更加便捷,而且也更加自主。你并不一定需要一个掌握你所有信息,甚至与交易无关的毫不必要的信息的中心化代理(钱庄)来协调处理你的一切交易。这不仅是不安全、不便捷的,还可能造成信息不对称,甚至被“中心”反向控制,因此也是不必要的。
贝尔的电话技术、20世纪90年代的互联网的颠覆性来源于它们所带来的便利,对人类生活和行为的巨大改变。有了电话和手机,我们就可以端对端及时发送信息进行通信;有了互联网、微信和QQ,语音、文字、视频等“信息”和“数据”才可以方便传播,使人们之间的联系和联络更加直接、便捷。总体而言,传递“消息”的网络已经非常发达、直接、便捷、流畅。但是现在我们在传递钱、资产这样的“价值资产”时,我们的网络还处于一个十分臃肿、低效的状态,某些方面甚至不如原始社会时贝壳与盐等物物交换的网络。
可以发现,区块链就是一个“去中介化”的“价值传输网络”。如果说“拜占庭将军问题”揭示出了我们分布散落的个体节点之间信息传达与协同的困难,那么区块链就是一种解答,迄今为止最有力、最清晰、最具有现实性的一种解答。它解构了信任代理(中介)存在的必要,提供了另一种点对点直接交互的可能。就像我们在原始社会中一样,真诚地面对面地交互,不需要任何中介,甚至不需要双方的信任,只需要有限的了解,便可以来去匆匆,相忘于江湖,其中的交互皆留给底层。这使交易乃至于一切交互更方便、更有效率。在一个一个点看,这只是个体之事,但从更高的维度看,它也使大规模的、无中介的协同交互成为可能。不再需要强权、巨大中介的集中智能处理,而智能则隐于底层、隐于链条、隐于各处。它不是庞然大物似的存在,但又细微地无所不在,这种智能终将重新塑造出我们商业、文化乃至整个社会的未来。