区块链技术原理、应用及建议

2016-12-15 02:47
软件 2016年11期
关键词:哈希比特加密

张 偲

(北京邮电大学 经济管理学院,100876)

区块链技术原理、应用及建议

张 偲

(北京邮电大学 经济管理学院,100876)

比特币等加密数字货币的普及引发了关于其底层区块链技术的研究热潮,引起了政府部门、行业协会、金融机构等各行各业对区块链的广泛关注。本文主要以比特币为例,介绍了区块链的基本概念和特点,阐述了其技术原理及应用价值,分析了其潜在问题并针对区块链技术未来的发展提出了相应建议。

区块链; 数字加密货币; 技术原理

本文著录格式:张偲. 区块链技术原理、应用及建议[J]. 软件,2016,37(11):51-54

0 引言

2016年1月20日,中国人民银行数字货币研讨会在北京召开,会议肯定了数字货币在降低传统货币发行、流通成本,提高经济活动便利性和透明度等方面的价值,同时表示争取早日推出央行发行的数字货币。据统计,截止2016年9月26日,市场存在的加密数字货币种类达到了682种,总市值达119.6亿美元,其中以比特币最具代表性,占到了79%。

虽然各界对比特币的态度褒贬不一,但作为支持比特币发行和交易的底层技术,区块链正逐渐成为各行各业研究的热点。全球有24个国家正在投资区块链技术,90多个中央银行加入了区块链讨论,90多个公司加入了区块链联盟。在过去三年里,区块链的风险投资超过了14亿美元,区块链相关专利达2500多项。关于区块链的研究和讨论呈现出爆发式增长的态势,被认为是继大型计算机、个人电脑、互联网、移动/社交网络之后计算范式的第五次颠覆式创新,是人类信用进化史上继血亲信用、贵金属信用、央行纸币信用之后的第四里程碑。[1]

1 区块链基本概念和特点

1.1 区块链的基本概念

区块链脱胎于比特币,区块链的概念最早出现在中本聪的文章《比特币:一种点对点的电子现金系统》中。文中指出,在传统的交易中由于交易双方互相不信任,因此需要国家信用背书(比如央行)或企业背书(比如支付宝)的第三方机构。第三方机构的存在增加了交易费用,扩大不必要的交易规模,产生了交易时滞,降低了交易的效率。通过数字签名对电子货币进行加密可以解决电子货币交易双方的身份问题,无须第三方机构进行监管。区块链技术的出现则进一步解决了数字加密货币长期以来面临的两个问题:即双重支付问题和拜占庭将军

问题,实现了交易双方之间的直接支付,逐步实现了去中心化、去中介的过程,极大地提升了交易效率,降低了交易成本,标志着中心化的国家信用向去中心化的算法信用的根本性变革。

区块链(Blockchain),也叫分布式总账技术,是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块(block),每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接(chain)下一个数据库块。以比特币为例,区块链技术中每一个数据块由区块体和区块头构成,区块体包含了过去十分钟内所有的比特币交易信息,区块头存储前一个区块的引用,区块以类似链表的数据结构存储起来,形成从创世区块到当前区块的一条最长的主链,从而记录了所有比特币交易记录。因此有人也将区块链技术一种分布式去中心化的公共总账本。

1.2 区块链的特点

从区块链的定义看,区块链是一个由去中心化的网络中各个节点共同维护的分布式数据库。我们知道传统中心式数据库有增、删、改、查四种操作,可以被概括为CRUD,C(create)代表创建,R(read)代表读取,U(update)代表更新,D(delete)代表删除。区块链技术的分布式数据库摒弃了传统数据库更新(U)和删除(D)的操作,为这种崭新的数据库赋予其两个重要的特点,即“不可篡改”和“不可抵赖”,卿苏德博士将这种特点概括为CROSS。C(create)依然代表创建,R(Retrieve)被重新定义为可溯源,各区块严格按时间顺序组合成链,相邻区块间严密的逻辑关系保证了数据库的可追溯性。O(open)代表开放,区块链的数据依托去中心化的P2P网络对网络中的所有节点开放,任何人都可以通过公开的接口参与记账。第一个S(safe)代表安全,区块链依靠现代密码学的非对称加密技术,保证了交易信息的匿名性和安全性,依赖一种称为工作量证明机制(Proof of work)的共识过程确保证了区块链数据的不可篡改。第二个S(Steady)代表稳定,区块链的数据在P2P网络中分布式产生、分布式传播、分布式存储,每一个节点都存储了完整的数据记录。因此如果部分节点出现故障,只要存在一个正常运行的节点,都不会影响区块数据的更新。毫无疑问,这种“去中心化”的存储模式比云存储这种多重存储与备份的“多中心化”的模式具有更高的稳定性。

综上,区块链的特征可以概括为以下几点:(1)去中心化:整个网络中不存在中心化的管理机构,而是一种分布式端到端的网络结构,网络中各节点的权限对等;(2)自治性:采用基于协商一致的规范和协议使得整个所有节点能够在去信任的环境自由安全地交换数据;(3)安全可信:采用非对称密码学技术对交易数据进行加密,同时借助工作量证明机制保证数据理论上难以篡改;(4)公开透明:所有的交易记录在全网公开透明,打破了信息不对称。

2 区块链的技术原理

随着在不同场景和行业中的应用,区块链技术也被进行了相应的改造。但其核心技术架构中主要用到的基础技术——P2P网路、非对称加密、哈希算法、工作量证明(PoW,Proof of Work)机制。下面对这几种技术在区块链中的使用进行介绍。

2.1 相关基础技术

(1)P2P网络

区别于由服务器和客户端组成的网络结构,P2P网络中每个节点地位平等,客户端之间直接进行通信[3]。P2P网络分为有结构和无结构两种,有结构的P2P网络采用一致性哈希表构建每个节点的路由表,无结构的P2P网络中节点之间路由的方式为广播式,每个节点都向其邻居节点读取和发送数据,以此在网络中进行数据的传递和广播。区块链采用的就是这种无结构的P2P网络,在这种网路结构下,数据的加密和验证就显得格外重要。

(2)非对称加密与数字签名

非对称加密使用一对公钥私钥对信息进行加密,特点是公钥可以由私钥生成,公钥加密的内容,对应的私钥才能解密[2]。私钥加密的内容,对用的公钥才能解密。数字签名保证了信息传输的安全性[4],信息的发送者将信息进行摘要后进行哈希操作作为数字签名附在末尾,再使用私钥对文本进行加密,接受者收到信息后使用公钥对文本进行解密,再对摘要进行同样的哈希操作,与数字签名进行对比,一致则说明未被篡改。

(3)哈希算法

哈希算法,也称散列函数,用于将一列任意长度的值映射成一组固定长度的值,称为哈希值。哈希算法有四个重要的性质:(1)单向性,几乎不能通过哈希值反推输入值;(2)定时性,不同长度的输入得到哈希值的时间大致相同;(3)定长性,输

出长度固定;(4)随机性,输入稍有变化输出哈希值千差万别。区块链采用的就是双SHA256哈希函数,任意长度的数据经过两次SHA256哈希运算得到长度为256为的哈希值。

(4)工作量证明机制

比特币的区块链采用工作量证明机制来保证去中心化网络中数据的一致性,节点通过解决一个求解复杂但容易验证的数学难题来竞争获得区块链的记账权,该过程称为“挖矿”,获得区块链记账权的节点(也称为矿工)将获得一定的比特币奖励。该数学难题为:通过寻找一个随机数使得区块头的双哈希值小于或等于一个目标哈希值。目标哈希值通常由多个前导零构成,前导零越多,目标哈希值越小,找到满足要求的随机数的难度越大。比特币系统通过动态规定前导零的个数调整随机数的搜索难度,以此来控制区块平均生成时间为10分钟/个。

如果有两个节点同时取得了记账权,此时会有多个节点在网络中广播他们打包好的区块,某节点若收到多个针对同一前续区块的后续临时区块,区块链主链会出现暂时的分支,随着区块链的持续生成,系统会选择工作量最多,也就是区块链高度最高的区块链作为主链进行延续。

2.2 区块链的数据结构

区块链以区块为单位组织数据,每个区块由区块头和区块体组成,如图1所示,区块头包含了当前区块的版本号,前一区块的地址,时间戳,当前区块的目标哈希值,满足条件的随机数以及记录了当前区块所有交易MerKle树的根节点的哈希值,区块之间按时间顺序前后相连形成链式结构。区块体记录了一段时间内区块的交易(包括一个用于奖励获得记账权的矿工的coninbase交易)以及经过验证的、区块创建过程中生成的所有交易记录,这些交易记录将构建成Merkle二叉树这样的结构,如果交易记录是奇数,则由二叉树自己填补,二叉树的两个交易记录的哈希值串联作为下一个二叉树的输入,最终生成唯一的Merkle根节点并写入区块头。根据哈希算法的随机性,如果交易记录被篡改,则Merkle根节点的哈希值将千差万别,其他节点很快就能发现问题,提高了检验的效率。

3 区块链的应用展望

目前对区块链技术的应用还很有限,主要集中在金融领域,以比特币、以太坊、Ripple和莱特币为代表的数字货币是区块链技术最广泛的应用。据CoinDesk统计,目前全球约有6万家商家接受比特币交易,中国是比特币交易增长最为迅速的国家。除此之外,2015年12月30日,纳斯达克首次在个股交易上运用了区块链技术。伴随着区块链技术的发展,其分布式、去中心化的特点将赋予各行各业无限的可能。

图1 区块链的数据结构

(1)通信领域

传统通信工具的设计思路都是在所有节点中找到最短或者最快的路径把信息复制过去。区块链分布式和去中心化的特征则完全可以颠覆这种设计思想,依托P2P的网络结构、非对称加密技术和数字签名,信息的内容在全网进行广播,网络中的节点都可以收到信息,只有拥有钥匙的人才能打开,实现信息传输功能的同时保证了安全性和匿名性。

(2)公证领域

区块信息的不可篡改和伪造特征可以用于对文件或者数据资料进行公证,不在依赖公证公司提供信用。洪都拉斯、希腊等国已将区块链技术应用于房屋产权证明领域。BitProof通过区块链服务,把学生的学历证书颁布到区块链上,让文凭无法作假。

(3)投票领域

将区块链技术用于投票可在大大降低投票的成本的同时还保证安全性,难以作假,特别是针对西方国家的选举和公投等成本高昂的投票活动。美国区块链技术公司(Blockchain Technology Corporation,BTC)做了基于区块链技术的投票机,有望用于美国大选。纳斯达克已经宣布使用区块链技术代替原来的传统投票方式来进行股东投票。

(4)能源领域

通常情况下,用电企业或个人通过电力公司获得电力。即使个体能源生产者通过太阳能、风力等产生剩余电力也须通过电力公司统一购买,再统一转售给用电企业或个人,用电效率不高。随着“输

配放开、调度独立、售电侧放开、交易平台独立”的电力改革的全面实施,给区块链技术在能源领域的应用带来新的契机。使用区块链技术可以摆脱中间方完全实现需求侧和供给侧的自主交易。

4 区块链的潜在问题

区块链作为一种尚未成熟的技术,有着广阔的发展前景,同时也存在安全、效率、资源等各方面的问题。

(1)安全问题

51%攻击是目前区块链技术面临的最大威胁,PoW的证明机制决定了如果有节点掌握了的区块链中超过51%的算力就可以篡改和伪造数据。此外,区块链采用了非对称加密的技术进行信息交互,但是随着密码学、数学以及计算能力的提升,非对称加密算法也有被破解的风险。事实上,尚未成熟的区块链技术已经有了被攻击的记录。2011年6月,Allinvain被盗走了25000个比特币,成为比特币历史上第一个因为黑客攻击而遭受重大损失的玩家。2012年9月,比特币平台Bitfloor被一个黑客成功攻破,损失24000个比特币,Bitfloor平台也于2013年4月被迫关闭。2016年6月,基于区块链技术的全球最大众筹项目The Dao被黑客攻击,导致价值6000万美元的360多万以太币被劫持,引起业内震动和高度关注。

(2)效率问题

以比特区块链为例,相比较于VISA信用卡每秒10000比交易的处理能力,比特币区块链每秒仅能支持7笔交易的处理。另外,比特币区块生成时间控制在了10分钟/个,交易智能在10分钟以后才能被确认。对于一些小额高频或者时间敏感的交易情景,区块链将受到很大限制。

(3)资源问题

区块链的PoW证明机制解决了比特币发行、交易和验证的功能,一定程度上保证了系统的安全性。但是每次只有一个矿工获得记账权意味着其他矿工的计算能力都被浪费,而且各节点的算力主要用来解决一个没有实际意义的纯数学问题。其次,区块链消息的广播容易带来广播风暴,大量消耗底层网络的带宽,导致网络性能下降甚至瘫痪。此外,随着比特币的普及以及专业挖矿设备的出现,大量的电力资源也被消耗。据报道,东北一家挖矿工程2500台矿机每月运行消耗的电力就达到40万人民币。

5 建议

区块链技术在各行各业的应用证明了其价值,但是具体到很多应用如何落地,如何与企业整合提高生产力还需要不断摸索,要产生真正的影响仍需要时间。政府、行业协会、企业要辩证看待这种创新技术,积极研究、正确引导促进区块链技术发挥其潜力。

(1)政府方面要对区块链技术有正确的认知,发挥统筹作用,组织相关专家研究区块链技术的本质及发展趋势,挖掘潜在价值。同时要加快制定相关法律法规,将区块链技术纳入合适的监管框架,引导产业健康发展。

(2)金融机构要积极参与数字货币背后的技术创新研究,加入区块链产品开发的行列,优化现有业务流程、提高金融机构竞争力。

(3)行业协会要促进区块链行业标准、国家标准的制定,培育区块链开源生态,促进源代码的开放与协作,构架区块链开源社区,增强我国在区块链领域的话语权和影响力。

(4)科研机构针对区块链技术的潜在问题,加强密码学等相关学科的研究,设计更合理的共识机制发挥区块链技术的计算能力解决有实际意义的问题,不断对区块链技术进行改进。

[1] 袁勇, 王飞跃. 区块链发展技术现状与展望[J]. 自动化学报, 2016(04).

[2] 林明星. 数据加密技术的具体应用[J]. 软件, 2014. 35(1): 100.

[3] 周洁. 一种基于时间信誉和风险的P2P网络信任模型的研究[J]. 软件, 2014, 35(1): 53-54.

[4] 吴文焕. Android应用程序数字签名机制研究[J]. 软件, 2014, 35(2): 109-110.

[5] 宋湘燕, 黄珊. 区块链技术在商业银行的应用前景[N]. 金融时报, 2015-12-21(7).

[6] 储丽. 区块链让比特币重塑金融未来[J]. 微商, 2015(11).

[7] 益言. 区块链的发展现状、银行面临的挑战及对策分析[J].金融会计, 2016(04).

[8] 何广锋, 黄未晞. 区块链技术本质以及对金融业的影响[J].互联网金融, 2016(04).

The Technology Principle, Application and Suggestion of Block Chain

ZHANG Cai
(College of Economics and Management, Beijing University of Posts and Telecommunications, Beijing 100876, China)

The popularity of digital currency, such as bitcoin, has triggered a boom in research on its underlying block chain technology, which has attracted wide attention from government departments, industry associations, financial institutions, and other industries. In this paper we take bitcoin as an example, introduces the basic concepts and characteristics of the block chain, expounds the technology principle and application value, analyzes the potential problems and the development of block chain technology in the future. In the end, we puts forward some corresponding suggestions.

Block chain; Digital encryption currency

TP391.41

A

10.3969/j.issn.1003-6970.2016.11.012

张偲,男,(1992-),研究生,主要研究方向:企业信息化。

猜你喜欢
哈希比特加密
一种基于熵的混沌加密小波变换水印算法
比特币还能投资吗
比特币一年涨135%重回5530元
认证加密的研究进展
基于维度分解的哈希多维快速流分类算法
基于ECC加密的电子商务系统
基于格的公钥加密与证书基加密
基于同态哈希函数的云数据完整性验证算法
一种基于Bigram二级哈希的中文索引结构
多个超导磁通量子比特的可控耦合