区块链系列:重塑经济与世界+数字货币到信用社会+解码区块链全球应用与投资案例
上QQ阅读APP看书,第一时间看更新

第二章
区块链基础本章由海滨完成。海滨,布比公司技术专家、博士,在区块链技术、网络安全、数字货币等领域有非常深厚的技术积累。布比公司专注于区块链技术和产品的创新,已经拥有多项核心技术,开发了高可扩展高性能的区块链基础服务平台,具备快速构建上层应用业务的能力,满足数千万级用户规模的场景。

一、区块链的基本概念

区块链(Blockchain)技术的产生和发展离不开比特币。首先,因为随着比特币的诞生,区块链技术才得以公布于众;其次,比特币是截至目前区块链技术最成功、最成熟的应用案例。比特币的概念由中本聪在2008年发表的论文《比特币:一种点对点的电子现金系统》中首次提出。文中,中本聪将区块链技术作为构建比特币数据结构及交易体系的基础技术,将比特币打造为一种数字货币和在线支付系统,利用加密技术实现资金转移,而不再依赖于中央银行。比特币使用公钥地址发送和接收比特币,并进行交易记录,从而实现个人身份信息的匿名。交易确认的过程则需要用户贡献算力,共同对交易进行共识确认,从而将交易记录到全网公开账本中。用户可以利用电脑、手机等发送或接收比特币,并选择交易费用。现有逾百种加密数字货币(未来币、点点币、莱特币、狗狗币等),比特币约占所有加密数字货币市值的90%。

比特币的区块链毕竟是为比特币体系的设计而定制,因此比特币的区块链技术并不等于区块链技术。区块链技术应该是可以有更多种形态、更多种体系、更多种用途、更多种规格的技术,其概念为:区块链是一个去中心化的分布式数据库,该数据库由一串使用密码学方法产生的数据区块有序链接而成,区块中包含有一定时间内产生的无法被篡改的数据记录信息。

区块中包含数据记录、当前区块根哈希(Hash)、前一区块根哈希、时间戳以及其他信息(图2-1)。数据记录的类型可以根据场景决定,比如资产交易记录、资产发行记录、清算记录、智能合约记录甚至物联网数据记录等。数据记录在存储过程中,通常组织为树形式,比如默克尔树,而区块根哈希实际就是数据记录树的根节点哈希,为根据数据记录树自下而上逐步通过SHA-256等哈希算法计算得出。时间戳为区块的生成时间。其他信息包括区块签名信息、随机值等信息,也可根据具体应用场景灵活定义。

图2-1 区块链结构示意图

区块链技术不是一种单一的技术,而是多种技术整合的结果,包括密码学、数学、经济学、网络科学等。这些技术以特定方式组合在一起,形成了一种新的去中心化数据记录与存储体系,并给存储数据的区块打上时间戳使其形成一个连续的、前后关联的诚实数据记录存储结构,最终目的是建立一个保证诚实的数据系统,可将其称为能够保证系统诚实的分布式数据库。在这个系统中,只有系统本身是值得信任的,所以数据记录、存储与更新规则是为建立人们对区块链系统的信任而设计。诚实意味着系统可以被信任,正是商业活动和应用推广的前提,所以区块链技术已经被很多领域主流机构看中并非是没有理由的。因为有了区块链技术,在一个诚信的系统里,可以省去许多烦琐的审查手续,许多因数据缺乏透明度而无法开展的业务可以开展,甚至社会的自动化程度也将大幅提升。

近年来,包括高盛、摩根大通和纳斯达克等金融机构开始展开对区块链技术的重点研究。这些机构的金融业务大都具有标准化程度高、连续性强、自动化需求大、业务对信用度要求高等特点,跟区块链的优势高度契合。同时,在供应链金融中,由于物流、资金流和信息流的复杂安排会涉及众多单据,因此使用电子商务平台记账会大大节省纸质单据所需要的时间和成本,然而使用谁的电子商务平台就成为一个大问题。如果使用利益相关各方自建的电子商务平台,数据的真实性就很容易受到质疑,而自建电子商务平台往往耗资不菲;如果使用第三方的电子商务平台,第三方的经营稳定性和信息安全性又难以保证,比如因财务、政策、网络攻击等各种情况引起不稳定问题等,沟通协调成本和风险也会大幅增加。区块链技术的安全性、不可逆、不可篡改性和透明性都已经得到了证明,如果能把供应链金融业务直接建立在这样已被证明其可靠性的区块链上,将极大地降低安全和信用成本。所以,尽管目前电子商务平台的使用已经大大节约了成本,但如果能有一个具有公信力的类似区块链公共信用系统,成本仍有进一步节约的空间。从政府层面来说,这一点也很重要,因为提供值得大众信任的系统本身就是政府职能的一部分。中国的资本运用效率远低于美国的一个非常重要的原因就是社会的信用体系不健全、信息不透明、部门协调成本过高,且利益保护现象严重。如果能从技术上应用区块链,就可以用较低的成本打破这些阻碍,建立一个公开的社会公共信用系统,整个社会成本都将大幅降低,效率也将大幅提升,还便于监管。透明的数据不仅将大大降低监管部门的工作量(很大一部分工作量转移给了社会监督,任何异动都很难逃过众人的眼睛),而且使得监管部门的主要工作转向治理,提升治理人性化和效率。

尽管使用区块链技术所建立的系统本身是诚实可信的,但这并不意味着来自系统以外的输入信息就是诚实的,更多的时候只是意味着区块链诚实记录并储存了这些外部数据。比如认证,认证工作往往是在线下完成,即使区块链能够存储文字、图片甚至多媒体信息,也并不意味着那些信息都是真实的。这只意味着区块链真实记录并存储了这些信息,防止被篡改,如果发生业务纠纷时可以作为凭证。可能许多人没有注意到这一点,自动化是区块链技术的一个非常重要的特性,区块链网络实际上就是一个接近于自动化或存在完全自动化可能性的网络。这一点之所以重要,一方面,是因为自动化是金融机构青睐区块链技术的重要原因,金融交易需要网络能够自动记录和存储交易数据,也能够允许参与者通过设置条件在网络上自动进行和完成交易;另一方面,区块链技术在这方面提供的可能性为社会生产效率的大幅提升留下了广阔的空间,也为智能合约等一系列高级应用留下了充足的余地。在理想情况下,区块链技术最终能够同物联网结合起来。

总体而言,区块链的发展体系可以划分为四个象限(图2-2)。第一象限是比特币区块链;

第二象限是使用比特币区块链协议,但不使用比特币货币的系统,比如万事达币、彩色币、合约币,以及采用合并挖矿的域名币等;第三象限是同时使用独立货币和独立区块链的系统,比如以太坊、瑞波、莱特币和未来币等;第四象限是侧链,采用独立的网络但以比特币作为底层货币的系统,如BTC Relay等。

图2-2 区块链发展体系四象限

(一)区块链的分类

目前已知的区块链技术应用大致分为三类。

1. 公共区块链(Public Blockchain):是指全世界任何人都可读取、可发送交易进行有效性确认,任何人都能参与其共识过程的区块链(共识过程是维持区块链这种分布式数据库一致性、准确性的关键技术,将在后续章节详细介绍),如图2-3所示。区块链上的数据记录公开,所有人都可以访问,都可以发出交易请求,并通过验证被写入区块链。共识过程的参与者通过密码学技术共同维护公共区块链数据的安全、透明、不可篡改。公共区块链的典型应用包括比特币、以太坊等。

图2-3 公共区块链示意图

公共区块链是完全分布式的区块链,区块链数据公开,用户参与程度高,同时易于产生网络效应,便于应用推广。然而,系统的运行需要依赖于内建的激励机制。公共区块链上试图保存的数据越有价值,越要审视其安全性以及安全性带来的交易成本、系统可扩展性问题。

2. 共同体区块链(Consortium Blockchains):又称联盟链,是指参与区块链的节点是事先选择好的,节点间通常有良好的网络连接等合作关系,区块链上的数据可以是公开的也可以是内部的,为部分意义上的分布式,可视为“部分去中心化”。如图2-4所示为共同体区块链示意图。比如有若干家金融机构之间建立了某个共同体区块链,每个机构都运行着一个节点,而且为了使每个区块生效需要获得至少其中10个机构的确认。区块链可以允许每个机构可读取,或者只受限于共识验证参与者,或走混合型路线,例如区块的根哈希及应用程序接口对外公开,允许外界用来进行区块链数据和区块链状态信息查询等。其典型应用包括超级账本(Hyperledger)、区块链联盟R3CEV等。

图2-4 共同体区块链示意图

共同体区块链的参与节点间的连接状态较好、验证效率较高,只需较低的成本即可维持运行,提供高速交易处理的同时降低交易费用,有很好的扩展性,数据可以保持一定的隐私性。但是这也意味着在共识达成的前提下,参与节点可以一起篡改数据。

3. 私有区块链(Private Blockchain):参与的节点只有有限的范围,比如特定机构的自身用户等,数据的访问及使用有严格的权限管理,如图2-5所示为私有区块链示意图。完全私有的区块链中写入权限仅在参与者手里,读取权限可以对外开放,也可以进行任意程度的限制。相关的应用囊括数据库管理、数据库审计甚至公司管理,尽管在有些情况下希望私有区块链可以具有公共的可审计性,但在更多的情况下,没有公共的可读性。由于是私有用户说了算,里面的数据没有无法篡改的特性,对于第三方的保障力度大大降低。因此,目前很多私有区块链会通过依附在比特币等已有区块链的方式存在,定期将系统快照数据记录到比特币等系统中。其典型应用如Eris Industries。

图2-5 私有区块链示意图

私有区块链可以带来规则的改变。如果需要的话,运行着私有区块链的机构可以很容易地修改区块链的规则、回滚交易。这一点似乎略有违背区块链的本质,但是却适用于一些特殊场景需求。由于私有区块链验证者是内部公开的,所以并不存在部分验证节点共谋进行51%攻击的风险。私有区块链交易成本更低。交易只需被几个受信的高算力节点验证即可,而不是需要数万个节点的确认,因此交易成本会低。但从长远来看,随着区块链技术的进步,公共区块链的成本将可能降低1~2个数量级,大致与高效的私有区块链系统类似。私有区块链节点间连接情况好、故障可以迅速通过人工干预来修复,从而提升交易速度并可以更好地保护隐私。

公共区块链、共同体区块链和私有区块链各有优势。公共区块链很难实现得很完美,共同体区块链、私有区块链需要找到实际迫切需求的应用需求和场景。至于具体选择哪套方案取决于具体需求,有时使用公共区块链会更好,但有时又需要一定的私有控制,适用于使用共同体区块链或私有区块链。

(二)区块链的特征

1. 去中心化

去中心化是区块链最基本的特征,意味着区块链不再依赖于中央处理节点,实现了数据的分布式记录、存储和更新。由于使用分布式存储和算力,不存在中心化的硬件或管理机构,全网节点的权利和义务均等,系统中的数据本质是由全网节点共同维护的。由于每个区块链节点都必须遵循同一规则,而该规则基于密码算法而非信用,同时每次数据更新需要网络内其他用户的批准,所以不需要一套第三方中介结构或信任机构背书。在传统的中心化网络中,对一个中心节点实行攻击即可破坏整个系统,而在一个去中心化的区块链网络中,攻击单个节点无法控制或破坏整个网络,掌握网内超过51%的节点只是获得控制权的开始而已。

2. 透明性

区块链系统的数据记录对全网节点是透明的,数据记录的更新操作对全网节点也是透明的,这是区块链系统值得信任的基础。由于区块链系统使用开源的程序、开放的规则和高参与度,区块链数据记录和运行规则可以被全网节点审查、追溯,具有很高的透明度。

3. 开放性

区块链系统是开放的,除了数据直接相关各方的私有信息被加密外,区块链的数据对所有人公开(具有特殊权限要求的区块链系统除外)。任何人或参与节点都可以通过公开的接口查询区块链数据记录或者开发相关应用,因此整个系统信息高度透明。

4. 自治性

区块链采用基于协商一致的规范和协议,使整个系统中的所有节点能够在去信任的环境自由安全地交换数据、记录数据、更新数据,把对个人或机构的信任改成对体系的信任,任何人为的干预都将不起作用。

5. 信息不可篡改

区块链系统的信息一旦经过验证并添加至区块链后,就会得到永久存储,无法更改(具备特殊更改需求的私有区块链等系统除外)。除非能够同时控制系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,因此区块链的数据稳定性和可靠性极高。

6. 匿名性

区块链技术解决了节点间信任的问题,因此数据交换甚至交易均可在匿名的情况下进行。由于节点之间的数据交换遵循固定且预知的算法,因而其数据交互是无须信任的,可以基于地址而非个人身份进行,因此交易双方无须通过公开身份的方式让对方产生信任。