专利篇 | 二维码+区块链,让链上支付实现便捷与安全

《专利篇 | 二维码+区块链,让链上支付实现便捷与安全》

公链由于取分布式账本的特性,其收发资产的方式也较为特殊,资产的收发基于一串hash地址。这种特殊的资产收发方式,让很多刚进入区块链领域的小伙伴一时难以上手,因为这与我们平常基于社交平台、支付平台、银行转账的交易方式大为不同。

在当下,大家已经普遍适应微信、支付宝的二维码扫码支付情况下,区块链资产的收发也紧随二维码支付的趋势,让扫码支付与区块链数字资产结合。

针对二维码技术应用在区块链支付领域,我们进行了技术创新设计,并成功将二维码支付应用在数字支持收发领域,同时,申请了专属区块链专利——《一种基于区块链的而二维码支付方法》

专利名称:《一种基于区块链的而二维码支付方法》

查询网址:http://www.innojoy.com/

申请号:CN201810006509.5

申请日:2018.01.04

公开(公告)号:CN108241976A

公开(公告)日:2018.07.03

二维码支付方法的角色包括:

付币方的明文

付币方的公钥地址address(A)、单笔交易的有效时间validTime、单笔交易的限额quota和随机数random;

付币信息

收币方展示的二维码QR(二维码QR是付币方的明文的加密信息)、付币方的哈希值hash0(付币方的哈希值是付币方的明文的哈希值)、付币方对付币方的哈希值的签名sign0;

注*付币方的哈希值hash0的计算,采用Hash函数,具体为SHA256:

hash0=Hash(address(A)+validTime+quota+random);

其中,address(A)、hash0是64个字符(十六进制)的随机数,validTime、quota、random是0~1010范围内的有理数;采用椭圆曲线数字签名算法ECDSA对hash0进行加密得到付币方对付币方的哈希值的签名sign0

收币方的明文

收币方的公钥地址address(B)、单笔交易的扣币金额deduction,付币方的哈希值hash0;

收币信息

收币方的哈希值hash1,收币方对收币方的哈希值的签名sign1;其中,收币方的哈希值为收币方的明文的哈希值;

收币方的哈希值hash1的计算,采用Hash函数,具体为SHA256,公式如下:

hash1=Hash(address(B)+hash0+deduction);

其中,address(B)、hash1是64个字符(十六进制),deduction是0~1010范围内的有理数;采用椭圆曲线数字签名算法ECDSA对hash1进行加密得到收币方对收币方的哈希值的签名sign1

区块链网络

用以执行数字资产交易的稳定区块链公链网络。

确立以上的网络角色关系,看如何通过二维码的方式完成一笔数字资产的发送。

1、付币方向收币方展示二维码QR,并发送付币信息;

2、收币方获取付币方的付币信息;

3、收币方向区块链发送收币信息;

4、区块链接收收币信息;

5、收币方向区块链发送付币方的明文和收币方的明文;

6、区块链验证收币方是否拥有付币方的授权;由于区块链上接收到付币方的哈希值,收币方的公钥地址,单笔交易的扣币金额及付币方对付币方的哈希值的签名,可以验证付币方的哈希值的正确性。若收币方没有得到付币方对单笔交易的扣币权限,表示收币方没有得到正确的付币方的哈希值,所述单笔交易不成功。

7、区块链验证交易的正确性及完整性。

8、验证收币方信息的正确性,如果验证正确,则进入步骤9,否则,交易不成功。

9、验证单笔交易的交易时长与单笔交易的有效时间的关系,如果单笔交易的交易时长没有超过单笔交易的有效时间,则进入步骤10,否则,交易不成功;

10、验证单笔交易的扣币金额与单笔交易的扣币上限的关系,如果单笔交易的扣币金额不多于单笔交易的扣币上限,则进入步骤11,否则,交易不成功;

11、验证付币账户余额与单笔交易单笔交易的扣币金额关系,如果付币账户余额不少于单笔交易单笔交易的扣币金额,则进入步骤12,否则,交易不成功;

12、付币账户扣除所述单笔交易的扣币金额;

13、收币账户增加所述单笔交易的扣币金额;

14、将该笔交易写入区块。

点赞