发布时间:2020-02-15所属分类:计算机职称论文浏览:1次
摘 要: 摘要:由于区块链具有去中心化、公开透明、记录不可篡改等诸多特点,有希望大幅降低传统金融行业基础设施的成本、风险,满足理想中的金融行业基础设施的需要,被认为是将来可能颠覆未来金融业态的重要技术。作为一项创新性技术,目前区块链已成为研究的热点
摘要:由于区块链具有去中心化、公开透明、记录不可篡改等诸多特点,有希望大幅降低传统金融行业基础设施的成本、风险,满足理想中的金融行业基础设施的需要,被认为是将来可能颠覆未来金融业态的重要技术。作为一项创新性技术,目前区块链已成为研究的热点,本文总结了区块链的数据结构,分析了区块链的实现模型和应用架构,阐述了区块链的参与主体及其改进方向,对区块链在金融行业应用进行了展望。
关键词:区块链数字货币去中心化
区块链(blockchain)最早源于比特币,是实现比特币的底层技术。中本聪(2008)发表了一篇名为《比特币:一种点对点的电子现金系统》的论文,该文详细描述了“比特币”这一极具创新性的构想以及实现它的关键技术——区块链。比特币官方网站(www.bitcoin.org)这样描述区块链:“一是从功能和作用来看,区块链是保存比特币系统所有交易记录的公共账本;二是从技术角度来看,是一种精心设计的存储交易记录信息的数据结构,并实现比特币所有特征的基础性技术”。通过区块链,比特币实现了完全去中心化的电子现金系统,使得收款方和付款方能够直接交易而不需要通过任何中介。比特币采取了与传统的中心化支付清算系统完全不同的架构,它能够在没有银行、清算中心等第三方机构参与下完成支付结算过程。在大量的资料中,区块链会被称为分布式账本(distributedledgers)。分布式账本和区块链这两个术语在概念上有交集,但不是所有分布式账本都使用区块链技术,本文为描述方便不将区块链和分布式账本做显式区分。
一、区块链的数据结构及其主要优缺点
(一)区块链的基本数据结构
区块链包含两类基础结构——区块(block)和交易(transaction),每个区块(block)都可包含若干个交易(transactions)。如果区块链是账本,那么交易可以理解为一条一条的记录。区块和交易都有保存静态数据的能力,但交易还具有保存逻辑业务代码的能力,是区块链可编程性的集中体现,同时也是实现“智能合约”的技术基础。
1.区块链的数据结构。区块链主要功能是保存数据信息,图1是简化的区块链示意图,表明所有交易信息记录于不同区块链中。区块(Block)是构成区块链的基本单元,它由区块头部(BlockHeader)和区块交易信息(BlockTransaction)两部分组成。区块头部引用了上一个区块的散列值①,通过散列值值区块之间形成了引用关系,看起来就好像是一个链条。所有的历史数据都保存在链条上。表1是比特币中实现的区块链格式,并详细列出了各个字段作用。
2.交易的数据结构。区块交易信息部分保存了一个或者多个新产生的交易记录,每一个交易记录包含了该笔交易的金额以及交易付款方的款项来源地址和收款方的收款地址信息。表2是比特币中区块交易信息部分txns的格式。在tx_out中,有一个ScriptPubKey字段,其中保存了脚本,包含OP_DUP、OP_HASH160、OP_EQUALVERIFY、OP_CHECKSIG等指令,供区块链执行业务逻辑,是实现“智能合约”的结构基础。在比特币中,其主要用来检查、验证比特币所有权。
(二)区块链的主要优点
1.去中心化的信任。区块链网络通过算法自我约束,使得任何恶意欺骗系统的行为都会遭到其他节点的排斥和抑制,从而保证交易双方的信任,因此可以在没有中央权威机构支撑和信用背书的情况下实现共识或一致,区块链的这种特点颠覆了传统的中心化的系统架构。
2.稳定性、可靠性和可用性。区块链是一个分布式架构,不依赖于任何单一节点,这样的设计使它能够有效容忍节点故障和网络攻击。即使出现大量节点离线、部分节点(计算能力规模总和占比不超过50%)遭受攻击提供篡改过的交易信息等极端情况,都不会影响区块链的正常运行,其系统容错能力远超一般的中心化系统。
3.公开透明性。区块链技术本身是开源、开放的,任何一笔交易数据信息都会被同步至整个区块链。区块链上所有节点看到的信息都是一致,保证了“我所看到的,就是你所看到的;你的所作所为,我都能看到”,消除了信息的不对称,本质上是创造了一个可信任的计算环境。
4.安全性。区块链技术本身基于严密的、成熟的密码学设计,应用了SHA256、RIMPED160散列函数、secp256k1椭圆曲线非对称加密算法等密码学工具。一旦新产生的交易信息经过验证被添加到区块链上,就会被永久存储起来,除非能够同时控制区块链网络中超过51%的计算能力②,否则交易信息将不可篡改。交易信息必须要经过其他节点确认才能生效,在单个节点上对信息的任何篡改都是无效的,会被区块链网络其它节点排斥和抑制。非对称加密算法中生成的私钥是支配区块链上资产的唯一凭证,该私钥只保存在用户本地,不在网络上传输,确保了用户对资产的掌控。
5.可编程特征。区块链中除了可以保存数据外,还可以保存可编程运行代码,供区块链网络的各个节点执行。这使得区块链不仅可以保存数字化资产,还可以用来设计业务逻辑,构建在特定条件下自动触发执行的智能合约。这种特性为区块链技术应用提供了广阔的前景。
6.技术的创新性和先进性。区块链技术第一次运用在比特币上,实现了真正意义上的可以实际运用的数字货币,它以创新性工作量证明机制(PoW)解决了实现数字货币的两个核心问题:“双花”③问题和“拜占庭将军”④问题。工作量证明就是比特币中通常所说的“挖矿”,它通过求解一个需要大量计算的问题(比特币中是求解一个区块的特定散列值)来证明参与节点投入了工作量,工作量证明机制求解困难但验证容易。
相关期刊推荐:《金融纵横》(月刊)创刊于1987年,由江苏省金融学会主办。杂志依托强势金融资源,以长三角地区金融业和中产阶级为市场主体,定位银行、证券、保险行业的经营管理者,大中型企业高管人员和金融业VIP贵宾客户为读者对象,同时向江苏的全国人大代表、全国政协委员和省级机关各厅局、各省辖市主要负责同志赠阅。
(三)区块链的缺点
1.交易确认效率不高。以比特币系统为例,由于该系统使用的区块链限制区块大小为1MB,而且限制了大约每10分钟生成一个区块。这导致在单位时间内能够被确认的交易量不超过7笔/秒,而现代化的、大规模交易系统每秒的处理能力至少是上万笔。很显然,这样的处理能力和速度无法满足大规模应用中的高频交易和支付场景。
2.存储效率不高。区块链是不“瘦身”的,区块链系统上任何信息的更新都会记录在链上。随着系统的运行,交易不断增加,一方面系统存储空间不断膨胀(目前区块链副本的大小已达70GB⑤),另一方面每个节点都要保存一份完整的副本,而副本中绝大部分数据是和本节点无关的。这两方面的问题会影响区块链在手机等移动设备和非宽带环境中的应用。
3.工作量证明机制运算量大。比特币的区块链使用了工作量证明算法来实现共识机制,但该算法通过穷举的方法求解,需要进行海量的计算,并消耗大量电力,这些运算绝大部分都没有实际的用途。
二、区块链的实现模型和应用架构
(一)区块链技术的实现模型
区块链技术已成为全球金融创新领域最受关注的话题。区块链的特性能够改变金融体系间的核心准则:因其安全、透明及不可篡改的特性,金融体系间的信任模式将不再依赖中介者,许多银行业务都将“去中心化”,实现实时数字化的交易。目前,区块链技术在银行、证券、保险领域已有一些应用实例,但多数还在验证测试阶段。要使区块链技术真正运用在金融行业,还存在一些问题需要解决,如投资收益问题、行业标准问题、安全性问题、管理问题等。在资本市场,预计未来两年区块链技术将在小范围内、有限参与者中间出现早期的应用原型,2至5年内将被市场小范围采用,5至10年内将出现较大范围的使用,而区块链技术要在参与者众多、监管严格的应用领域采用,还要经历更长的时间。
1.概念验证阶段。概念验证阶段主要是指银行和公司对区块链技术的使用进行测试,旨在评估区块链技术能否在买方和卖方之间顺利进行资产交易,能否减少金融中介并实现金融脱媒,能否在性能、成本、速度、规模分析方面超越现有技术,能否大规模、高效地减少支出。
2.搭建共享基础设施平台阶段。遵循金融行业标准的区块链共享基础设施平台是区块链底层技术,使参与者专注于开发行业导向的应用程序、平台和硬件系统,以此来支持交易处理;确保不同区块链应用之间的相互操作性,从而实现参与者在透明、协作的环境中进行开发和管理,以达到区块链技术的最佳发展道路。
3.资产转移阶段。随着区块链技术的完善和效率的提高,为了降低经营成本,提高信息的可用率,更多的金融资产将会转移到区块链上。一方面,来自于监管者、互联网金融和网络犯罪压力使得金融机构亟需更新其老旧的IT系统,而区块链为此提供了契机。另一方面,区块链技术的某些特点对促进业务发展有帮助。比如有的保险公司认为,在交叉检查个人行为的时候,区块链技术的啮合记录(Intermeshingrecords)的作用会非常大。
(二)区块链技术的应用架构
1.区块链在TCP/IP模型中的层次。区块链系统一般采用对等式网络(Peer-to-Peer)来组织散布全球的参与数据验证和记账的节点,实现其参与节点的分布式、自治性、开放可自由进出等特性。也就是说,区块链系统的本质是利用全球互联网这样一个巨大的基础设施达到去中心化、去信任化的功能,是基于互联网TCP/IP四层模型中传输层协议的网络应用(见图2)。
2.区块链的层次模型。类似于互联网应用构建在TCP/IP、HTTP等开放的技术之上,区块链本身也可以按照功能的不同划分成若干层次,主要包括共享数据层、共享协议层、应用程序编程接口(APIs)和应用程序(Apps),区块链的层次模型如图3所示。“共享数据层和协议层”类似于互联网的基础协议,是开放的且不受个人或企业的控制,而应用是根据需要定制的。图3区块链的层次模型
共享数据层包括基础区块链和覆盖网络。基础区块链是区块链的基础数据结构,包括区块、链式结构、哈希算法、时间戳等。“覆盖网络”是一个系统,用来扩展和补充基础区块链没有的功能。
共享协议层封装了区块链系统的组网方式、消息传播协议和数据验证机制等要素,也封装了分布式系统中各节点的共识机制,还封装了实现全网共识所必要的节点激励机制。
应用程序编程接口(APIs)是面向应用程序开发人员的。它向应用程序开发人员提供了访问区块链数据结构和过程的能力,而且不需要了解共享协议层和共享数据层的实现细节。
应用程序是面向区块链用户的。对用户而言,不需要了解技术细节,可以像使用普通应用程序那样使用区块链应用程序。
三、区块链在金融行业的参与主体
2014年之后,由于风险投资机构和传统的金融机构的加入,随着资金和人员方面投入的增加,区块链得到快速发展。研究的重点也从原来的数字货币扩大到支付系统、交易平台、银行、保险、证券等许多领域,有的研究内容涵盖金融服务、中间件/服务组件、基础架构和协议等领域。
(一)金融机构
目前,金融机构在推动区块链技术的研究、用例测试、行业标准制定等方面扮演着领导者的角色。这里的金融机构是广义的范畴,是指从事金融服务业有关的金融中介机构,包括银行、证券、保险、信托、交易所等。全球领先的金融机构在推动区块链技术应用方面进展迅速,包括花旗银行、德意志银行、摩根大通、高盛、汇丰银行等在内的44家金融机构共同建立了R3联盟,旨在推动制定适合金融机构使用的区块链技术标准,推动技术落地。除了加入R3联盟,许多大型银行也以其它形式在区块链领域开展一系列探索,归纳来看有三种途径:
一是商业银行成立内部的创新实验室或产品孵化器。如花旗银行、瑞银、纽约梅隆银行等已相继成立区块链研发实验室,重点围绕支付、数字货币和结算模式等方面测试区块链的应用,有的还扩大到其员工内部系统中测试。
二是投资区块链初创公司。2015年以来,许多跨国大型金融集团纷纷以风险投资的形式进入区块链领域,比如高盛联合其它投资公司向比特币公司Circle注资5000万美金,西班牙对外银行通过旗下子公司以股权创投方式参与了Coinbase的C轮融资等。
三是与初创公司合作,共同开发用例。例如,巴克莱银行在技术孵化和加速器项目中与区块链初创公司合作,澳大利亚联邦银行和开源软件Ripple合作组队,创建了一个在其子公司之间互相支付转账的区块链系统等。
(二)行业联盟
最著名的区块链联盟R3成员包括全球知名的44家⑥银行、证券、保险机构,中国平安是加入R3的第一家中国公司⑦。R3开发了基于区块链的Corda系统。国内也有金融区块链合作联盟、中关村区块链联盟、ChinaLedger联盟等,主要致力于金融领域区块链的行业应用开发以及制定行业标准和协议。例如,金融区块链联盟(深圳)成立的主要目的是“整合及协调金融区块链技术研究资源,形成金融区块链技术研究和应用研究的合力与协调机制,提高成员在区块链技术领域的研发能力,探索、研发、实现适用于金融机构的金融联盟区块链,以及在此基础之上的应用场景”。
(三)传统科技、区块链初创公司
全球各地的区块链初创公司和知名科技公司都在努力搭建技术本身与其实际应用之间的桥梁。成立于2014年的科技公司DigitalAssetHoldings(DAH)将自己定位为“企业级区块链服务和客户端API服务”,为客户提供咨询和系统集成服务,从可行性研究、商业案例评估到操作模型设计。科技公司Blockstream是业内第一家旨在扩大比特币协议层功能的公司,也就是侧链的扩展机制,研究重点是允许各种创新在一个开放、可互操作的平台上发生。部分科技巨头也进入这一领域,如微软公司在区块链技术上看到了巨大的商机,其Azure公共云平台为客户提供“区块链即服务(BaaS,BlockchainasaService)”——基于云端的工具、服务以及基建,帮助客户开发、测试和部署分布式台账。同时,微软公司还和R3区块链联盟达成战略合作协议。英特尔发布了分布式账本平台试验项目“SawtoothLake”,相关代码已经在GitHub及超级账本会议上公布。
SCISSCIAHCI