小白入门区块链技术与应用展望(有参考文献)

区块链技术的技术原理与应用展望

     区块链技术是一种去中心化,去信任的分布式数据库技术方案。该数据库由参与系统的所有节点集体维护,具有去中心化,不可篡改,透明,安全等特性。随着比特币数字加密货币的日益普及,区块链技术已经引起政府部门、金融、科技企业和资本市场的高度重视与广泛关注。本文主要讲述区块链的发展现状、基本原理、技术方法和未来展望,并对区块链的优势与不足以及已经可能应用的场景进行总结。


目录

1引言

2区块链技术原理

     2.1数据层

          2.1.1 区块数据结构

          2.1.2 区块头数据结构

     2.2网络层

     2.3共识层

     2.4合约层

     2.5应用层

3区块链的应用与展望

     3.1区块链的实际应用

     3.2区块链的现存问题

          3.2.1效率问题

          3.2.2资源问题

          3.2.3隐私问题

     3.3未来展望

          3.3.1金融领域的角度

          3.3.2市场应用的角度

          3.3.3社会结构的角度

4总结及展望

参考文献


1引言

     区块链技术起源2008年由化名为”中本聪”(Satoshi nakamoto)的学者在密码学邮件组发表的奠基性论文《比特币: 一种点对点电子现金系统》,目前尚未形成行业公认的区块链定义。狭义来讲,区块链是一种按照时间顺序将数据区块以链条的方式组合成特定数据结构,并以密码学方式保证的不可篡改和不可伪造的去中心化共享总账(Decentralized shared ledger),能够安全存储简单的、有先后关系的、能在系统内验证的数据。广义的区块链技术则是利用加密链式区块结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用自动化脚本代码 (智能合约) 来编程和操作数据的一种全新的去中心化基础架构与分布式计算范式[1]。

     区块链技术是一项新技术,但它不是一种创新技术。它是将许多已有的跨领域的学科整合到一起,从而形成的一种技术,涉及数学、密码学、能源[2]、计算机科学等领域。比特币系统是第一个采用区块链技术作为底层技术构建的系统,它是一个实现了去中心化、去信任化、安全、可靠的电子现金系统。区块链技术的迅猛发展引起了政府、金融机构的广泛关注。2016年初,中国央行表态:积极推进官方发表的数字货币。随后中国越来越多的金融以及科研机构开始关注数字货币背后的创新技术,即区块链技术;几乎同一时间,英国政府发布区块链专题研究报告,即《分布式账本技术:超越区块链》,大力发展区块链在政府中的应用;此外,为在区块链技术发展进程上占得先机,平安集团、招商银行、中国外汇交易中心及民生银行更是加入了R3国际联盟(一家为全球金融市场设计和提供先进的分布式账本技术的金融创新公司)。一切迹象表明区块链技术正受到政府和金融机构的青睐。据麦肯锡研究报告指出:区块链技术,是继蒸汽机、电力、信息和互联网科技之后,目前最有潜力触发第五轮颠覆性革命浪潮的核心技术[3]。

     比特币是迄今为止最为成功的区块链应用场景[4]。据区块链实时监控网站 Blockchain.info 统计显示,平均每天有约7500万美元的120000笔交易被写入比特币区块链,目前已生成超过40万个区块.加密货币市值统计网站 coinmarketcap.com 显示,截止到2016年2月,全球共有675种加密货币,总市值超过67亿美元,其中比特币市值约占 86%,瑞波币和以太币分别居二、 三位. 目前比特币供应量 (即已经挖出的比特币数量) 已经超过 1 500 万枚,按照每枚比特币389.50美元的现行价格估算其总市值已超过59亿美元,在世界各国2015年GDP排名中占据第144位(略低于欧洲的摩尔多瓦)。换言之,在没有政府和中央银行信用背书的情况下,去中心化的比特币已经依靠算法信用创造出与欧洲小国体量相当的全球性经济体。预计到2027年,全球10 %的GDP将会通过区块链技术存储[1]。本文系统地梳理了区块链技术的发展历程、经济效应、社会影响、技术原理、核心特点及其相关应用和存在的问题,为以后的研究提供启发和借鉴。

2区块链技术原理

     从最早应用区块链技术的比特币到最先在区块链引入智能合约的以太坊,再到应用最广的联盟链Hyperledger Fabric,它们尽管在具体实现上各有不同,但在整体体系架构上存在着诸多共性。如图1所示,区块链平台整体上可划分为网络层、共识层、数据层、智能合约层和应用层五个层次。
小白入门区块链技术与应用展望(有参考文献)_第1张图片
图1区块链的体系结构

2.1数据层

2.1.1 区块数据结构

     区块链技术中,区块是指一种数据结构,它包含两部分:区块元数据和区块体。其中区块元数据记录的是区块的元数据信息,区块体记录的是从上一区块产生到此区块创建之间所发生的所有交易,如表1所列。区块元数据包含区块大小、区块头和交易计数器3部分,如表2所列。
表1区块结构
小白入门区块链技术与应用展望(有参考文献)_第2张图片
表2区块元数据
小白入门区块链技术与应用展望(有参考文献)_第3张图片

2.1.2 区块头数据结构

     区块头由两组元数据组成,一组与挖矿有关,包括时间戳、难度目标及Nonce值;另一组则与区块本身有关,包括链接父区块的字段、版本号及Merkle树的根。表3列出了区块头的数据结构。
表3 区块头结构
小白入门区块链技术与应用展望(有参考文献)_第4张图片
     将区块中所有交易记录都进行两次哈希运算之后,将结果作为Merkle树[5]的叶子节点,然后递归两个相邻节点的哈希值,直到得到最后一个哈希结果,此哈希值就是Merkle根。
     难度目标Bits[6]是一种特殊的浮点编码类型,占4Byte,首字节是指数,仅用其中的最低5位,后3个字节是尾数,它能够表示256位的数。一个区块头的SHA256哈希值必须小于或等于Bits难度目标才能被整个网络认可,难度目标Bits值越小,产生一个新区块的难度就越大,即目标值越小,得到正确结果的区间就越小,难度就越大。
Nonce字段[6]是指随机数,各个区块头的值往往不同,但它却是从0开始严格按照线性方式增长的随机数,每次计算都会增长。挖矿就是来寻找一个满足条件的Nonce值[3]。

2.2网络层

     网络层封装了区块链系统的组网方式、 消息传播协议和数据验证机制等要素。结合实际应用需求,通过设计特定的传播协议和数据验证机制,可使得区块链系统中每一个节点都能参与区块数据的校验和记账过程, 仅当区块数据通过全网大部分节点验证后, 才能记入区块链。
     组网方式: 区块链系统的节点一般具有分布式、自治性、 开放可自由进出等特性, 因而一般采用对等式网络 (Peer-to-peer network, P2P 网络) 来组织散布全球的参与数据验证和记账的节点。 P2P 网络中的每个节点均地位对等且以扁平式拓扑结构相互连通和交互, 不存在任何中心化的特殊节点和层级结构, 每个节点均会承担网络路由、 验证区块数据、传播区块数据、发现新节点等功能。
     数据传播协议: 任一区块数据生成后,将由生成该数据的节点广播到全网其他所有的节点来加以验证。如果交易节点是与其他节点无连接的新节点,比特币系统通常会将一组长期稳定运行的”种子节点"推荐给新节点建立连接,或者推荐至少一个节点连接到新节点。此外,交易数据广播时,并不需要全部节点均接收到, 而是只要足够多的节点做出响应即可整合进入区块账本中。未接收到特定交易数据的节点则可向邻近节点请求下载该缺失的交易数据。
     数据验证机制: P2P 网络中的每个节点都时刻监听比特币网络中广播的数据与新区块。节点接收到邻近节点发来的数据后,将首先验证该数据的有效性。 如果数据有效,则按照接收顺序为新数据建立存储池以暂存尚未记入区块的有效数据,同时继续向邻近节点转发; 如果数据无效, 则立即废弃该数据, 从而保证无效数据不会在区块链网络继续传播。
     由网络层设计机理可见, 区块链是典型的分布式大数据技术。 全网数据同时存储于去中心化系统的所有节点上,即使部分节点失效,只要仍存在一个正常运行的节点,区块链主链数据就可完全恢复而不会影响后续区块数据的记录与更新。这种高度分散化的区块存储模式与云存储模式的区别在于,后者是基于中心化结构基础上的多重存储和多重数据备份模式,即”多中心化" 模式;而前者则是完全”去中心化" 的存储模式,具有更高的数据安全性[1]。

2.3共识层

     如何在分布式系统中高效地达成共识是分布式计算领域的重要研究问题。正如社会系统中”民主”和”集中”的对立关系相似,决策权越分散的系统达成共识的效率越低、但系统稳定性和满意度越高; 而决策权越集中的系统更易达成共识,但同时更易出现专制和独裁。区块链技术的核心优势之一就是能够在决策权高度分散的去中心化系统中使得各节点高效地针对区块数据的有效性达成共识。
     早期的比特币区块链采用高度依赖节点算力的工作量证明(Proof of work, PoW)机制来保证比特币网络分布式记账的一致性。随着区块链技术的发展和各种竞争币的相继涌现,研究者提出多种不依赖算力而能够达成共识的机制,例如点点币首创的权益证明(Proof of stake, PoS)共识和比特股首创的授权股份证明机制(Delegated proof of stake,DPOS)共识机制等。区块链共识层即封装了这些共识机制。除上述三种主流共识机制外,实际区块链应用中也衍生出了PoW+PoS、行动证明(Proof of activity)等多个变种机制。这些共识机制各有优劣势,比特币的 PoW 共识机制依靠其先发优势已经形成成熟的挖矿产业链, 支持者众多, 而PoS和DPoS等新兴机制则更为安全、 环保和高效,从而使得共识机制的选择问题成为区块链系统研究者最不易达成共识的问题。

2.4合约层

     合约层封装区块链系统的各类脚本代码、算法以及由此生成的更为复杂的智能合约。如果说数据、网络和共识三个层次作为区块链底层”虚拟机”分别承担数据表示、数据传播和数据验证功能的话,合约层则是建立在区块链虚拟机之上的商业逻辑和算法,是实现区块链系统灵活编程和操作数据的基础[7]。
智能合约是一种用算法和程序来编制合同条款、部署在区块链上且可按照规则自动执行的数字化协议。该概念早在1994年由Szabo提出,起初被定义为一套以数字形式定义的承诺,包括合约参与方执行这些承诺所需的协议,其初衷是将智能合约内置到物理实体以创造各种灵活可控的智能资产。由于早期计算条件的限制和应用场景的缺失,智能合约并未受到研究者的广泛关注,直到区块链技术出现之后,智能合约才被重新定义。区块链实现了去中心化的存储,智能合约在其基础上则实现了去中心化的计算。

2.5应用层

     比特币平台上的应用主要是基于比特币的数字货币交易。以太坊除了基于以太币的数字货币交易外,还支持去中心化应用(Decentralized Application,Dapp),Dapp是由Javascript构建的WEB前端应用,通过Json-RPC与运行在以太坊节点上的智能合约进行通信。Hyperledger Fabric主要面向企业级的区块链应用,并没有提供数字货币,其应用可基于Go、Javc、Python、Node.js等语言的SDK构建,并通过gRPC或REST与运行在 Hyperledger Fabric节点上的智能合约进行通信。

3区块链的应用与展望

3.1区块链的实际应用

     前文系统地介绍了区块链技术,有了一个比较全面的系统性概念之后,可以更为深入地研究基于区块链技术的应用。目前的区块链应用都具有相似的架构,各家的重心在于研发不同的应用[8]。比特币是经典区块链应用,所使用的区块链技术十分具有研究学习价值。然而,比特币本身作为一种数字货币来说存在局限性,虽然可以用很低的成本开发出其他的数字货币(实际市面上存在很多类似的竞争币),但是很难开发出除了数字货币之外的应用。以太坊是另一个使用区块链技术的产品,不仅在底层解决了区块链原有的一些问题,更是把区块链技术进行封装,降低区块链和具体上层应用的耦合性。以太坊提供功能强大的智能合约语言来进行应用的设计,开发者们通过部署智能合约可以方便快捷地开发区块链应用。以太坊的最终目标是将所有节点连接起来,成为一台拥有恐怖算力的虚拟机,虚拟机上运行着各种各样的分布式应用,彻底改变现有的网络架构[8]。
     另外,根据区块链技术的应用现状,可将目前主要应用分为数字货币、数据存储、数据鉴证、金融交易、资产管理和选举投票共六个场景[1]。数据存储主要是根据区块链的高冗余存储 (每个节点存储一份数据)、去中心化、高安全性和隐私保护等特点使其特别适合存储和保护重要隐私数据,以避免因中心化机构遭受攻击或权限管理不当而造成的大规模数据丢失或泄露。数据鉴证: 区块链数据带有时间戳、由共识节点共同验证和记录、 不可篡改和伪造,这些特点使得区块链可广泛应用于各类数据公证和审计场景。金融交易: 区块链技术与金融市场应用有非常高的契合度。区块链可以在去中心化系统中自发地产生信用,能够建立无中心机构信用背书的金融市场,从而在很大程度上实现了”金融脱媒”, 这对第三方支付、资金托管等存在中介机构的商业模式来说是颠覆性的变革。资产管理: 区块链在资产管理领域的应用具有广泛前景,能够实现有形和无形资产的确权、授权和实时监控。对于无形资产来说,基于时间戳技术和不可篡改等特点,可以将区块链技术应用于知识产权保护、域名管理、积分管理等领域; 而对有形资产来说, 通过结合物联网技术为资产设计唯一标识并部署到区块链上, 能够形成”数字智能资产”, 实现基于区块链的分布式资产授权和控制。选举投票: 投票是区块链技术在政治事务中的代表性应用。基于区块链的分布式共识验证、不可篡改等特点, 可以低成本高效地实现政治选举、企业股东投票等应用; 同时, 区块链也支持用户个体对特定议题的投票。

3.2区块链的现存问题

     尽管区块链技术受到各界人士的广泛认可,但不可否认的是,区块链还处于发展初期,还有许多亟待解决的问题,本节对目前关乎区块链技术普及的主要问题进行描述。

3.2.1效率问题

     首先是交易效率问题,以比特币为例,一秒只能处理7笔交易,而确定交易则要等待下一个区块产生,平均为10 min。这种交易效率远远无法满足需求,虽然现在有了些研究成果,如闪电网络(lightning-network),但仍然缺少全面解决效率问题的方法。其次是同步时间问题,截至目前为止,比特币网络已经有43万个区块被开采出来,新添加进网络的节点同步账本所花费的时间就长达几天。如果没有改进的方案,时间越往后增加,新节点的代价就越大,甚至会阻碍区块链网络的扩张。并且,分布式账本[9]数据量问题也不容忽视,分布式记账本记录了整个区块链网络从诞生到当前时间节点的一切交易记录,在保证区块链数据不可篡改的同时,带来了存储和同步的问题[10]。上文提到过,目前比特币的数据量已经超过了60GB,数据量巨大,更令人头疼的是比特币从诞生到现在才不过短短7年,按照比特币愈发活跃的走势来看,账本过大是一个急需解决的问题。

3.2.2资源问题

     PoW共识过程高度依赖区块链网络节点贡献的算力,这些算力主要用于解决SHA256哈希和随机数搜索[8],除此之外并不产生任何实际社会价值,因而一般意义上认为这些算力资源是被”浪费”掉了,同时被浪费掉的还有大量的电力资源。随着比特币的日益普及和专业挖矿设备的出现,比特币生态圈[5]已经在资本和设备方面呈现出明显的军备竞赛态势,逐渐成为高耗能的资本密集型行业,进一步凸显了资源消耗问题的重要性。因此,如何能有效汇集分布式节点的网络算力来解决实际问题,是区块链技术需要解决的重要问题[1]。研究者目前已经开始尝试解决此问题,例如Primecoin(质数币)要求各节点在共识过程中找到素数的最长链条(坎宁安链和双向双链)而非无意义的SHA256哈希值[29]。未来的潜在发展趋势是设计行之有效的交互机制来汇聚和利用分布式共识节点的群体智能,以辅助解决大规模的实际问题。

3.2.3隐私问题

     虽然区块链技术采用密码学相关技术,具有很高的安全性,但是征额区块链网络在隐私方面还有薄弱环节。例如,数据隐私问题。以比特币为例,比特币使用地址进行交易,具有匿名性,但是交易记录却完全公开,一个地址的所有交易记录全部都可以被查到,一旦将地址与真实身份联系起来,后果十分严重。

3.3未来展望

3.3.1金融领域的角度

     区块链技术,作为数字货币的背后支撑,已经引起了金融巨头们的高度重视,包括花旗银行、摩根大通、高盛、纽约梅隆银行、汇丰银行、巴克莱银行在内的众多金融巨头,均与区块链公司取得合作,研究区块链技术在金融世界的应用[3]。
麦肯锡研究报告指出了区块链在金融业应用的5大场景。
     1)数字货币:提高货币发行便利性;
     2)跨境支付与结算:实现点到点交易,减少中间费用;
     3)票据与供应链金融业务:减少人为介入,降低成本及操作风险;
     4)证券发行与交易:实现实时资产转移,加速交易清算速度;
     5)客户征信与反欺诈:降低法律合规成本,防止金融犯罪。
     在金融领域中,无论如何,区块链技术代表了未来信息数据存储和交互的重要技术发展方向。虽然无法断言虚拟货币将来会完全替代法定货币,但随着互联网金融的升级,以及P2P等去中介化新兴模式的发展,在全球大型金融机构联合创新推动下,区块链技术正从概念走向应用。我国银行业也应高度关注国际同业最新创新动向,积极参与一些标准制定和前瞻性创新,实现由跟随型向引领型创新的转变。展望未来,虽然面临技术、政府监管和法律等方面的诸多挑战,但正如1792年的《梧桐树协议》奠定了金融业自律发展的基石,利用新技术降低金融交易成本、减少信息不对称永远是金融业创新的方向[10]。

3.3.2市场应用的角度

     区块链能成为一种市场工具[11],帮助社会削减平台成本,让中间机构成为过去。区块链在去中心化的情况下构建了一个基于数字的全球信用体系,其技术现在已被用来挑战各行各业中成本高、耗时长的中间商业务。随着区块链技术的发展和应用的普及,中间商将会遭到极大的冲击,未来的市场将是一个建立在互联网去中心化信用体系之上的区块链市场。

3.3.3社会结构的角度

     区块链技术有望将法律与经济融为一体,改变原有社会的监管模式。由于区块链技术能达成互联网中的全网校验、全网信任共识,我们就有理由相信,未来基于区块链基础之上的社会对监管的需求会大幅下降[11]。由于信息更加透明、数据更加可追踪、交易更加安全,整个社会用于监管的成本会大为减少,法律与经济将会自动融为一体,“有形的手”与“无形的手”将不再仅仅是相辅相成、而是逐渐趋同的态势。

4总结及展望

     随着以比特币为代表的数字加密货币的强势崛起,新兴的区块链技术逐渐成为学术界和产业界的热点研究课题。区块链技术的去中心化信用、不可篡改和可编程等特点,使其在数字加密货币、金融和社会系统中有广泛的应用前景。然而,与蓬勃发展的区块链商业应用相比,区块链的基础理论和技术研究仍处于起步阶段,许多更为本质性的、对区块链产业发展至关重要的科学问题亟待研究跟进。本文系统地梳理了区块链技术的基本原理、 技术、方法与应用,以期为未来研究提供有益的启发与借鉴。本文系统地梳理了区块链技术的发展历程、产生的经济效应、社会影响、技术原理、核心特点及其相关应用和存在的问题。
区块链技术的发展被业内人士广泛看好,这个越来越受青睐的趋势会一直持续,这些趋势不一定以区块链的形式直接出现,可能会作为区块链技术的衍生品兴起。区块链应用已经从最初单纯的数字货币过渡到更泛的金融业,并且渗透到社会中的很多领域,比如身份验证、跨境支付、文件存储、物联网等,其中金融领域是目前最成熟、应用最广的领域。区块链技术作为当下最热门的技术之一,值得我们投入更多的时间与精力进行学习和研究。

参考文献

[1] 袁勇, 王飞跃. 区块链技术发展现状与展望[J]. 自动化学报, 2016, 42(04): 481-494.  (推荐阅读)
[2] 林晓轩. 区块链技术在金融业的应用[J]. 中国金融, 2016(08): 17-18.
[3] 何蒲, 于戈, 张岩峰, et al. 区块链技术与应用前瞻综述[J]. 计算机科学, 2017, 44(04): 1-7+15.
[4] 张苑. 区块链技术对我国金融业发展的影响研究[J]. 国际金融, 2016(05): 41-45.
[5] 蔡维德, 郁莲, 王荣, et al. 基于区块链的应用系统开发方法研究[J]. 软件学报, 2017, 28(06): 1474-1487.
[6] 谢辉, 王健. 区块链技术及其应用研究[J]. 信息网络安全, 2016(09): 192-195.
[7] 邵奇峰, 金澈清, 张召, et al. 区块链技术:架构及进展[J]. 计算机学报, 2018, 41(05): 969-988.
[8] 沈鑫, 裴庆祺, 刘雪峰. 区块链技术综述[J]. 网络与信息安全学报, 2016, 2(11): 11-20. (推荐阅读)
[9] 张宁, 王毅, 康重庆, et al. 能源互联网中的区块链技术:研究框架与典型应用初探[J]. 中国电机工程学报, 2016, 36(15): 4011-4023.
[10] 王硕. 区块链技术在金融领域的研究现状及创新趋势分析[J]. 上海金融, 2016(02): 26-29.
[11] 林小驰, 胡叶倩雯. 关于区块链技术的研究综述[J]. 金融市场研究, 2016(02): 97-109.

你可能感兴趣的:(区块链)