数字人民币的安全性如何得到保障?_风闻
老饕-叫兽禽兽都一样2021-02-25 08:47
【本文来自《中国加入多边央行数字货币桥研究项目,探索数字货币跨境支付》评论区,标题为小编添加】
砂糖橘局长10000000000一百亿的数字字符串类型长度11个字节,在数据库中占用的大小约11-16个字节.也就是2b左右的大小.1KB的文档可以存放500个这样的字符串,你说呢?
你头脑过于简单了,一张数字币必须是加密的,必须是不可复制和破译的。面额当然可以仍然是1分、2分、5分、1毛、2毛、5毛、1元、2元、5元、10元、20元、50元、100元、200元、500元、1000元等等。每一张或者说每一份都需要身份唯一,不能出现假币。那么在双离线环境下,我用数字币支付你75.3元,给你一个100的好理解,你是不是该找我24.7元?假如你的数字钱包内也只有100数字币,这个事儿怎么办?必然有一方要现场拆分自己的100元数字币,这个现场拆分和现场生成小面额数字币的过程的程序被破解了怎么办?这样就千疮百孔了。
还有另外一个办法,就是设备公开密钥法,那就是每个数字钱包设备都是加密解密机器,有唯一的解密密码和加密密码,密码的长度必须在万位以上这样才能确保不被破译。你要付钱给我,我把加密密码发给你,你把你付款的金额加密以后发还给我,我用解密密码解密得到金额数据,把这个数据和我原来账号上的数字相加再存储。你把你的金额减去这个数字以后再存储。看起来似乎是安全了,但是要注意的是既然这个数字钱包是程序,那么算法就可知了,有算法那么自行生成加密密钥和解密密钥也就没有难处了,那么假如我做个伪数字钱包(秘钥对不是央行给我的,但是符合央行的算法),我这个钱包里有100亿,我拿着到处去支付是不是很危险?当然央行一段时间后会发现伪钞的出现,因为这个密钥对他从来没发行过。但是假如有更狠的,就干脆用大型机去不断生成密钥对,然后只选择市面上出现过的加密密码的密钥对,拿去伪造数字钱包。这个时候,只要不是现场抓获,公安也不知道哪次支付是用的伪钞。
总而言之,不管是货币加密还是设备加密都有很大漏洞。央行四次发行数字币,其中在深圳甚至是发到手机上,装个APP,用NFC去支付。老天,这特码险过剃头啊。难为是只有几千万,玩得起而已。