白宇嘉 尼玛扎西 曹学琪
摘要:区块链技术是随着数字加密货币比特币从兴起到被接受而走进人们的视野中,从而备受关注,引发越来越多的人来研究该技术。区块链的颠覆性的创新特性受到各行各业尤其是金融行业的热捧。我们将从该技术的技术特点、存在的问题及未来的发展应用三个大的方面来讨论区块链技术。在2018年,作为区块链技术应用发展的关键一年,我们需要更多地了解该技术,为各类应用的登陆打下更坚实的基础。
关键词:区块链;比特币;数字货币;区块链应用
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)32-0020-05
Abstract: The blockchain technology has entered the field of vision with the digital cryptocurrency bitcoin from the rise to the acceptance, which has attracted much attention and triggered more and more people to study the technology. The disruptive and innovative nature of the blockchain has been hailed by all walks of life, especially the financial industry. We will discuss blockchain technology from three major aspects of the technical characteristics, existing problems and future development of the technology. In 2018, as a key year for the development of blockchain technology applications, we need to know more about this technology to lay a more solid foundation for the landing of various applications.
Key words:blockchain;bitcoin; digital currency; blockchain application
1 引言
人工智能、机器学习、区块链和深度学习是近年来在IT领域多次提到的一些名词。当你提起区块链,你可能会想到比特币。事实上,比特币和区块链技术无法相提并论[1]。区块链技术发源于比特币,区块链是随着比特币的产生而产生,并且在信息传播的时候比特币和区块链经常同时出现,所以有些人会认为区块链是比特币,实则不然。好比用石头建造房子,区块链技术就像石头,而比特币只是其中的一幢房子。石头本身只是基础,用石头还可以建造金字塔和长城。用区块鏈技术也可以来实现更多更广泛的应用。比特币是区块链最成功的应用,区块链技术的应用远不止比特币。
2 初识区块链
区块链是近些年最具革命性的新兴技术之一[2]。区块链的概念于2008年由Ben Cong首次发布,名为“比特币:一种点对点式的电子现金系统”的比特币白皮书中提出的,所以说区块链技术发源于比特币,或者说比特币是区块链技术的第一个成功应用。
如果说互联网技术是解决通讯问题的话,那么区块链技术解决的是信任问题。区块链是一群认同并遵守这个规则的人共同参与共同记录一个去中心化的分布式账本数据库的过程[3]。从技术角度来说,区块链是一个全体联网节点参与维护的分布式数据库,用高度的数据冗余实现低成本的信任建立,用密码学保证信息安全和权属安全,用共识机制和点对点网络通信形成的去中心化、防篡改、防作伪的一种新型协作范式。
虽然不同的机构对区块链的定义不尽相同,但其本质上是一样的,即区块链技术有几个关键的特征[4],那就是去中心化、去信任化、防篡改、匿名、开放、自治、可追溯。并且,区块链技术仍旧在不断地发展和完善。
3 区块链的分类与架构
3.1 区块链分类
区块链技术的分类随着各方面的应用而越来越明朗,目前主要按照三种形式来分类。
3.1.1 按照网络范围
根据网络的范围,可以分为公有链、私有链和联盟链。
(1)公有链
所谓公有链就是完全对外开放,不用注册,没有权限设定,无须授权,任何个人或团体都可以访问到网络。只要接入公有链网络上,所有发生的交易数据都可以随意查看,并且完全公开透明。它还可以参与公有链上的交易发送,也可以参与其共识的过程。公有链是第一个出现的区块链,并且是真正意义上的完全分散的区块链[5]。公有链通常也被称为非许可链,即节点不需要认证即可加入,凡是需要大众参与,并且最大限度保证数据公开透明的系统,两者都适用于公有链,如比特币系统、以太坊系统、互联网金融交易系统等。
(2)私有链
私有链和公有链是相对的,所谓私有就是不公开的,仅仅在一个公司或者组织内部单独的拥有读写权限,具体的规则是由组织内部自行制定。目前私有链主要应用于金融企业内部数据库管理、财务、审计等相关工作领域,防范企业内部或者外部对企业数据的泄露和攻击,它不仅提高了企业管理效率,还保证了企业数据的安全行[6]。私有链通常被称为许可链,即节点需要通过认证才可以加入,凡是不需要大众参与,并且需要对数据进行保密的系统,都适用于私有链,如数据不方便公开的企业内部。
(3)联盟链
联盟链结合了公有链的完全开放和私有链的尽可能封闭两种特点,通常是各个机构或企业共同参与的策略,所以开放程度根据应用场景而决定。例如,由40多家银行组成的区块链联盟R3之间的支付结算采用联盟链的形式[7]。他们之间的数据交易形式就不完全是封闭状态的。因此,可以说联盟链是由几个私有链组成的小规模的公有链。联盟链通常也被称为许可链,即节点也需要通过认证才可以加入,如金融业的区块链联盟R3。
3.1.2 按照部署环境
根据部署环境来划分,可以分为主链和测试链。
(1)主链
所谓主链,在生产环境中部署的真正的区块链系统,软件将在正式发布之前会经过很多内部测试版本。用于发现可能存在的一些错误,并用于内部演示以查看效果,直到正式版本发布。或者可以说区块链网络由客户端的正式版组成,只有主链才会真正推广和使用,而且功能设计也比较完善。
(2)测试链
所谓的测试链是开发人员为测试目的提供的区块链网络,例如比特币测试链和以太坊测试链。除了区块链开发人员提供的测试区块链之外,用户还可以根据需要搭建自己的测试网络。当然,测试链中的功能设计与生产环境中的主链之间仍存在一些差异。
3.1.3 按照互联类型
根据互联类型来划分,可以分为单链、侧链和互联链。
(1)单链
可以独立操作的区块链系统可以统称为“单链”,并且这种区块系统具有完整的组件模块,作为一个系统,应用程序的操作需要单独的区块链系统的支持。
(2)侧链
侧链不是指某个特定的区块链,而是指遵循侧链协议的所有区块链。侧链协议是指:一种协议,允许比特币安全地从比特币骨干转移到其他区块链,并安全地从其他区块链返回比特币骨干网。因此,只需侧链协议,并且所有现有的区块链,例如以太坊和莱特币,都可以成为侧链。
(3)互联链
对于特定领域的应用程序,可能存在形成其自己的垂直领域的区块链,并且这些区块链将具有互连要求。这样,这些区块链将通过某种互连协议连接,该区块链中的互连形成互连链[8],即形成区块链的全球网络。
3.2 区块链架构
区块链技术模型由自上而下的数据层、网络层、共识层、激励层、合约层和应用层组成。
首先,数据层封装底层数据块的链式结构,以及相关的非对称公私和钥数据加密技术和时间戳技术,这是整个区块链技术中最低的数据结构[9]。这些技术的结合是区块链技术的基础,数十年的实践证明了其安全性和可靠性。其次,网络层包括P2P组网机制,数据传输机制和数据验证机制,这意味着区块链具有自动联网功能。第三层是共识层,共识层封装了网络节点的各类共识机制算法,共识机制算法是区块链的核心技术,因为这决定了到底由谁来进行“记账”,并且“记账”的方式将影响整个系统的安全性和可靠性,到目前为止,共识机制算法已有十多种,其中众所周知的是工作量证明(PoW)机制,权益证明(PoS)机制,股权授权证明(DPoS)机制等[10]。
数据层、网络层和共识层是构建区块链技术的基本要素。
第四层是激励层,它将经济方面应用于区块链技术系统,包括经济激励的发布和分配机制。这些主要出现在公有链中,公有链必须激励遵守规则参与记账的节点,并惩罚不遵守规则的节点[11]。才能让整个系统朝着良性循环的方向发展。在私有链中,没有必要进行激励,并且是在链外就完成了记账的分配任务。第五层合约层,该层封装各类脚本、算法和智能合约,是区块链可编程性的基础。比特币本身具有简单的脚本功能,而以太坊则極大地增强了编程语言协议,理论上可以编写实现任何功能的应用程序,如果您认为比特币是一本全球账本的话,以太坊可以被视为全球计算机,任何人都可以上传和执行任何应用程序[12]。并且程序的有效执行能得以保证。第六层是应用层,它封装了各种应用场景和区块链的案例。未来的可编程金融和可编程社会也将建立在应用层上。
激励层、合约层和应用层并不是每个区块链应用的必要因素。如图1所示为区块链技术的体系架构。
4 区块链关键技术
区块链的关键技术主要集中在区块链架构的数据层、网络层和共识层。这里主要介绍数据层中的区块链的数据结构、非对称密码技术;网络层中的P2P网络协议;共识层中的工作量证明机制(PoW)和权益证明机制(PoS)[13]。
4.1 区块链数据结构
一个个区块用链条的形式连接起来,就形成了区块链。每个区块分为两部分:区块头和区块体,其中区块头是区块的核心部分。区块头包含时间戳、前一个区块的哈希值、Merkle根、难度系数和当前目标哈希值等,它们是整个区块的“大脑”。
时间戳:时间戳简而言之就是该区块产生的时间。时间戳的存在确保了区块之间具有的时序性,保证了每个区块数据的不可篡改性、不可伪造性及数据的可追溯性。
前一个区块的哈希值:所谓哈希值,就是把相关数据(文本、图像、音频、视频等)进行加密运算得到的一组二进制值,这个二进制值是一个独特且极其紧凑的值。大多数区块链使用SHA256哈希算法。前一个区块的哈希值就是把前一个区块的区块头信息通过SHA256哈希算法,得到一个“压缩值”,并记录到当前区块的区块头中。因而,保证了各个区块的连续性。在比特币计算能力中,矿工寻找一个随机数,使得新区块头的双SHA256哈希值小于或等于目标哈希值,并添加难度值,这样找到这个随机数的平均时间是10分钟,可以说每10分钟就可以产生一个新的区块。
Merkle根:Merkle Tree,通常也称为Hash Tree,是一个存储哈希值的树。每个区块中都有一个倒立的Merkle tree,Merkle tree的根存在于区块头中,Merkle树的叶子存在于区块体中,也就是数据块的hash值(如图2 Merkle树结构)。
难度系数:第100,000个区块的难度系数14484.16236122,则区块头包含难度系数,其确定计算哈希值的难度。区块链协议规定常数除以难度因子,其可以是目标值(target),即:目标值=常量/难度系数。显然,难度系数越大,目标值就越小。哈希值的有效性和目标值密切相关。由于目标值非常小,因此散列值小于目标值的可能性更大,并且可能会进行数亿次计算。这就是比特币中“采矿”难度大、速度慢的根本原因。按照以上的理论“采矿”的难度会变得越来越大,但是区块链的设计者设计了难度系数的动态调节机制,具体规定,难度系数每两周调整一次[14]。如果在过去的两周内该区块的平均生成速度为9分钟,则意味着比指定速度快10%,因此难度系数将增加10%;如果平均生成速度为11分钟,则意味着比指定速度慢10%,因此难度系数降低10%。总体来说,随着硬件设备的不断更新,算力的不断增强,难度系数只会越调越高,从而导致现在“挖矿”难度越来越大。
4.2 非对称密码技术
区块链技术的一个特性是数据的不可篡改性,并且该特性中使用的到技术之一是非对称加密技术。传统的对称加密算法易于理解,而非对称加密算法需要公钥和私钥。公钥和私钥是一对,每个用户都有两个密钥:公钥和私钥,两个密钥互相匹配,但只有公钥是公开的,私钥只由用户自己保存[15]。具体加密过程如下(图3非对称加密技术过程):
(1)发送方将发送带有加密散列函数(MD5,SHA,SM3)的文件以生成摘要,并且发送方用其自己的私钥加密摘要以形成数字签名。
(2)发送方用接收方的公钥对原文件再进行加密,同形成数字签名一起发送给接收方。
(3)接收方用发送方的公钥对数字签名的摘要进行解密,以获取发送方生成的摘要。
(4)接收方用自己的私钥解密收到的原文件,并使用与发送方相同的密码散列函数(MD5,SHA,SM3)把解密后的原文件形成摘要。
(5)将解密的摘要与由接收者重新加密的接收者原始文件生成的摘要进行比较。如果两者一致,则在传输过程中信息不会被破坏或伪造。
简单概括上述过程就是:公钥加密,私钥解密;私钥加密,公钥解密。区块链技术采用这种非对称加密技术,大大提高了信息的传输的安全性,防止了信息被篡改,所以不可篡改性是区块链技术的重要特性之一。
4.3 P2P网络协议
P2P网络技术,也称为点对点技术,该技术没有中央服务器,依靠用户在互联网系统上交换信息。它的应用范围非常广泛,从流媒体到点对点通信,从文件共享到协同处理,它在许多领域都有存在。区块链网络中的P2P技术主要用于在节点之间传输交易数据和区块数据。从网络协议的角度来看,大多数区块链项目使用的底层网络协议是TCP/IP协议;从网络拓扑的角度来看,区块链技术采用全分布式拓扑,节点和节点之间的传输过程更接近“泛洪算法”,即:交易數据从某个节点生成,然后广播到相邻节点,相邻节点一传十,十传百,直至传播到全网[16]。总而言之,区块链中P2P网络技术就是数据的定位和数据的共享两种方式的并存。
4.4 工作量证明机制(POW)
工作量证明机制是存在于公有链范畴内,简单地说,它就是一份证明工作节点做过一定量工作的证明。区块链技术最成功的应用比特币就是使用这种工作量证明机制,它的核心思想就是通过分布式各节点的算力竞争来保证数据的一致性和共识机制的安全性。哈希函数是密码学上计算难度经过反复验证的东西,所以用它来作证明是最有效的,每发出一条信息上传到区块链的时候,你要证明你付出了一定的算力,你的证据就是你区块里面的字符串,而加上这个字符串以后,你的区块的哈希值正好小于某个数。哈希函数的特征表明,你没有任何取巧的方法可以做到这一点,你只能一个个字符串的去尝试。形象来说就是系统为了找出合适的值,每次会出一道数学题,让所有节点来解答此题,谁有更强大的计算能力,以最快的速度解出这道题目的节点才有进行记账的权利。获得了该节点的记账权,就证明了该节点做了相应的工作,这就是工作量证明机制的简要描述。
但POW也有明显的缺点,那就是依靠计算机通过数学运算获取记账权,但该数学运算没有实际的意义,只是为了得到目标值而形成的一个复杂的数学运算,因此造成了时间、精力、电力及计算机硬件资源的巨大消耗,每次全网达成共识需要全网所有节点共同参与计算,而最终只有一个节点成功,其余节点的努力都将化为乌有,运行效率低。因此,权益证明机制POS很好地解决了POW存在的明显缺陷问题。
4.5 权益证明机制(POS)
权益证明机制是解决POW缺陷的一种替代方案,但其实质是通过计算能力来获得记账权。与股票股利制度类似,股权相对较大的人可以获得更多股息。主要思想是获得节点记账权的难度与节点持有的权益成反比,等比例地降低挖矿难度,从而加快找到随机数的速度,即拥有比较高股权 (货币) 的节点即有比较高的概率获得记账权及奖励。用户还可以购买等价的令牌并将其作为存款放入POS机制,这样用户就有更大的机会计算目标值,从而产生新的区块和奖励。它在一定程度上减少了数学运算引起的资源消耗,并且性能也相应提高,但仍然基于哈希运算。简而言之,它是一个根据用户持有多少钱和时间(硬币年龄)支付利息的系统。实际上最典型的例子是股票或银行存款。
但POS也有一些缺点,由于POS区块链系统缺少了POW“挖矿”的过程,POS系统面临如何分发虚拟资产的问题。本质上没有解决商业应用的痛点;所有的确认只是概率表达,而不是确定性的。
5 区块链技术存在的问题
任何技术都有其局限性,而且,该技术正处于快速发展时期,但该技术仍处在初级发展阶段,存在许多问题。其中一些问题将对区块链行业的未来发展产生非常不利的影响。下面我们来了解这些亟待解决的问题。
5.1 安全和隐私问题
虽然区块链技术在密码学中使用非对称密钥加密技术,但它具有很高的安全性。在安全性问题中,区块链技术具有不可篡改、不可伪造的特征,这个既是优点也是缺点,区块链没有遗憾,没有人可以对区块链中的数据变化做任何事情。但是,在金融系统中,如果转账地址填写错误,将直接造成永久性损失,不能撤销;私钥由用户生成和维护,无须第三方参与,但如果私钥丢失将无法对账户资产进行任何操作,会造成永久无法挽回的损失。在当前的集中式系统中,如果您的银行卡丢了或忘记密码,您可以到银行处理,您的钱也不会丢失。
区块链是一个分布式数据库,这意味着每个人都有一个完整的账簿,每个账户都需要追溯,因为区块链计算余额并验证交易的有效性。因此交易数据是公开透明的。没有隐私可言。并且个人账户与真实身份是绑定在一起的,个人账户信息的公开,就意味着个人身份的公开。如果人们使用不纯的动机,这将带来无法估量的损失。
5.2 效率问题
效率是任何一项技术都要考虑的因素之一。区块链中形成一个新区块的平均时间是十分钟,区块形成后将数据写入新区块,进而所有节点都同步数据,则需要更多的时间。由于到目前为止已经开发了超过500,000个区块,因此如果他们想要同步他们的新账本,那么对网络来说新的节点将花费更多时间。长此以往,随着区块的增多,很可能没有新的节点愿意加入区块链中来同步账本。并且每个区块中有很大的数据量,要同步所有区块中的数据,并且进行存储,占用的时间和存储空间也是巨大的。并且时间和空间的耗费对节点本身有可能没有实际的意义,只是一个纯粹的参与者。
前任央行行长周小川在2016年初的一次采访中表示,区块链仍然占用太多资源,无论是计算资源还是存储资源,都无法应对当前的交易规模[17]。目前比特币每秒只能完成7笔订单。我们可以想象一下在交易量非常大的时间段内,每秒只能处理7笔订单,这也就是每分钟仅能处理420笔订单,这样的效率甚至无法满足一个城市的交易速度,更别提服务于全国甚至全世界的消费者了,因此,区块链创新支付技术的效率尚未得到解决。
5.3 高能耗问题
区块链技术的高能耗问题主要体现在两个方面,一是区块链技术中的各类证明机制带来的“挖矿”,其次是区块链上的每个事务都广播到每一个节点。
为了得到记账权,区块链中所有的节点都要进行一个复杂而没有意义的运算,这些节点二十四小时不间断地进行着运算,对硬件的损耗和电能的消耗是巨大的。根据Digiconomist的评估,2018年5月25日,全球比特币矿业电力消耗1.88亿千瓦时,这意味着全年电力消耗为688.1亿千瓦时,它是2017年5月份耗电量(115.7亿千瓦时)的6倍。全球比特币采矿的总耗电量相当于捷克一个国家的电力消耗量,占全球电力消费的0.31%。平均而言,每个比特币交易耗电968千瓦时,相当于美国32个家庭的每日电力消耗[18]。这种残酷的计算竞争的结果是巨大的能源消耗。同時,为了确保区块链信息的透明性和公开性,区块链上的每个交易都将广播到每个节点,因此每一次广播都是对底层网络带宽资源的一种消耗,并且这种消耗是不间断的。
根据上述问题,与由“采矿”代表的传统高能耗区块链系统相比,最近提出了绿色区块链。倡导和实践新的绿色区块链生态系统是世界上第一个有助于绿色资产的区块链生态系统。绿色区块链的提出是未来区块链技术不断完善的理论依据。
6 区块链技术的应用前景与展望
区块链技术被认为是继蒸汽机、电力和互联网之后的颠覆性创新。如果说蒸汽机和电力解放了生产力并且互联网改变了信息传输的方式,那么区块链作为构建信任的机器,可能会改变价值传递方式。作为数字货币的技术支撑,目前的区块链技术已经引发了金融领域的巨大浪潮,以及许多金融巨头,包括主要的国际银行。区块链技术是公司未来发展计划的重中之重。我们都认为区块链技术将导致金融业发生类似海啸的巨变。
此外,根据中国工业和信息化部发布的“中国区块链技术和应用发展白皮书2016”,区块链的应用已延伸到许多领域,如医疗健康、教育、慈善公益、社会管理[19]。就文化产业来看,复制成本低、维权成本高、证明难度使知识产权保护始终成为行业的一个难点。通过区块链,文化产品的生产、传播和交易记录真实透明、可靠,问题得到解决。从2014年以来,包括麻省理工大学、斯坦福大学和普林斯顿大学在内的十几所欧洲和美国顶尖大学先后开设了区块链课程。而现在,将不再局限于区块链技术教学,有人准备用区块链技术向传统的教育模式发出挑战。据《泰晤士高等教育报》报道,2018年4月,一群来自牛津大学的学者宣布将创办世界上第一所区块链大学——伍尔夫大学,并且在今年夏季,将向所有学生开放申请。
从技术角度看,区块链应用主要分为以下四种类型:第一种是使用账本模式的账务类应用程序,包括数字资产交易、各种代币、积分、电子账单和其他类型的系统;第二种是使用存储模式的存证类应用,包括各种信息确权、溯源存证等类型的系统;第三种是基于平台模式的通用系统,包括各种智能合约基础链、BaaS区块链通用云等;第四种是其他基于模式的应用程序,其主要特征是它们在其商业模式中仅需要区块链系统的某些特性,例如利用区块链P2P广播能力的因特网广告系统,一种利用区块链加密能力的数据存储系统等[20]。
之前各类报告宣称2018年是区块链技术应用落地的关键年份,在这一年会有各类应用如雨后春笋般涌现出来,但截至今年年中,仍没有成熟的区块链应用投入使用,但我们不要过度悲观,对区块链技术产生过度怀疑,我们要相信区块链技术作为颠覆性的创新,现在尚处于“婴儿期”,我们要看着它成长为社会有用的“栋梁之才”。我们现在要做的就是对技术的进一步研究和对技术存在的问题的进一步探索及优化,尽量减少技术的缺点,让技术造福社会。
7 结束语
从2009年到2018年,区块链技术经历近10年的发展,区块链技术发展也带来了各行业运营观念的变化,新技术与新思想促进了各个行业的新发展以及这种推动力对社会的影响,经济活动的推动也是巨大的,许多新的行业现象将陆续出现,大众将拭目以待,期待这项新技术被各行业所采用,更好地造福各行业。总之,区块链涉及金钱、信任和权力,这是人类赖以生存的根本性基础。因此值得我们投入更多的时间和精力去学习和研究。
参考文献:
[1] 黄智斌.神奇的比特币和区块链技术分析[J].财讯,2017(27).
[2] 区块链是近些年最具革命性的新兴技术之一.
[3] 高金平.区块链之税收应用场景畅想[J].新理财,2018(z1).
[4] 许涛. “区块链+”教育的发展现状及其应用价值研究[J].远程教育杂志,2017,35(2):19-28.
[5] 林儒明.区块链可做一带一路的技术骨干[J].企业观察家,2018(1).
[6] 涂奔,张李义,陈晶. 一种基于私有区块链的信息保护预测模型研究[J].情报理论与实践, 2017(10):106-111.
[7] 卡隆.国内首个区块链农业应用根源链上线并启动联盟链申请[J].中国食品, 2017(2):175-175.
[8] 闵旭蓉,杜葵,戴逸聪.基于区块链技术的电子证照共享平台设计[J].指挥信息系统与技术, 2017, 8(2):47-51.
[9] 邓柯.区块链技术的实质、落地条件和应用前景[J].深圳大学学报(人文社会科学版), 2018(4).
[10] 胡凯,陈志东,黄洁华,等.一种基于P2P金融的区块链机制与共识算法[P].2017.
[11] 熊颖琳.移动P2P网络中自私节点抑制及资源平衡研究[D].北京邮电大学,2016.
[12] 謝开斌.基于区块链的数字货币演化[J].计算机应用研究,2019(7).
[13] 章峰,史博轩,蒋文保.区块链关键技术及应用研究综述[J].网络与信息安全学报,2018(4).
[14] 杨卓群,金芝.面向环境与需求不确定性的系统自适应决策[J].计算机研究与发展,2018,55(5):1014-1033.
[15] 刘俊.一种非对称加密算法的程序实现[J].电脑知识与技术,2016,12(2):184-186.
[16] 于雷,金岩.区块链全局账本数据的拆分技术研究[J].高技术通讯,2017(11).
[17] 汪洋.数字货币:纸币时代的终结者[J].中国经济周刊,2017(6):80-81.
[18] Jamaludin A S, Hosokawa A, Furumoto T, et al. Study on the effectiveness of Extreme Cold Mist MQL system on turning process of stainless steel AISI 316[J].2018,319(1):012054.
[19] 刘孝男,王永涛,白云波.区块链+时代,行业面临的机遇与挑战[J].中国信息安全, 2017(8):100-103.
[20] Kalodner H, Goldfeder S, Chator A, et al. BlockSci: Design and applications of a blockchain analysis platform[J]. 2017.
【通联编辑:代影】