主页(http://www.kuwanit.com):央行数字货币DC/EP双离线支付场景和方案浅析
央行数字货币DC/EP双离线支付场景和方案浅析
来源:摩联科技 作者:许刚 2019-12-6 9:16
郑重声明:截至本文撰写时止,中国人民银行没有正式公开文件系统阐述央行数字货币DC/EP设计。本文所有观点,均是基于对央行有关领导的公开讲话、相关专利等公开渠道信息所作分析和推测。本文不代表中国人民银行观点。
2019年6月,由Facebook主导的加密货币项目Libra发布白皮书以来,全球主要国家央行开始密集释放研发数字货币的信号。中国人民银行自2019年8月份以来,多次表态将加快推进法定数字货币(央行DC/EP)的研发步伐。
中国人民银行支付结算司副司长穆长春在《科技金融前沿:Libra与数字货币展望》课程中提到,央行数字货币能够像纸钞一样实现“双离线支付”,即在收支双方都离线的情况下仍能进行支付,未来只要两个人都安装了央行数字货币的数字钱包,不需要网络,也不需要信号,只要手机有电,两个手机相互碰一碰就能实现实时转账。
截至目前,关于“双离线支付”具体如何实现,虽无大量文献进行剖析,但从已有文献可以探究些许端倪。本文尝试从交易设备端的角度,对双离线支付的原理、难点和技术方案进行粗浅的探讨。
•概述•
央行数字货币的主要交易场景是联网的,交易结果立即反映在央行数字货币登记系统中。双离线支付场景是指数字货币交易的收付双方,在交易期间,均无法直接或间接连接到在线账本的场景,这是联网交易场景之外的补充。
根据公开新闻报道和文献资料[1]的解读,中国央行数字货币拟采用中心化发行和管理的双层运营体系,每枚数字货币的属主由央行数字货币登记系统记录和变更,具体的场景中,还有商业银行等参与。
为简化起见,本文将央行数字货币的账本和管理机制统称为央行数字货币登记系统,并将交易过程中终端(可能经由商业机构)到央行数字货币登记系统之间交互协议和密钥体系,简略为终端向央行数字货币登记系统提交由付款方私钥签名的交易报文。
为简化起见,本文只探讨收付双方的交易终端均为智能手机的场景。收款方为智能手机,付款方为数字货币实体芯片卡的场景,或者其中一方或双方为安装有专用数字货币芯片的专用设备的场景,也基本适用本文所述原则。
本文提出以下观点:
1.数字货币双离线支付的基本原理是,付款方在离线状态下构造交易报文并签名,将已签名的交易报文通过近场通信交给收款方,并在后续联网时提交给央行数字货币登记系统入账。该过程可以类比为付款方现场开具支票,收款方事后凭支票去银行兑现。
2.双离线支付的最关键问题是解决已签名交易报文的防伪识别,包括验证数字货币本身的真伪,以及验证签发该交易的付款方是否为该数字货币的属主。智能手机上的央行数字货币钱包必须在央行强监管下。解决防伪问题的关键技术措施是利用智能手机TEE保护央行数字货币钱包,抵抗作恶动机。
3.若双离线支付只要求单次离线交易,即离线收入的数字货币必须联网确认入账后才能再次交易,则数字货币采用不定面额更有利于提高使用便捷性。若要求支持数字货币在离线状态下二次流转,即离线收入的数字货币可以离线花出去,则数字货币采取固定面额安全性更高。实现离线二次流转的关键技术措施也是由TEE保护的央行数字货币钱包。
4.一个央行数字货币钱包同一时刻只能绑定一台符合安全要求的智能手机,保证一个控制人(数字货币的属主)的一个公私密钥对账号,同一时刻只能在一台智能手机上付款,收款方要对付款方钱包是否为央行认证的合法钱包进行验证,从而抵抗离线双花。实现钱包手机绑定的关键技术手段是基于手机根信任的远程认证(Remote Attestation)技术。
•双离线支付的特点与技术要素•
根据中国人民银行有关表态,央行数字货币主要目的是替代M0,即纸钞的数字化。以纸钞为参照,央行数字货币除了可以像今天的网上银行、微信支付、支付宝等一样进行联网收付以外,还必须能够像纸钞一样便于离线使用。
以下逐项分析对央行数字货币上述特征的推测理由。
1、离线交易
与纸钞没有属主标识不同,央行数字货币具有属主标识,并由央行数字货币登记系统的中心化账本维护数字货币的属主标识。由于央行数字货币的所有权,最终是由央行数字货币登记系统予以确权,央行数字货币的主流交易形态,应当是联网交易[iii],而双离线交易,是联网交易的补充。
联网交易的基本原理是付款方用与其绑定的私钥,对支付承诺(付给谁多少钱)进行签名,并将其提交给央行数字货币登记系统,央行数字货币登记系统验证交易的数字货币有效,付款方签名和支付承诺有效后,完成交易确认。
双离线支付的本质是一种收付双方均认可的延迟交易。双离线支付过程是付款方用与其绑定的私钥,对支付承诺进行签名,然后将已签名的支付承诺交给收款方。收款方在恢复联网之后,向央行提交该支付承诺。由于该支付承诺已经被付款方签名,虽然是由收款方提交给央行的,但央行验证通过后,同样可以完成交易确认。这类似于付款方开具支票,收款方事后凭支票向银行要求兑付。
双离线支付的基本流程如图1所示。
图1央行DC/EP双离线场景基本流程
纸钞具有无限次流转的能力,比方说,商户A收到顾客甲支付的纸钞,可以作为找零付给顾客乙,顾客乙又可以拿这张纸钞付给商户B。
央行数字货币在离线交易上,面临两种选择:仅支持单次离线交易,即离线收入的数字货币必须联网确认入账后才能再次交易;或者是支持离线状态下数字货币二次流转,即离线收入的数字货币可以离线花出去。
离线二次流转是以该数字货币最近的联网状态为基础,由其各次离线流转中的属主依次进行交易签名构成连续的签名序列。只要签名序列中的起始签名的属主与央行数字货币登记系统中登记的一致,签名序列是依次连续且有效的,那么联网后,央行数字货币系统就能够把数字货币兑付给最后一个签名中指定的收款方。离线二次流转类似于在支票上背书,只要背书是连续有效的,银行就可以兑付给最后一个背书所指定的收款人。由于央行数字货币所有权的最终确权必须联网进行,出于风险控制考虑,对每枚数字货币在离线状态下的流转次数,央行有可能会做一定限制。一枚数字货币的离线流转次数超过一定阈值后,有可能必须联网与央行数字货币登记系统进行同步,才能再次离线流转。
离线单次交易和二次流转本质上只是单次和多次的区别,但二次流转面临更严苛的防伪考验,以及不得不为此付出使用便捷性等方面的代价(详见后文“货币标识和货币面额”和“防伪”章节)。
发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。