2020年10月12日,DCEP数字化现金电子支付(Digital Currency Electronic Payment,俗称数字人民币)正式在深圳开启了“大型公测”,5万名中签市民每人领取了200元的数字人民币,并且可以在市内3000多家支持数字人民币支付的商家使用。
01
数字人民币长什么样?
如下图所示:
目前,数字人民币的使用方式是在app上滑付款,下滑收款,通过扫码的方式实现。
02
这与支付宝、微信钱包有区别吗?
当然有区别了!数字人民币和支付宝之类的第三方支付方式还是有几个根本不同的点:
1
信用主体不同
数字人民币是国家央行发行,信用主体是国家,目的是替代大家手上的现金纸币,具有国家法币地位,任何人不能拒收。
支付宝是类似于虚拟的现金钱包,信用主体是蚂蚁金服或者腾讯这样的公司,理论上大家是可以不接受支付宝或者微信支付的。
2
数字人民币是流通中的现金
金融术语里,M0指的流通中的现金,M1是M0+企业活期存款,M2是M1+银行定期存款+居民储蓄存款+其他存款+证券公司客户保证金。
目前阶段,数字人民币定位于流通中货币(M0),和支付宝、微信支付(M1或M2)等一般的电子支付工具不同。
央行数字货币首先是代替现金,将来会考虑将银行活期存款转化为数字货币。
3
转入金额不计活期利息
从银行储蓄卡转入数字货币账户的金额是不计活期利息的,就像你从银行取现。
4
不对第三方支付造成影响
目前阶段,数字货币不会对支付宝、微信支付等第三方支付造成影响,数字货币是替代现金的,即M0。
2019年,14亿人一共8万亿现金流,现金仅占货币总量的4%。支付宝和微信支付里存缴在备付金账户的是M1,用户购买的货币基金是M2。
将来在央行统一数字支付标准之后,各大商业银行的支付App会和支付宝、微信构成竞争关系,就看两位马爸爸如何应对了。
5
数字货币具有唯一可识别编号
虽然用户与用户之间的数字货币可以匿名支付,但在央行的后台中,识别编号是不会匿名的。
“双层运营体系”中,央行对数字货币账户进行监管,所以用户在商业银行那里获得的匿名支付,是有限的匿名,用户彼此间可匿名,不对监管者匿名。因此,要在支付匿名下洗钱,逃税和恐怖融资,几乎不太可能。
再往后,数字货币的控制性会大大增强,比如它对来历不明的大额资金具有追踪性,对诈骗等交易记录能长期保存,甚至于法院执行,它们甚至可以申请控制账户。至于对个人隐私的影响,就不说了。
6
中心化与去中心化
数字人民币在技术上没有预设技术路线,区块链技术、电子支付技术,都一定程度被运用到。
与比特币等没有信用背书而是基于加密技术产生的去中心化的数字货币不同,数字人民币是中心化的,只是在流通时采用了区块链技术防止虚假交易和伪造。
这里就不得不跟大家提一下区块链技术了,喜欢看新闻的同学应该对去年10月中央政治局集体学习区块链技术有点印象。
03
区块链技术是什么?有什么作用?
简单来说,区块链就是一种分布式的记账(数据记录)技术。
打个比方:
你借给了狂徒张三1万块钱,在自己的账本上记下交易信息,你找他还的时候他可能不承认,还说他的账本上你借了他100万块钱。
以前这么解决:找一个公证人,你俩的账都记在公证人这里,出现纠纷以公证人的账本为准。比如银行,你俩的钱都存他那里,转账、借款都有记录,狂徒张三就不能抵赖。
区块链这么解决:你在自己的记账的时候,也告诉了周围的朋友记账,狂徒张三也要记账,这样狂徒张三就算修改了他自己的账本,也没用。
因为除了他自己之外的账本都记得是张三借了你1万块,他的账本不会被采用,将会在整个区块链条中被放弃,重新复制大多数人的相同账本给他。
这就是区块链技术,是不是很好理解呢?
区块链技术可以很好的保证数据的不被篡改和极大增大数据伪造的难度。这就是在数字人民币中采用区块链技术的原因。
04
区块链技术是不是无懈可击?
站在一个软件测试工程师的角度来说:未必!
央行会先启动深圳的5万人数字人民币公测,而不是直接把这个系统上线运营。从已知的案例来说,国外曾经出现利用“51%攻击”方式篡改了区块数据的例子。
2018年5月23日CCN报道,从5月16日开始,黑客一掷千金掌握了至少51%算力,控制了BTG区块链,网络出现“双花”情况,损失超过388201个 BTG,价值1860万美元!
简单解释一下,还是拿上面狂徒张三的例子,假设在我给他转账1万块钱记账的时候,他马上篡改了他自己的记账账本,并且调用资源先把他的篡改后账本复制给了整个朋友圈中的大多数人,那么我的账本将被不被采信和放弃。
这种攻击方式要求攻击者要掌握整个区块链网络中超过51%的算力,先于被攻击者增加自己的链条长度为最长(大多数),被认定为真实数据账本。
可能这也是央行在使用数字人民币时没有采用去中心化,而是采用某种方式结合了中心化和区块链的防篡改特性的原因。
毕竟某个人可能做不到掌握整个网络51%的算力,但是某个组织或者国家未必做不到。所以说,这种安全风险防范还是很有必要的。
其实,对一名软件测试开发工程师而言,整个安全测试领域就像是魔高一丈,道高一尺的相互博弈过程(毕竟永远不会有完美的产品存在)。
按照DevOps 的数字化研发流程:从需求提出到应用部署,从产品协同到时间盒迭代,从代码编写到测试验证,从内测到上架,从最初v1.0到持续的v2.0,v3.0……等大大小小的版本迭代。
每一次功能的提升,每一次性能的优化,背后都是庞大而复杂的系统工程,而软件开发测试程序员/工程师要做的就是确保每一个环节的运转正常——每一行代码、每一步操作、每一个功能、每一处细节。
目前网络安全测试领域包括有:口令验证、授权验证、安全日志、session与cookie安全、SQL注入攻击、跨站脚本攻击XSS、跨站伪造请求CSRF、系统漏洞攻击、撞库攻击、暴力破解等多种测试方式和攻击方式。
各种测试过程也会贯穿数字人民币流通过程始终,不论是局部试点的试运行阶段,还是全民公测大众化普及的日常运维。
作为一名合格的软件测试工程师,职责就是在各功能上线前确保应用产品不出现bug,并且在后续出现新bug的情况下第一时间发现并提交bug记录,以供开发及时处理,从而将平台产品的运营风险降至最低。
最后,不仅作为软件测试工程师,从普通公民的身份角度来讲,衷心希望我们的数字人民币可以早日通过各种测试,为我们带来方便、快捷、安全的支付方式,为国家带来更广阔的贸易市场和货币结算渠道。