作者:陈利人
来源:待字闺中
常看到数字货币的文章写,“过不了多久,你的手机上,就能用上央行的数字货币,支付可以“离线”进行,不用网络和手机信号,手机和手机之间碰一碰,就可以完成。”
这么magic,你会不会很纳闷,都没有网络,数字货币怎么能够实现“离线”支付呢?
数字货币,又称加密货币,这恰好是区块链的魔力所致,后面的密码学,和由之而来的,公钥私钥体系,和数字签名。
每个手机上,都会运行一个公钥私钥生成应用,这个应用充分利用了随机性,每次运行,都会产生一个唯一的公钥和私钥对,这个对,不会和历史上已经产生的对重复,而且今后也不会重复。如果非要严谨,唯一仍然有很小很小很小的概率会重复,但对的位数足够长的话,几乎可以忽略不记。
TRON数字钱包科普资料《波场钱包的现在过去与未来》已上线:据最新消息显示,由TokenPocket联合波场TRON官方,以及 TokenPocket 社区志愿者共同撰写的《波场钱包的现在过去与未来》已正式上线。《波场钱包的现在过去与未来》又称为波场钱包小白书,详细介绍了当前TRON钱包与TRON生态密切结合的实例,是目前市面上最为详细的TRON数字钱包科普资料。波场钱包作为波场公链生态中极为重要的入口,是波场生态的重要构成要素。波场钱包从一开始只提供权限管理、转账收款、节点投票等基础功能,到如今不仅可以为用户提供法币交易、闪兑和去中心化交易所等方便快捷的交易服务,还能让用户直接在钱包上体验波场上DApp,挖矿、DeFi、Staking等资产增值服务。详情见原文链接。[2020/8/20]
公钥作为用户的账号,保证每个用户每次运行应用都是不同的,可以公开出去,用来接收别人发起的支付。私钥,也是唯一的,而且只有运行应用的用户才知道,是个高级秘密,这个秘密只有用户自己知道,也不应该透漏给任何人。以后,对每个用户发起的支付,必须以这个私钥来对交易进行签名。由于私钥只有用户自己知道,如果,有任何的交易,用这个私钥签名了,那么一定只可能是这个用户所为,不可抵赖。如果,用户泄露了私钥,用户也只能自行担当了,没有别人能够替他背这个锅。
声音 | 浪潮集团云南分公司总经理:云南区块链产业发展需从“科普”到“专精”不断深化:据昆明日报消息,浪潮集团云南分公司总经理郑昕表示,云南区块链产业发展需从“科普”到“专精”不断深化。下一步,浪潮将继续加大云南农业产业高质量发展体系建设力度,重点以普洱茶等云南优势产业为切入点,打造云南“绿色、有机农产品高地”的品牌形象,并在此基础上,开展基于区块链的供应链金融服务,解决中小企业贷款难、贷款贵问题。[2019/11/11]
有了这些基础知识,那么接下来就好理解数字货币的离线支付了。
假设Alice要给Bob支付10个数字货币。Alice和Bob都有自己的手机数字钱包。正好Alice和Bob都在荒郊野外,没有手机信号,没有网络,但Alice和Bob的手机之间是可以通过蓝牙,或是点对点,或是二维码通讯的。因为大家都熟悉扫描二维码支付,那我们就假定他们之间也是通过二维码来完成的。
声音 | ETC Labs主管:科普教育是未来几年公链面临的巨大挑战:ETCLabs主管Darin Kotalik认为,科普教育是未来几年公链面临的巨大挑战,人们必须要对区块链有基本的认识,分清楚公链和私链的区别。[2019/8/25]
首先,Bob打开手机数字钱包,点击二维码收款,这时,手机显示收款二维码,其实,二维码里包含的信息主要是Bob的手机钱包地址,也就是Bob的公钥。
接着,Alice打开手机数字钱包,开启摄像头,扫描Bob的收款二维码,其实就是得到了Bob的公钥。这时,Alice把Bob的公钥,自己的公钥和支付10个数字货币的信息,打包成一个交易,然后用只有Alice自己知道的私钥,给这个交易签名,但是没有网不能写到链上。当然,手机数字钱包,会检查Alice是否有足够的数字货币来支付。你可能会说,Alice用的是一个hacked钱包,没有足够的钱也能打包和签名这个交易。但没关系,我们仍然假定是正常的。然后,Alice的数字钱包把这个签名的交易生成一个二维码让Bob扫描。
声音 | 火星人朋友圈科普RAM:火星人在朋友圈发文称,“什么是RAM?简单来说就是EOS这个国家的土地,所有的经济行为都离不开土地。只要EOS的BP们能投票形成一个稳定的供给预期,并且不改变目前的Bancor算法,那么RAM后续的价格有可能会像北上广深的房价走势。房价下跌不行,房价过快上涨也不行,EOS的生态越来越像某国了,真有意思。”[2018/7/6]
接下来,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。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。