央行DCEP一直受万众期待,但目前没有技术文档表征出具体的技术实现,因此,金色财经综合部分关于央行DECP的数字钱包在支付应用时的问题讨论,向大家呈现关于数字钱包的讨论。

数字钱包的双离线支付已经在出行领域应用较多

数字钱包的概念,只要在存在账户体系的场景都可以实现,在出行领域,对于公交账户应用较多,例如早期的公交卡系统。

从票据、现金到卡证,公共交通的支付方式一直在迭代。2016年到2017年,国内已有50多个城市实现了支付宝扫码乘公交,离线二维码技术方案的推行,令智慧交通完成了第一步。未来,云计算、地图导航、办公协同等能力都将被整合起来,用以服务公交地铁领域。

此前业内曾尝试手机NFC支付技术,但是遇到设备兼容性较差、手机普适性低、行业利益链复杂等诸多挑战。在将各种技术尝试一遍之后,业内发现在中国的现状下只有二维码技术可以突破这些限制,也是在兼容性、普适性和用户使用习惯下的最佳载体。

从2015年底到2016年初,支付宝以二维码作为切入点,开始探索离线二维码技术方案的设计与测试。2016年的8月17日杭州公交扫码乘公交的开通,标志离线二维码技术从实验室正式推向商业化试点。可以保证了在0.3秒内,在闸机、手机双双离线的情况也可以保证市民顺利刷卡乘车。

同样是一个支付方式和账户方式,但央行数字货币是整个宏观环境上的模型。其中更多的细节需要绝对安全,或者达到更高级的金融安全级别。那就需要讨论其技术原理。

双离线支付技术原理(来自简书用户shawnxjf)

买东西一手交钱一手交货的场景是在双方都认可的情况下的等价值交换。自从支付宝等电子支付手段出现后,我们直接用手机扫一扫就可以完成一笔交易,此时钱就从你的电子账户转到了对方账户中。该过程这本质就是把随身携带的现金转化为存放在远端服务器上电子货币(当然你把钱放在第三方平台的同时也给别人窃取你财富提供一个渠道)。

如果当时没有网络你也没有带现金,此时交易是否完成呢?交易本质要达到的目的是可靠安全的等价值交换。所以本文探讨在没有网络情况下如何完成等价值交换(从技术上解决信任问题)。

有网络的情况下,店主d的扫码枪扫描用户u的二维码。此时钱从用户u是否已经转移到d是可以立刻知道的,因为该笔交易能够立马完成。

首先我们知道扫码支付是免密小额支付,由于是免密为了安全性我们需要从时间维度进行控制。比如动态口令(二维码)是一次性的且每个几分钟刷新一次,防止被被人拿去扫描。

离线支付是一种什么样的情况,离线就是没有网络,离线有两种情况。

用户u手机网络断了(与支付宝服务器连接不上了)。

店主D扫码枪与用户u的网络都断了(都连不了支付宝服务器)

下面会根据这两种断网情况分别讨论。

case1:只有用户u手机断网情形

没有网络的时候,支付宝app对应的二维码如何生成的呢?用扫码枪扫描的时候我如何保证用户不会搞一个假的二维码,我如何知道二维码不是假造的合法的呢? 很自然想到在有网络的时候,支付宝app就可以把预先把一些令牌缓存起来,这样使用的时候从支付宝app本地提取二维码就可以。

该逻辑的本质是,通过扣款电脑搭桥做安全验证。

case2:用户手机和扫码枪都断网的情况

我们知道用户手机断网的情况,可以从支付宝app本地获取可用二维码(如没有用光且可用的话)。但是如果扫码枪断网我们又如何处理呢?

断网就不能支付么,让我们思考一下。其实我们对时间不是非常严格的要求,等有网络了一两天之后再拿到钱也是可以的。我们要考虑的是店主d确实可以拿到这么多钱,我们不一定需要同期等价值交换,我们需要的等价值交换(同期、跨期都可以)。

怎么保证一定是等价值交换呢?怎么保证等网络连上之后一定会从用户u的账户扣钱转入店主d的账户中。很自然的想到该扣钱动作不是用户u控制的,而是具有权威和公信的第三方机构保障的。

怎么控制这个动作呢?由于网络没有联通信息没有办法闭环,所以我们可以想着把该笔交易记录存放在本地终端(比如在扫码枪终端执行一笔记账操作),等网络连通之后再通过该记记录完成资金的转移。

该逻辑的本质就是先记账等联网后再做安全验证,其目前大部分支付系统中的记账模块原理是一样的(只是需要记账的原因不一样)。

整体思路

有些人则认为,央行数字钱包的离线支付的实现原理应该跟比特币的闪电网络如出一辙。

闪电网络其实就是off chain的设计思路,在layer 2保存交易历史而不记录在区块链上。假设A要跟B买东西,转账给B. 只需要一个2个人同时签名的交易,存在两个人任何一个人的设备都可以(或者同时存)。在有网络的时候把这个交易发布到区块链。因为是同时签名的,所以谁去发布这个交易都可以。

但这样会有双花的问题,所以会需要有保证金等其他的约束,或者设定一个上限只支持小额付款。因此,使用这样的方式是并不利于管控和应用的,况且是体量如此大的中国人民币经济体中。

因此,大概有这样几个思路的猜想。

1. 对自己的加密算法足够的自信,A - B, A 扣掉钱之后,本地加密存储。

2. 破解密码的成本远远高于A用户里面的钱,破解无利可图。

3. 法律层面,对用户离线丢钱提供保护,还有保险。

4. 黑科技,特殊的硬件设备,可以实现物理级别的,不可逆转的记录。

在我们现有的人民币经济体中,人民币的管控最重要的是可以线下交易兑换,而银行体系在国家监管体系下建立另一套账户系统,而法律则将关于现金的违规操作进行治理。只要在宏观上控制总量,即可进行经济调控。

当货币成为数字货币后,与人民币锚定,技术上一定会有人钻空子寻求获利,而法律机构也会根据这些风险来去制定相应法规约束。但在设计上最好的情况是控制相应的流通场景,因为当数字货币具备人民币交易价值时,会关联到人民币的外汇体制。适当的管控一定是需要控制带来的风险。即使在双离线支付技术以及账本上都实现了安全可信,但在流通上,需要杜绝可能发生的及经济风险。