LIC:科普 | 神奇了,数字货币怎么能够离线支付

作者:陈利人

来源:待字闺中

常看到数字货币的文章写,“过不了多久,你的手机上,就能用上央行的数字货币,支付可以“离线”进行,不用网络和手机信号,手机和手机之间碰一碰,就可以完成。”

这么magic,你会不会很纳闷,都没有网络,数字货币怎么能够实现“离线”支付呢?

数字货币,又称加密货币,这恰好是区块链的魔力所致,后面的密码学,和由之而来的,公钥私钥体系,和数字签名。

每个手机上,都会运行一个公钥私钥生成应用,这个应用充分利用了随机性,每次运行,都会产生一个唯一的公钥和私钥对,这个对,不会和历史上已经产生的对重复,而且今后也不会重复。如果非要严谨,唯一仍然有很小很小很小的概率会重复,但对的位数足够长的话,几乎可以忽略不记。

“链上海南”海南省区块链财政电子票据应用管理平台上线:1月11日,海南省区块链财政电子票据应用管理平台正式上线,澄迈县人民医院成功开出了首张区块链医疗电子票据。在此次发布会上,海南省财政厅、澄迈县财政局、澄迈县卫建委、澄迈县医保局相关人员就全省财政电子票据改革及区块链财政电子票据建设思路、海南省区块链财政电子票据应用管理平台的建设及应用价值、以及澄迈县人民医院区块链医疗电子票据上线情况等进行深入交流,并举行了首张区块链票据交付仪式。(中国日报)[2021/1/11 15:52:20]

公钥作为用户的账号,保证每个用户每次运行应用都是不同的,可以公开出去,用来接收别人发起的支付。私钥,也是唯一的,而且只有运行应用的用户才知道,是个高级秘密,这个秘密只有用户自己知道,也不应该透漏给任何人。以后,对每个用户发起的支付,必须以这个私钥来对交易进行签名。由于私钥只有用户自己知道,如果,有任何的交易,用这个私钥签名了,那么一定只可能是这个用户所为,不可抵赖。如果,用户泄露了私钥,用户也只能自行担当了,没有别人能够替他背这个锅。

动态 | 民进山东省委:让区块链“链上山东”:1月20日消息,“山东在这方面(区块链技术)已经慢了半拍,占比不到全国的3%。”民进山东省委在调研后建议,加快推动我省区块链技术和产业创新发展 “决不能再错过机遇”。“在谋篇布局上,要尽快研究制定政策措施,将区块链技术发展和应用纳入我省综合发展规划及金融、战略性新兴产业、新一代信息技术等专项发展规划。” 民进山东省委建议各地市、区县出台扶持政策,鼓励区块链企业发展,加大对区块链重大创新及成果转化项目的支持力度,引进培养人才,建设场景应用孵化器,支持和鼓励区块链企业上市。(联合视讯)[2020/1/20]

有了这些基础知识,那么接下来就好理解数字货币的离线支付了。

动态 | “链上海南”首个国际实践项目诞生,海南区块链试验区与迪拜区块链中心达成合作:据新华社消息,12月4日,由海南自贸区(港)区块链试验区主办的数字文明大会发布会在海南生态软件园举行。海南生态软件园集团有限公司、海南自贸区(港)区块链试验区总经理杨淳至与Marwan博士共同签署海南自贸区(港)区块链试验区与迪拜区块链中心战略合作协议。据悉,海南自贸区(港)区块链试验区与迪拜区块链中心的战略合作,属于“链上海南”打造全球共享链上生态实现的第一个国际实践。在此次合作中,来自中国海南的解决方案将助力迪拜区块链战略,通过“链上迪拜”实现辐射中东及北非地区数字城市建设、数字经济产业集群、政府效能提升及数字治理转型。[2019/12/4]

假设Alice要给Bob支付10个数字货币。Alice和Bob都有自己的手机数字钱包。正好Alice和Bob都在荒郊野外,没有手机信号,没有网络,但Alice和Bob的手机之间是可以通过蓝牙,或是点对点,或是二维码通讯的。因为大家都熟悉扫描二维码支付,那我们就假定他们之间也是通过二维码来完成的。

动态 | 美国演说家Anthony Robbins开始科普什么是比特币:美国演说家安东尼·罗宾(Anthony Robbins)在自己的网站上发布了一篇比特币的科普文章,并在推特上向自己的粉丝介绍什么是比特币,目前他的推特账户共有粉丝304万人。[2019/1/1]

首先,Bob打开手机数字钱包,点击二维码收款,这时,手机显示收款二维码,其实,二维码里包含的信息主要是Bob的手机钱包地址,也就是Bob的公钥。

接着,Alice打开手机数字钱包,开启摄像头,扫描Bob的收款二维码,其实就是得到了Bob的公钥。这时,Alice把Bob的公钥,自己的公钥和支付10个数字货币的信息,打包成一个交易,然后用只有Alice自己知道的私钥,给这个交易签名,但是没有网不能写到链上。当然,手机数字钱包,会检查Alice是否有足够的数字货币来支付。你可能会说,Alice用的是一个hacked钱包,没有足够的钱也能打包和签名这个交易。但没关系,我们仍然假定是正常的。然后,Alice的数字钱包把这个签名的交易生成一个二维码让Bob扫描。

接下来,Bob扫描Alice手机数字钱包上的二维码,把刚才包含Bob公钥,Alice公钥和支付10个数字货币的信息的交易保存下来,因为这时没有网,不能写到链上。暂且认为Alice是个诚实的人,而且使用的是正常的数字钱包。这时,暂且认为离线支付已经完成。

这个过程,就如同Alice给了Bob10元现金,双方都记下了10元现金的序列号,并且手写签名。至于这10元是真钞还是假钞,Bob暂时没有办法验证。直到Bob某天去银行,才知道这10元的真伪。

在没有网的期间,Alice还可以继续给不同的人支付,就用类似上面的流程。

好了,Alice或者Bob,回到了繁华的市区,手机信号有了,网络有了。这时,Alice上网了,手机钱包会把签名的交易准备写到链上,这时,如果交易没有问题,就会正式写到链上。如果Alice故意不联网,或是交易是伪造的,那么链上没有这次交易的信息。这时,只有等着Bob上网了。Bob一上网,就会把Alice传给他的交易准备写到链上,成功的话,everythingisOK,原来离线的支付,现在上线了。正式完成了支付和交易。

问题来了,如果Alice故意作弊,用了hacked的数字钱包,或者是伪造了交易,或者钱不够签名了交易,这时Alice和Bob要把这个交易写到链上都不会成功。这时,相当于离线的交易没有成功。如果Alice是诚实的,用的是自己的私钥签名的,这时Bob还能找到Alice,让她重新支付。如果Alice是不诚实的,用的都不是自己的私钥,那这种情况就麻烦了。为了避免这种情况发生,那么Bob最好等有网了,验证之后,再给Alice发货,或是提供服务。这和现实世界中的假币到银行才能被发现一样。

由此看来,离线支付,对诚实的双方来说,是完全没有问题的。而对不诚实的支付者来说,离线是有问题的,不到上网写到链上是没法解决的,就如同不到银行,现实世界的假币也没有解决。只能通过事后追责。

到此为止,谜底解开了,你是否明白了后面的magic。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

[0:15ms0-3:590ms