APP下载

浅析区块链技术

2018-01-20郑昌兴

电脑知识与技术 2018年31期
关键词:比特币区块链

郑昌兴

摘要:该文通过对区块链技术的基本概念、主要特性和关键技术与机制的深入分析,认为区块链是综合运用密码学算法和计算机网络技术构建的一种具备新型信任机制的基础架构,它具有去中心化、开放透明性、安全可靠性和准匿名性等主要特征。

关键词:比特币;区块链;工作量证明;P2P网络;哈希算法

中图分类号:TP393        文献标识码:A        文章编号:1009-3044(2018)31-0056-02

The Analysis of BlockchainTechnology

ZHENG Chang-xing

(Political College of National Defence University of People's Liberation Army, Shanghai 201602, China)

Abstract:Through in-depth analysis of the basic concepts, main characteristics and key technologies and mechanisms of blockchain technology, this paper considers that blockchain is a kind of infrastructure with new trust mechanism constructed by using cryptography algorithm and computer network technology. It has decentralized structure. Main features such as openness, transparency, security, reliability and quasi-anonymity.

Key words: Bitcoin; Blockchain; Proof of Work; P2P Network; Hash Algorithm

1 引言

当前,比特币及其衍生的各种数字加密货币受到了前所未有地追捧和热炒,由此也带热了对其底层技术——区块链地深入研究和探讨。比特币是区块链技术迄今为止最为成功的应用,而这仅仅是区块链重要价值的冰山一角。区块链被认为是继互联网之后人类最重要的发明,具有比肩互联网的重要作用和巨大价值,受到了各国政府机构和大型跨国公司的广泛重视,包括英国央行、美国央行、高盛、花旗银行等机构纷纷在区块链上投入巨资,中国央行也于2016年宣布开展基于区块链技术的数字货币的相关研究。尽管当前区块链技术的应用还主要集中在金融服务领域,相信随着认识的深入和应用的推广,区块链技术必将对各行各业产生深远影响。

2 区块链的基本概念与主要特征

区块链的概念早在20世纪90年代初就被区块链的发明者Scott Stornetta和Stuart Haber所提出,2008年,中本聪在其发表的学术论文《比特币:一种点对点的电子现金系统》中提出了基于区块链技术构建比特币系统的理论体系,并于次年将理论付诸于实践,创造了比特币系统的第一个区块——创世区块,并且開发了比特币客户端0.1版。自此,随着比特币价值的攀升和挖矿行为的热炒,区块链这一新词汇也被人们所熟知。

目前,关于区块链并没有统一的定义。百度百科将其定义为:区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式[1];英文维基百科将其定义为:区块链由包含一系列加盖了时间戳的有效交易的区块组成。每个区块都包含了前一个区块的哈希值,这样就把区块连接在了一起。连接在一起的区块形成区块链[2];巴比特网站认为:区块链是由一串使用密码学方法产生的数据库组成的,每一个区块都包含了上一个区块的哈希值,从创世区块开始连接到当前区块,形成区块链[3]。不同的机构基于各自的视角给出的定义各不相同,不一而足,但共性的认识是区块链是基于多种计算机技术组合应用形成的分布式公共账本。这个分布式账本使用区块记录交易记录,区块间彼此链接,形成区块链。区块链本身并不是一种创新的技术,而是一种创新思想的体现。它利用众多已有的计算机网络技术和密码学算法构建了一种创造新型信任机制的基础架构,区块链这种基础架构具有许多重要的特性,主要包括:

(1)去中心化:如何建立信任机制是在商品社会进行商品交换的关键性问题,也是保证交易能够顺利进行的基础。当前是通过权力机构或者大型商业公司等第三方来确保买卖双方即使没有建立信任也能够进行交易,从而形成了对第三方中心性的依赖。这种对于中心化第三方的依赖的一个显而易见的弊端是如果第三方的安全性或者权威性出现问题将会带来非常严重的后果。区块链技术则通过对密码学算法和计算机网络技术的创新应用,构建了一种去中心化的信任机制。去除对单一个体的信任,而是信任全网所有结点,通过全网结点对所有数据的分布式记录、存储来保证数据记录的真实性和不可抵赖性。由于不需要第三方中介或者权威机构背书,所以在去中心化的区块链网络中,单个节点的安全问题无法对整个区块链网络产生根本影响。

(2)开放透明性:区块链技术作为分布式账本技术,其网络上运行的程序、规则、节点接入方式都是公开的,并且典型的区块链网络也是对任意机器开放的,这是形成区块链网络机器信任的基础。网络中每个节点都能够下载存储全网发生的所有历史交易记录完整、一致的账本,参与新的交易的记录和确认,添加区块更新区块链账本,所有的数据记录及操作对于所有节点都是透明的。要网络中的任一节点都可以通过查看整个账本来确认交易的真实性,从而保证了区块链中记录的交易数据可以被全网所有节点审查、追溯。

(3)安全可靠性:区块链本质上是去中心化的分布式数据库,数据复制到整个网络的所有节点上,相当于每一个网络结点都拥有所有数据记录的副本,依靠多数节点间的共识来保持数据的一致性。因此只要节点数目足够多、分布足够分散,就没有一个人或组织能够控制和决定所有节点的行为。实现了全网结点对于账本数据的监督,极大地降低了交易欺诈的风险。要想更改某一区块的数据记录,理论上必须控制51%以上的结点才能实现,而这实践中是非常难于实现或者所付出的代价远大于收益,而且这种控制将摧毁区块链所构建的信任体系,也会受到区块链运行原则的约束和所有参与者的密切监视和防范。因此可以说区块链区块中的信息是不可篡改的,从而保证了区块链数据记录的安全性与可靠性。

(4)准匿名性:在互联网诞生初期,匿名性是其显著属性,但随着线上与线下的互动特别是依赖于第三方中介或权威机构信任机制的网络交易使这种匿名性逐渐变得清晰,因为这种信任机制的建立是与用户现实身份紧密地联系在一起的。在网络社会特别是云计算、大数据等技术的广泛应用使得网络用户不仅无法匿名,甚至个人隐私安全都成为一个突出的问题。而区块链技术所确立的信任机制可以使得交易双方在不了解对方真实身份的情况下进行交易,实现了一定程度的准匿名性。以比特币系统为例,比特币交易是基于加密地址的,只要知道双方的比特币地址就可以进行交易,而无需对交易双方的现实身份进行认证。甚至一个用户可以拥有数个比特币地址,每笔交易使用单独的一个比特币地址进行,从有效降低了利用比特币地址追踪关联现实身份的概率。

3 区块链的关键技术

(1)哈希算法

在区块链中,存储的通常不是原始数据而是数据的哈希值。哈希散列函数能够在有限的时间内将任意长度的消息压缩为固定长度的二进制串,形成对应的哈希值。哈希散列函数具有抗碰撞性,即在现有的计算资源条件下,针对不同的消息在相同哈希函数作用下生成相同的哈希值是不可行的;原像不可逆性,即已知输入值很容易通过哈希函数计算出哈希值,但根据哈希值确无法还原出原来的输入值;难题友好性,即没有任何便捷的方法能够产生一满足要求的哈希值。利用哈希散列函数良好的抗碰撞性、原像不可逆性和难题友好性等特性能够有效保证存储于区块链中数据的安全性与完整性。在比特币系统中,主要使用了两个密码学哈希函数SHA256和RIPEMD160。RIPEMD160主要用于生成比特币地址,而在区块和区块链的定义和构造中主要使用的SHA256。

(2)P2P网络技术

区块链系统建立在IP通信协议和分布式网络的基础上,采用P2P网络技术构建节点网络。所谓P2P网络(peer-to-peer network,对等网络)是一种在对等者(peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式[4]。在P2P网络中所有的节点具有同等的地位,不存在任何特殊化的中心节点和层级结构,每个节点均会承担网络路由、验证数据区块等功能,服务分散在各个节点上进行,每个节点都既是服务的请求者也是服务的提供者。P2P网络技术的应用是区块链实现去中心化非常重要的一环,正是由于P2P网络中没有中心节点和层级结构,使得其具有抗攻击、高容错的优势,个别节点宕机或者遭受攻击不会对整个区块链网络产生根本性的影响。

(3)共识机制

区块链本质上是基于互联网的去中心化的分布式记账系统。在没有中心控制保证节点诚实记账以及记账数据一致性的情况下,在互相没有信任基础的结点之间就交易数据的合法性等达成共识就成为了区块链系统首要解决的问题。目前区块链的共识机制主要包括工作量证明(Proof of Work, PoW)、权益证明(Proof of Stake, PoS)、股份授权证明(Delegated Proof of Stake,DPoS)和分布式一致性算法等,这里主要介绍工作量证明和权益证明两种共识机制。

工作量证明是比特币系统所采用的共识机制。所谓工作指各个节点通过算力竞争寻找一个符合特定要求的区块哈希值,而相关区块哈希值难于计算却容易验证。如果某个结点找一个适合的哈希值并通过验证,那么就证明它确实经过了大量的计算,这就是工作量证明,通过工作量证明可以取得区块的记账权并获得相应的系统币值奖励和交易费用。工作量证明具有完全去中心化、结点可以自由进出的优点,但也存在算力资源浪费巨大、达成共识时间周期过长的缺陷。针对以上问题权益证明进行了改进,权益证明是一种要求节点通过提供拥有一定数量的代币证明来竞争区块链记账权的分布式共识机制。但如果单纯依靠代币数量来决定记账权的归属必然使富有者胜出,从而导致记账权的中心化、降低共识的公正性,因此不同的PoS机制在权益证明的基础上,采用不同方式来增加记账权的随机性来避免中心化。

(4)数字时间戳

数字时间戳为基于区块链的应用提供了一个时间维度,使得数据记录更容易核查、追溯,同时也提供了交易记录的存在性证明,从而保证了数据的不可篡改和不可伪造性。数字时间戳技术本身并不复杂,所谓时间戳是指从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数,通常用一个字符序列表示,唯一地标识某一刻的时间。数字货币是区块链的典型应用,与传统货币是物理实体、具有客观唯一性不同,数字货币是虚拟的、不可见的。在不借助任何第三方中介或者权威机构的情况下能否解决双重支付问题是数字货币生死攸关的问题。所谓双重支付又称为“双花”,是指利用数字货币的虚拟属性用“同一笔钱”完成两次或者多次支付。区块链技术通过加盖数字时间戳、加上验证数字货币是否满足UTXO(未花费交易)和数字签名,有效解决了双重支付的问题。

(5)非对稱密钥技术

在区块链系统中,使用非对称密钥技术来对网络中传递的消息进行加密和数字签名,以确保消息的秘密性和实现交易双方的不可抵赖性。与传统加密算法加解密密钥一致不同,非对称密钥技术是利用特定的数学函数生成一对数学上相关的密钥,使用其中一个密钥进行加密的信息,只有使用另一个密钥才能进行解密。这对密钥中,对外公开的密钥叫作公钥,不公开的密钥就叫作私钥。发送方使用接收方的公钥对传递的信息进行加密以保证秘密性,因为只有接受方的私钥能够解密;发送方也可以使用私钥对发送的信息进行签名,以让接受方相信信息是自己发出的,因为只有利用发送方的公钥才能解密,别人不知道私钥无法伪造,同时发送方也无法抵赖否认自己发送相应的信息。在比特币系统中,使用的非对称密钥技术是椭圆曲线加密算法。

4 小结

深入理解区块链技术是开展和推广区块链应用的基础,本文通过深入分析区块链技术的基本概念、主要特性和关键技术与机制,认为区块链本身并不是一种新的技术,而是一种创新思想的体现,它综合运用密码学算法和计算机网络技术构建的一种具备新型信任机制的基础架构,它具有去中心化、开放透明性、安全可靠性和准匿名性等主要特性,而这些特性正是其颠覆性价值的根本所在。

参考文献:

[1] 区块链[EB/OL]. https://baike.baidu.com/item/区块链/13465666, 2018-10-15.

[2] Blockchain[EB/OL].http://en.wikipedia.org/wiki/Blockchain_(database), 2018-10-15.

[3] 巴比特. 区块链是什么[EB/OL]. www.8btc.com/what-is-blockchain.

[4] 邹均,张海宁,唐屹,等.区块链技术指南[M].北京:机械工业出版社,2016.

猜你喜欢

比特币区块链
比特币浅析
区块链技术的应用价值分析
“区块链”的苟且、诗和远方
用“区块链”助推中企走出去