学术咨询服务,正当时......期刊天空网是可靠的职称工作业绩成果学术咨询服务平台!!!

区块链技术与应用前瞻综述

发布时间:2020-02-27所属分类:计算机职称论文浏览:1

摘 要: 摘要区块链技术是一种去中心化、去信任化的分布式数据库技术方案。该数据库由参与系统的所有节点集体维护,具有去中心化、不可篡改、透明、安全等特性。区块链技术归功于比特币应用,它作为比特币的底层技术支持,是比特币系统的核心支撑。区块链技术具有广

  摘要区块链技术是一种去中心化、去信任化的分布式数据库技术方案。该数据库由参与系统的所有节点集体维护,具有去中心化、不可篡改、透明、安全等特性。区块链技术归功于比特币应用,它作为比特币的底层技术支持,是比特币系统的核心支撑。区块链技术具有广阔的发展前景,从关键技术、内容、原理、瓶颈、应用和前景几个方面进行介绍,对相关研究问题进行探讨。

  关键词区块链,比特币,Merkle树,POW共识,智能合约

区块链技术与应用前瞻综述

  2015年是区块链元年,Fintech上近期出现最频繁的一个词语就是“区块链”。区块链的出现始于2008年末一个自称为中本聪(SatoshiNakamom)的人或者团体发表在比特币论坛的一篇论文((Bitcoin:APeer-to-PeerElectronicCashSys—tern)[1]。该文指出区块链技术是构建比特币系统的基础技术,区块链记录着所有元数据和加密交易信息,从而建立了一个完全通过点对点(P2P)技术实现的电子现金系统,此系统使得在线支付的双方不用通过第三方金融机构而直接进行交易。随后比特币系统大行其道,得到越来越多人的关注和研究,区块链技术作为比特币系统的底层技术也得以重视,由此拉开了研究区块链技术的序幕。

  区块链技术是一项新技术,但它不是一种创新技术。它是将许多已有的跨领域的学科整合到一起,从而形成的一种技术,涉及数学、密码学、计算机科学等领域。比特币系统是第一个采用区块链技术作为底层技术构建的系统,它是一个实现了去中心化、去信任化、安全、可靠的电子现金系统。

  区块链技术的迅猛发展引起了政府、金融机构的广泛关注。2016年初,中国央行表态:积极推进官方发表的数字货币。随后中国越来越多的金融以及科研机构开始关注数字货币背后的创新技术,即区块链技术[2;几乎同一时间,英国政府发布区块链专题研究报告,即《分布式账本技术:超越区块链》跚,大力发展区块链在政府中的应用;此外,为在区块链技术发展进程上占得先机,平安集团、招商银行、中国外汇交易中心及民生银行更是加入了R3国际联盟[4』(一家为全球金融市场设计和提供先进的分布式账本技术的金融创新公司)。一切迹象表明区块链技术正受到政府和金融机构的青睐。

  据麦肯锡研究报告[5指出:区块链技术,是继蒸汽机、电力、信息和互联网科技之后,目前最有潜力触发第五轮颠覆性革命浪潮的核心技术。

  目前区块链技术仍然处于萌芽期,特别是在学术方面的研究相对滞后,以谷歌学术和WebofScience为英文数据源的检索结果显示,关于区块链(Blockchain)的相关论文仅有3O多篇,本文列举其中的14篇[。。

  本文将详细介绍和分析区块链的运行原理和关键技术,并探讨区块链的应用和发展趋势。

  1区块链的基础技术

  本节简要介绍与构建区块链相关的基础技术。

  1.1哈希算法哈希(也称为散列)算法将任意长度的输入值映射为较短的固定长度的二进制值。例如,SHA256算法就是将任意长度的输人映射为长度为256位的固定长度输出,这个二进制值称为哈希值(也称为散列值)。数据的哈希值可以检验数据的完整性,一般用于快速查找和加密算法。

  哈希算法广泛应用于区块链中,区块链通常不保存原始数据,而是保存该数据的哈希值,Merkle树中的节点信息是两次SHA256哈希运算得到的。以太坊账户地址,是用Kec—cak-256哈希运算一个公钥得到的;而比特币地址,则是通过SHA256和RIPEMD160哈希运算一个公钥而得到的。此外,签名频繁应用于区块链中,它由私钥和需要被签名的数据经哈希运算而成著名的工作量证明算法、MerMe树都是哈希算法的应用。

  1。2Merkle树

  1.2.1Merkle树

  Merkle树_2是由RalphMerkle发明的一种基于数据哈希构建的树:1)其数据结构是一棵树,一般为二叉树,也可以为多叉树;2)其叶子节点是数据块(如文件或文件集合)的哈希值;3)非叶子节点是其所有子节点的哈希值。

  Merkle树在验证、文件对比中应用较多,特别是在分布式环境下,Merkle树会大大减小数据的传输量和计算的复杂度。

  1.2.2区块链中的Merkle树

  区块链中的每个区块都包含了记录于该区块的所有交易,区块链系统采用二叉树型的Merkle树对这些交易进行归纳表示,同时生成该交易集合的数字签名,如图1所示[1]。Merkle树支持快速地归纳和校验区块中交易的完整性与存在性。

  1.3时间戳服务

  区块链技术的发展受到比特币应用需求的推动。比特币作为数字货币,首先需要解决“重复支付(doublespending)”问题,即一笔货币不能被花费两次或者一笔资金不能出现在两个交易中。中心化的信用系统(例如银行)依靠国家机器的强制力来防止伪钞,而区块链系统完全依靠技术来解决“重复支付”问题。系统给每一笔交易盖上正确的时间戳[24-25],以此证明在这个时刻这笔交易确实发生,交易中资金的所属权已经转移,之前资金所有者再次使用这笔资金时就会报错,从而解决重复支付问题。另外,每一个区块也会盖上正确的时间戳,从而形成一个按时间顺序发展的正确链表。

  1.4工作量证明机制

  工作证明(ProofOfwork,POW),也称为工作量的证明l1]。比特币系统利用POW机制使系统各节点最终达成共识,进而得到最终区块。这里的工作是指找到一个合理的区块哈希值,它需要不断地进行大量的计算,计算时间取决于当前目标的难度和机器的运算速度。当一个节点找到这个值之后,就说明该节点确实经过了大量的计算,这就是工作量证明。由于验证只需对结果值进行一次哈希运算,因此POW的验证效率很高。

  1.5权益证明机制

  相比POW浪费大量的算力,点权益证明(ProofOfStake,POS)仅仅需要少量的计算就能维持区块链的正常运转。这种机制根据货币持有量和时间来分配相应的利息。但是这种机制存在一点不足,即区块的产生没有消耗大量算力,导致这种机制下的货币价值来源难以确定,因为任何区块链系统都可以实现。

  1.6P2P网络技术

  P2P网络技术又称为点对点技术,它是一个没有中心服务器、依靠用户群交换信息的互联网体系。P2P网络由于没有中心化服务器,使得它天生具有耐攻击、高容错的优点;并且各个节点地位平等,服务分散在各个节点上进行,因此部分节点或网络遭到攻击对整个系统几乎没有影响。比特币系统应用P2P技术,使各个节点独立地参与系统,每个节点都是一个独立的个体,单独节点宕机或者遭到攻击都不会对系统造成影响。

  1.7非对称加密技术

  非对称加密需要密钥对即公钥和私钥成对出现。公钥公开、私钥保密,私钥加密的信息只有对应的公钥才能解开,公钥加密的信息只有对应的私钥才能解密,即公钥加密,私钥解密;私钥签名,公钥验证。在比特币系统中,公钥由私钥通过椭圆曲线加密算法生成;交易信息中必须要有正确的数字签名才能验证交易有效。

  2区块链的概念与结构

  2.1定义

  区块链这一概念最早是在中本聪的比特币白皮书…中提出的,但它不是以区块链出现的,而是以工作量证明链(profof-workchain)的形式存在。下面是中本聪对区块链概念的叙述:时间戳服务就是通过对区块中数据项加上时间戳进行哈希,并把这一哈希值广泛地传播出去,就像是新闻或者在世界性新闻网络(Usenet)上的发帖一样。显然,要得到这个哈希值,就需证明在过去的某个时刻加上时间戳的数据必然存在。每个时间戳包含了先前的时间戳,这样就形成了一条链,并且后面的时间戳都对前一个时间戳进行了增强。

  关于区块链的定义,各个机构、权威都给予了不同的定义。

  维基百科中文[2]定义:区块链是一种分布式数据库,起源自比特币。区块链是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一次比特币网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。中本聪创建的第一个区块,即为“创世区块”。

  维基百科英文l2]定义:区块链由包含一系列加盖了时间戳的有效交易的区块组成。每个区块都包含了前一个区块的哈希值,这样就把区块连接在了一起。连接在一起的区块形成区块链,并且每一个随后的区块都是对之前一个区块的增强,因此给它取了一个数据库类型的名字。

  巴比特网站[2。]:区块链是由一串使用密码学方法产生的数据库组成的,每一个区块都包含了上一个区块的哈希值,从创世区块开始连接到当前区块,形成区块链。每一个区块都确保按照时间顺序在上一个区块之后产生,否则前一个区块的哈希值是未知的。这些特征使得比特币的重复支付(doub—le-spending)变得困难。

  以上是不同机构、权威对区块链的定义,虽然有不同,但本质上都一样,即区块链拥有去中心化、去信任化、开放、信息不可更改、匿名、自治的特性。下面总结概括区块链的概念:区块链是指一种电子记录形式的账簿,其中每一个区块是账簿的一页,从第一页“链接”到最新一页。这些区块一旦被确认,几乎不能做修改操作,每个区块包含了当前一段时间内的所有交易信息和区块元数据,如图2所示。

  2.2区块链的发展

  自2009年起,各种各样基于区块链的类比特币的数字货币相继出现,常见的有:bitcoin,litecoin,eth,etc,dogecoin及最新的堪比比特币的零币Zcash。区块链除了在货币上的应用之外,还有各种衍生应用,如文件存储系统Storj、预测市场系统Augur、电子商务系统OpenBazaar、智能合约系统等。

  区块链的进化过程_2。]如下:

  1)区块链1.O——数字货币;

  2)区块链2.O——数字资产与智能合约;

  3)区块链3.0——从DAO,(区块链自治组织、区块链自洽公司)到区块链社会(科学、医疗、教育等)。

  2.3区块链类型

  区块链分为3类l3:公有、私有及行业区块链。私有链和行业链是广义的私链。

  公有区块链(简称公有链)是指任何个体或者团体都共用一条区块链,只要接入此链都可以在上面发送交易,并且交易能够获得该区块链的有效确认,任何团体或个人都可以参与其共识过程。公有区块链是最先出现的区块链,也是目前应用最为广泛的区块链,这类区块链被认为是“完全去中心化”的。

  行业区块链(简称行业链)指共识过程受到某些预选节点控制的区块链。由该行业集体内部首先指定多个预选节点为记账人,每个区块的生成是由所有的预选节点共同决定的(预选节点决定区块链的共识),其他节点只能接入区块链负责交易,但不参与共识过程,任何人都可以通过此区块链对外开放的API进行有限查询。这类区块链被认为是“部分去中心化”的。

  私有区块链(简称私有链)指仅仅使用区块链这一技术进行记账操作,但它不对外公开。它的对象可以是一个公司也可以是个人,单独拥有此区块链的写人权限,或许会对外开放有高度限制的读取权限。目前金融巨头都在探索自己的私有区块链,既应用到区块链的特性,叉能保证安全。

  行业链结合了公有链的完全开放和私有链的高度集中,提供了一种混合折中的模式;而私有链由于完全限制的写人权限和高度受限的读取权限,对于保护个人隐私非常合适。

  2.4区块链的数据结构

  2.4.1区块结构

  区块链技术中,区块是指一种数据结构,它包含两部分:区块元数据和区块体。其中区块元数据记录的是区块的元数据信息,区块体记录的是从上一区块产生到此区块创建之间所发生的所有交易,如表1所列。区块元数据包含区块大小、区块头和交易计数器3部分,如表2所列。

  2.4.2区块头结构

  区块头由两组元数据组成,一组与挖矿有关,包括时间戳、难度目标及Nonce值;另一组则与区块本身有关,包括链接父区块的字段、版本号及Merkle树的根。表3列出了区块头的数据结构[30]。

  将区块中所有交易记录都进行两次哈希运算之后,将结果作为Merkle树的叶子节点,然后递归两个相邻节点的哈希值,直到得到最后一个哈希结果,此哈希值就是Merkle根。

  难度目标Bits是一种特殊的浮点编码类型,占4Byte,首字节是指数,仅用其中的最低5位,后3个字节是尾数,它能够表示256位的数。一个区块头的SHA256哈希值必须小于或等于Bits难度目标才能被整个网络认可,难度目标Bits值越小,产生一个新区块的难度就越大,即目标值越小,得到正确结果的区间就越小,难度就越大。

  Nonce字段是指随机数,各个区块头的值往往不同,但它却是从0开始严格按照线性方式增长的随机数,每次计算都会增长。挖矿就是来寻找一个满足条件的Nonce值。

  2.4.3区块标识符

  每个区块有两种标识符:区块头哈希值和区块高度。这两个字段都没有被真正记录下来,因为这两个字段可以直接被计算出来。

  区块的主标识符是它的区块头哈希值,通过对区块头6个字段进行两次SHA256哈希计算得到数字签名,产生的256位的值被称为区块头哈希值,简称为区块哈希值。例如000000000019d6689cO85ae165831e934ff763ae46a2a6cl72b3f1b60a8ce26堤比特币创世区块的区块哈希值。区块哈希值可以唯一、确切地标识一个区块,并且任何节点都可以对区块头进行独立计算从而得到该区块的哈希值。但是为了方便从磁盘检索区块,可能会把哈希值作为元数据存储在一个独立的数据库表中。

  区块的第2个标识是区块高度,创世区块的高度为0,通过识别该区块在区块链中的“深度”来确定一个区块。每一个之后产生的区块都比当前最新的区块高出一个位置。2016年11月1日的区块高度大约是436867,这说明已经有436867个区块被堆叠在2009年1月创建的这个区块上。

  与区块哈希值不同,区块高度并不是唯一的标识符。虽然一个区块对应着一个确定的高度,反之却不成立,即一个高度并不总能确定一个区块,当区块分又发生时,两个或者多个区块竞争同一高度。

  总之,一个区块的区块哈希值总是能唯一地识别出一个确切的区块。一个区块也有唯一的区块高度。但是,一个特定的区块高度并不是总能唯一地识别出一个特定区块。

  2.4.4创世区

  块创世区块即区块链系统中的第一个区块,例如比特币区块链,它的第一个区块创建于2009年,称之为创世区块。它是比特币系统中所有区块的共同祖先,这意味着比特币区块链中的任一区块都可以回溯到第一个区块。

  比特币创世区块中包含一个隐藏的信息。在其Coinbase中包含这样一句话“TheTimes03/Jan/2009Chancelloronbrinkofsecondbailoutforbanks”,且是泰晤士报当天的头版头条标题,且被留在创世区块里永远不可修改。引用这句话说明区块链的时间戳服务可以用来进行存在性证明,正如上面所说,创世区块记录下了它产生的时间和当时正发生的事件,并且不能被修改。由此可以得到启发,区块链技术将可以用来存储信息,并且是一个存在性证明的最佳技术。

  相关期刊推荐:《计算机科学》主要报导国内外计算机科学与技术的发展动态,涉及面广的方法论与技术,和反映新苗头、能起承先启后作用的研究成果。内容涉及程序理论、计算机软件、计算机网络与信息、数据库、人工智能、人机界面、国际会议、应用等。杂志报导特点是“前沿学科”与“基础研究”相结合;“核心核术”与“支撑技术”相结合;“倡导”与“争鸣”相结合。

2023最新分区查询入口

SCISSCIAHCI