⼩⽩⼊门区块链技术与应⽤展望(有参考⽂献)
区块链技术的技术原理与应⽤展望
区块链技术是⼀种去中⼼化,去信任的分布式数据库技术⽅案。该数据库由参与系统的所有节点集体维护,具有去中⼼化,不可篡改,透明,安全等特性。随着⽐特币数字加密货币的⽇益普及,区块链技术已经引起政府部门、⾦融、科技企业和资本市场的⾼度重视与⼴泛关注。本⽂主要讲述区块链的发展现状、基本原理、技术⽅法和未来展望,并对区块链的优势与不⾜以及已经可能应⽤的场景进⾏总结。
⽬录
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 显⽰,截⽌到2016年2⽉,全球共有675种加密货币,总市值超过67亿美元,其中⽐特币市值约占 86%,瑞波币和以太币分别居⼆、 三位. ⽬前⽐特币供应量(即已经挖出的⽐特币数量) 已经超过 1 500 万枚,按照每枚⽐特币389.50美元的现⾏价格估算其总市值已
超过59亿美元,在世界各国2015年GDP排名中占据第144位(略低于欧洲的摩尔多⽡)。换⾔之,在没有政府和中央银⾏信⽤背书的情况下,去中⼼化的⽐特币已经依靠算法信⽤创造出与欧洲⼩国体量相当的全球性经济体。预计到2027年,全球10 %的GDP将会通过区块链技术存储[1]。本⽂系统地梳理了区块链技术的发展历程、经济效应、社会影响、技术原理、核⼼特点及其相关应⽤和存在的问题,为以后的研究提供启发和借鉴。
2区块链技术原理
从最早应⽤区块链技术的⽐特币到最先在区块链引⼊智能合约的以太坊,再到应⽤最⼴的联盟链Hyperledger Fabric,它们尽管在具体实现上各有不同,但在整体体系架构上存在着诸多共性。如图1所⽰,区块链平台整体上可划分为⽹络层、共识层、数据层、智能合约层和应⽤层五个层次。
图1区块链的体系结构
2.1数据层
2.1.1 区块数据结构
区块链技术中,区块是指⼀种数据结构,它包含两部分:区块元数据和区块体。其中区块元数据记录的是区块的元数据信息,区块体记录的是从上⼀区块产⽣到此区块创建之间所发⽣的所有交易,如表1所列。区块元数据包含区块⼤⼩、区块头和交易计数器3部分,如表2所列。
表1区块结构
表2区块元数据
2.1.2 区块头数据结构
区块头由两组元数据组成,⼀组与挖矿有关,包括时间戳、难度⽬标及Nonce值;另⼀组则与区块本⾝有关,包括链接⽗区块的字段、版本号及Merkle树的根。表3列出了区块头的数据结构。
表3 区块头结构
将区块中所有交易记录都进⾏两次哈希运算之后,将结果作为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 ⽹络中的每个节点均地位对等且以扁平式拓扑结构相互连通和交互, 不存在任何中⼼化的特殊节点和层级结构, 每个节点均会承担
⽹络路由、 验证区块数据、传播区块数据、发现新节点等功能。
数据传播协议: 任⼀区块数据⽣成后,将由⽣成该数据的节点⼴播到全⽹其他所有的节点来加以验证。如果交易节点是与其他节点⽆连接的新节点,⽐特币系统通常会将⼀组长期稳定运⾏的”种⼦节点"推荐给新节点建⽴连接,或者推荐⾄少⼀个节点连接到新节点。此外,交易数据⼴播时,并不需要全部节点均接收到, ⽽是只要⾜够多的节点做出响应即可整合进⼊区块账本中。未接收到特定交易数据的节点则可向邻近节点请求下载该缺失的交易数据。
小白学python买什么书 数据验证机制: 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应⽤层
软件snapchat 特效anime ⽐特币平台上的应⽤主要是基于⽐特币的交易。以太坊除了基于以太币的交易外,还⽀持去中⼼化应⽤(Decentralized Application,Dapp),Dapp是由Javascript构建的WEB前端应⽤,通过Json-RPC与运⾏在以太坊节点上的智能合约进⾏通信。Hyperledger Fabric主要⾯向企业级的区块链应⽤,并没有提供,其应⽤可基于Go、Javc、Python、Node.js等语⾔的SDK构建,并通过gRPC或REST与运⾏在 Hyperledger Fabric节点上的智能合约进⾏通信。
xanes原理
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(质数币)要求各节点在共识过程中到素数的最长链条(坎宁安链和双向双链)⽽⾮⽆意义的
tiesSHA256哈希值[29]。未来的潜在发展趋势是设计⾏之有效的交互机制来汇聚和利⽤分布式共识节点的体智能,以辅助解决⼤规模的实际问题。strcpy函数怎么编写
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.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论