区块链技术在比特币上的成功已经证明了可编程数字货币的可行性。近年来国内票据行业飞速发展,已经从传统的纸质票据时代来到了电子票据时代;电子票据存在着中心化总分重复记账、流通局限性、安全监管等一系列问题,区块链作为一种新技术,有分布式账本、去中心化、集体维护、信息不可篡改等优点可以弥补电子票据的缺点。
如果将区块链技术很好的运用到票据业务当中,制定相应的法律法规,建立符合中国票据市场需求的数字票据,必然会提高资源利用效率,促进经济和社会的发展。在票据市场,基于区块链技术实现的数字票据能够成为一种更安全、更智能、更便捷的票据形态。
借助区块链实现的点对点交易能够打破票据中介的现有功能,实现票据价值传递的去中介化;基于区块链的信息不可篡改性,票据一旦交易完成,将不会存在赖账现象,从而避免“一票多卖”、打款背书不同步等行为,有效防范票据市场风险。基于区块链数据前后相连构成的时间戳,其完全透明的数据管理体系提供了可信任的追溯途径,可有效降低监管的审计成本。
国内对区块链与票据结合的研究层出不穷,随着区块链技术的发展成熟,以区块链为基础构建的数字票据已经具备发展条件,2017年年初中国人民银行(以下简称央行)推动的基于区块链的数字票据交易平台测试成功;预示着区块链数字票据进入实现阶段;国内的各大领域都开始纷纷研究并逐渐开始在多个领域运用区块链技术。
值得注意的是票据市场具有强流通性、交易量大、灵活兑付、参与者众多、风险易于控制等特点;数字票据怎么清算?区块链如何支撑高并发的海量票据交易?在一个公开的网络环境进行可靠的票据交易,如何防止黑客攻击?这是区块链数字票据面临的3个重要问题;如果不能很好的解决这些问题,势必影响到区块链在票据中的应用和发展。下面就对这3个问题进行讨论:
问题一:数字票据的清算问题
票据是在货币或商品流动中为体现债权、债务的发生、转移和偿付而使用的一种信用工具,其本身不具有清算功能,必须借助银行或者数字货币进行清算。如果像比特币那样进行下线清算,将大大减弱区块链在票据中的优势,怎么实现在票据交易的同时进行线上清算?
怎么打通与银行系统的清算通道,打造方便快捷的数字票据交易场景,是区块链数字票据面临的基本问题。区块链中的智能合约,是一个能够自动执行合约条款的计算机化程序,一个预先编好的程序代码,从外部获得的数据信息来识别并判断,当程序设定的条件满足时,随即触发系统自动执行相应的合约条款,以此完成交易和智能资产的转移。
如果能够在票据区块链中利用智能合约,票据承兑和贴现时将交易付款条件进行设定,比如计算付款日期与当前日期时间间隔,设定一个倒计时时钟,等到倒计时为0时,即触发自动付款清算;目前来说,清算的方式主要有2种:第一种是数字货币清算,第二种是票交所清算。
一、 数字货币清算
侧链技术(Pegged Sidechains)是允许开发者把新的侧块链和主块链“链接”起来的一种交互协议,实现数字资产能够从一个区块向另一个区块转移,通过侧链技术开发的元素链(Elements)中,用户可以发行其存款、债券等任何资产,并创建无需信任的交易所、期权和其他高级智能合约。
央行数字货币与数字票据都是基于区块链技术构建的,使用侧链技术以票据链为主块链,货币链为侧链并写入智能合约,实现主侧双链的联动,在票据承兑和贴现的同时,将付款地址、金额、日期、收款地址等信息写入智能合约,等到付款条件满足立即由票据主链智能合约触发货币侧链进行清算,将对应地址的加密数字货币转移到收款人的地址账户,无需人工干预;一旦广播全部获得51%以上节点的确认,票据链和货币链产生新的区块数据,交易将永久写入数据区,所有权和清算同时完成。
这种利用侧链技术和智能合约的线上清算方式的优点是:方便、快捷,是数字票据首选的清算方式;缺点是:依赖于数字货币的发展成熟,需要设计安全可靠的交易确认机制;企业需要彻底摒弃原有中心化系统、难度较大。
二、 票交所清算
票交所是票据市场基础设施,是央行指定的提供票据交易、登记托管、清算结算和信息服务的机构,同时承担着央行货币政策再贴现操作平台等政策职能。票交所的建立实现了票据报价交易、登记托管、清算结算、数据信息的集中统一。
在进行数字票据交易之前交易主体都必须在票交所开立清算账户,在数字票据交易中将付款人清算账户、金额、日期、收款人清算账户等信息写入智能合约,等到付款条件满足时,通过统一编程接口向票交所发送清算指令,还可以设计在承兑时票交所存入保证金,到期了自动发送保证金解付指令,这就需要数字票据系统与票交所清算系统进行开发、测试及协同处理,票交所系统需要满足以下条件:
首先要支持7*24小时随时清算;其次需要保证到期付款必须成功(不能发生余额不足、清算账户无效等异常情况);最后是否能实现电子票据与数字票据的融合交易(即实现电子票据在数字票据区块链中贴现,这有利于电子票据过渡到数字票据)是一个值得研究的问题。
票交所清算优点是:打通了电子票据与数字货币的通道,随着票交所纸电融合的完成,每家交易单位都在票交所有唯一的清算账户,将此账户与数字票据区块链中的交易进行绑定,即可实现数字票据的清算;现有系统能得到延用,升级成本低、实施难度相对较低,企业更容易接受。缺点是:需要保证账户的有效性以及账户余额足够,怎么样保证票据所有权转让与清算的一致性是有待解决问题,需要进一步研究论证。这种方式依赖于中心化的票交所清算,区块链的优点将会有所缩减。
问题二:区块链如何支撑高并发的海量票据交易
区块链技术对各分布参与结点的计算资源和存储资源要求高,交易广播对网络压力大。目前比特币区块链现在能达到7笔每秒,它的响应时间是10分钟,这是一个平均的时间;最大的区块链比特币网络的日均交易量约为20万笔,总账存储容量50G,并且已经出现一笔交易要十个小时以上才能确认的情况。
票据交易量非常大,对网络、硬盘、CPU的要求也会越高,每个交易都需要广播到网络,并得到51%节点的支持才能打包成数据区块加入到联盟链,每个交易都必须包括必要的信息,比如:承兑人、出票人、到期日、金额、公钥等信息,这些都会增加交易区块的大小及传播速率;2018年上半年,票据承兑笔数998.66万笔、日均5.47万笔,票据贴现笔数189.46万笔、日均1.04万笔,交易数据的膨胀势必延长票据交易的确认时间,对承兑、贴现业务实时确认带来很大影响,怎样构建让所有节点都能快速有效交易的网络?多大网络带宽才能支持如此多的高并发交易?都是需要在长期的实践中才能得到准确答案的;下面从3个方面讨论:
首先:硬件方面升级网络、扩大磁盘容量、提升磁盘速度、提高CPU处理数据等等可以有效支撑交易节点的运行。
同时企业很多节点都部署在云服务器上,随着国内外云计算的不断发展,能根据交易规模动态增加硬件资源实现资源分配的弹性伸缩。数字票据交易确认需要广播全部节点,得到51%节点的确认才算成功,每笔交易都需要广播全网,这就大大增加了网络的开销。硬件网络的升级、云计算的发展能否解决广播网络的开销问题有待检验。
其次:区块链技术不断发展与研究,催生出了大量的新技术;比如闪电网络等。闪电网络(lightning-network)是通过设置巧妙的智能合约,再利用哈希算法锁定智能合约,确保安全交易确认,提供了一个可扩展的微支付通道网络。
具体来看,交易双方若在区块链上预先设有支付通道,就可以多次、高频、双向通过轧差方式实现瞬间确认的微支付;若无直接点对点支付通道,只要网络中存在一条连通双方的、由多个支付通道构成的支付路径,就可实现资金可靠转移。如果能很好的设计区块结构、交易算法、操作模式将会大大降低网络交互、本地存储、交易确认时间。
最后:局部中心化;一个比特币钱包使用前要先下载总账,使用普通计算机下载需要几天时间。如果将比特币模式应用于金融领域或者其他大交易量的领域,系统压力和带宽占用将会耗费极大的资源,对资源的需求甚至难以估计。
用交易中心来进行票据交易,交易中心保存完整的交易历史数据,本地客户端只需要下载很少的信息就可以完成票据交易。这将使去中心化的区块链解决方案走向局部中心化。
随着硬件网络及云计算不断发展、区块链技术不断创新成熟,未来支持更复杂、更大数量级的应用将成为可能,局部中心化交易方案也可以在一定程度上满足数字票据交易的性能要求,高并发、高可靠性不是一撮而就的,与票据交易的复杂性有关,设计良好的系统能大大减少交易时间、提高吞吐量。
问题三:如何防止黑客攻击
据Carbon Black的调查数据,2018年上半年,有价值约11亿美元的数字加密货币被盗,在全球范围内因区块链安全事件损失金额还在不断攀升。黑客可以从应用服务层、中间协议层、基础网络三方面对区块链进行攻击。
由于区块链构建于开放式网络的基础之上,任何人都可以访问,部分代码都是公开的,在编程式网络环境下,通过代码分析一旦黑客发现代码漏洞,便可以从底层攻击整个系统,使整个基于区块链的票据系统瞬间崩溃,数据遭到破坏或盗窃。比如攻击者可通过编写恶意代码让虚拟机去解析执行,最终导致栈的深度超过虚拟机允许的最大深度,或不断占用系统内存导致内存溢出。
再如以太坊短地址漏洞:由于EVM并没有严格校验地址的位数,并且还擅自自动补充消失的位数,使得合约多发送很多代币出来。数字加密货币被黑客一次次的攻击成功,预示着同样以区块链技术为基础的数字票据将面临类似的安全攻击,如何保证在公开的网络环境下进行可靠的票据交易?是票据区块链面临的一个重大且不可忽视的问题。
一般来说,区块链系统由数据层、网络层、共识层、激励层、合约层和业务服务层组成。不同层都会有不同的黑客攻击方式。票据区块链主要面临数据层、网络层、共识层、合约层、业务服务层攻击的风险。
数据层的区块数据存在恶意信息攻击、资源滥用攻击的风险,签名与加密方式存在穷举攻击、碰撞攻击、长度扩展攻击、量子攻击的风险;
网络层的P2P网络存在日食攻击、窃听攻击、BGP劫持攻击、分割攻击、延迟攻击的风险,广播机制存在双重支出攻击、交易延展性攻击的风险,验证机制存在验证绕过的风险;
共识层存在短距离攻击、长距离攻击、预计算攻击、女巫攻击的风险;
合约层的合约虚拟机存在逃逸漏洞、逻辑漏洞、堆栈溢出漏洞、资源滥用漏洞,智能合约存在可重入攻击、调用深度攻击、交易顺序依赖攻击、时间戳依赖攻击、误操作异常攻击、整数溢出攻击的风险;
业务层的交易平台网络带宽存在DDoS攻击的风险, 账户体系存在撞库攻击、穷举攻击、单点登陆漏洞、oAuth协议漏洞的风险,支付体系存在修改支付价格、数量、越权支付漏洞的风险,业务逻辑存在越权漏洞、验证码漏洞、条件竞争漏洞、认证漏洞的风险;
交易所账户存在钓鱼攻击、中间人劫持攻击、木马劫持攻击的风险,交易所API存在关键Key&Token窃取的风险。
在基于区块链的票据交易中,可以使用智能合约进行承兑、贴现、转贴现、到期托收,智能合约是一种旨在以信息化方式传播、验证或执行合同的计算机协议。智能合约允许在没有第三方的情况下进行可信交易。这些交易可追踪且不可逆转。
智能合约本质上是一份代码程序,难免会有因为考虑不周的导致出现漏洞的情况,所以在发布一份智能合约之前,进行大量的模糊测试与白盒审计是必不可少的。
智能合约面临如下风险:可重入攻击、调用深度攻击、交易顺序依赖攻击、时间戳依赖攻击、误操作异常攻击、整数溢出攻击。2018年4月,BeautyChain(BEC)智能合约中出现了一个灾难性的漏洞(整形溢出漏洞),导致市场上海量 BEC 被抛售,该数字货币价值几近归零,给 BEC 市场交易带来了毁灭性打击;损失约10亿美元。
根据票据交易的特点,黑客主要的攻击方式有:交易所DDOS攻击、DNS劫持、链分叉。在遭受DDOS攻击后可能导致网络中部分节点网络瘫痪,节点瘫痪意味着链中总算力受损,使得其更容易遭受51%攻击。黑客通过交易延展性攻击(利用交易签名算法的特征修改原交易中的input 签名, 生成拥有一样input和output的新交易,然后广播到网络中形成双花)可能导致票据交易二次付款。
怎么防止黑客对票据区块链的攻击呢?
根据票据交易的实际情况来使用有效的安全策略,是保证数字票据长期发展的保证。首先:可以借鉴目前比特币、以太坊等数字货币发展的实际经验,最大限度的防止已有风险的发生;其次:选择更安全的技术来构建票据链;逐步发展逐步完善,现在小范围试点,技术成熟后再进行全国推广;最后:结合我国票据交易的特点,制定相关法规与制度,比如:进行实名制认证等,可以有效减少恶意用户的攻击。
总结
一个庞大的数字票据系统不可能一天完成,需要不断完善升级已满足票据交易安全、快速、高并发等要求,随着区块链的不断发展完成,相信数字票据也会在不久的未来得到发展、普及。如果以上3个重要问题能得到有效解决,将会极大推动数字票据的发展。