本发明涉及区块链,尤其涉及一种基于区块链的批量转账方法及系统。
背景技术:
1、区块链交易是通过区块链网络进行的数字资产转移过程,其中运用到区块链技术和数字签名技术。区块链技术利用其时间序列的块链式数据结构特性,在区块链交易中能够保障数据的安全性和整体性,其次,数字签名(又称公钥数字签名)应用非对称密钥加密技术与数字摘要技术,能够创造出只有信息交易发起者才能产生的,别人无法伪造的一段数字串,具有不可抵赖性。因此,通过结合区块链技术和数字签名完成的区块链交易,可以保障交易中的交易发起方和交易内容均未被篡改、未被伪造,确保交易的安全性。
2、加密凭证是一种基于加密技术的数字凭证,其本质是只记录交易的共享账本。加密凭证的核心思想是使用分布式账本技术,如区块链技术,利用密码学和块链式数据结构,保证账本记录不被篡改,以实现去中心化、开放性和安全性。加密凭证的设计是为了促进安全、快速、低成本的交易。其中,稳定凭证是一种特殊的加密凭证,其价格波动较小,通常与某种法定凭证或其他资产挂钩,以实现价格稳定。
3、但是目前稳定凭证交易存在一些问题:当前稳定凭证交易由于区块链网络拥堵和手续费市场机制、智能合约执行成本等原因,导致稳定凭证交易中通常伴随着较高的单笔稳定凭证交易的费用,进而使区块链交易存在交易成本较高的问题。
技术实现思路
1、本发明提供一种基于区块链的批量转账处理系统及方法,以解决上述技术问题,通过降低稳定凭证交易的费用,达到降低区块链交易成本的目的。
2、为了解决上述技术问题,本发明提供一种区块链的批量转账处理方法,包括以下步骤:
3、基于批量发起的转账请求,获取交易序号、金额以及转入地址并计算每个所述转账请求所需的上链费用;
4、基于所述交易序号、金额、上链费用及转入地址逐个请求每个所述转账请求的转账签名授权;
5、响应于所述转账签名授权,将批量发起的所述转账请求批量打包为整体上链交易;
6、响应于所述整体上链交易,由预设的稳定凭证智能合约执行批量转账。
7、根据上述方案,通过对批量发起的转账请求进行逐个签名授权,在签名授权确认后批量打包为一个整体上链交易,可以有效减少整体上链交易的上链费用,大大降低了区块链交易的交易成本。
8、进一步的,所述基于批量发起的转账请求,获取交易序号、金额以及转入地址并计算每个所述转账请求所需的上链费用,包括:
9、响应于批量发起的所述转账请求,根据预设的上链费用更新算法计算每个所述转账请求所需的上链费用;
10、所述预设的上链费用更新算法具体为:
11、定时获取区块链原生凭证及最新价格信息;
12、根据所述最新价格信息,更新上链费用。
13、上述方案中,所述预设的上链费用更新算法,通过定时从外部交易所获取区块链原生凭证,并将该原生凭证存入由预设的稳定凭证智能合约设置的批量转账服务钱包地址,用于后续的转账操作。其次,根据所获得的最新价格信息来更新上链费用,该费用是以稳定凭证的形式支付,并且具有实时性。计算得到单笔转账请求的上链费用仅为所述整体上链交易的上链费除以批次的请求数量之后得到的计算结果,可以减低每笔转账的费用。
14、进一步的,所述响应于所述转账签名授权,将批量发起的所述转账请求批量打包为整体上链交易包括:
15、基于批量发起的所述转账请求,逐个根据每个转账请求对应的所述交易序号、金额、上链费用以及转入地址,利用椭圆曲线数字签名算法获得对应的转账签名授权;
16、响应于所述转账签名授权,将批量发起的所述转账请求批量打包为整体上链交易。
17、需要说明的是,该整体上链交易的上链费用是由预设的稳定凭证智能合约设置的批量转账服务钱包地址的地址余额进行扣除的,即计算后的每笔转账请求的上链费用的总和,而且整体上链交易的上链费用仅看作一次转账请求进行计算,相较于以该批次的请求数量来计算是大大减少了上链费用,降低了该批量转账请求的区块链交易费用。
18、上述方案中,所述基于批量发起的所述转账请求,逐个根据每个转账请求对应的所述交易序号、金额、上链费用以及转入地址,利用椭圆曲线数字签名算法获得对应的转账签名授权,具体包括:
19、基于交易序号、金额、上链费用以及转入地址,计算第一散列哈希值;
20、基于所述第一散列哈希值及每个所述转账请求对应的用户私钥,利用椭圆曲线数字签名算法获得对应的转账签名授权。
21、在其中,本发明方法首先将交易序号、金额、上链费用以及转入地址等信息,返回给用户确认签名,然后基于确认后的信息计算得到第一散列哈希值,然后通过椭圆曲线数字签名算法,以及每个所述转账请求对应的用户私钥,计算出对应的转账签名授权。
22、上述转账签名授权过程是在区块链下进行,具体为:
23、基于每个所述转账请求对应的交易序号、金额、上链费用以及转入地址等信息再加上散列哈希算法的固定前缀,计算得到第一散列哈希值thash,然后通过值thash以及对应的用户密钥,计算得到对应的转账签名授权,最后将交易序号、金额、上链费用、转入地址以及转账签名授权等信息在区块链上进行公开。
24、进一步的,所述响应于所述整体上链交易,由预设的稳定凭证智能合约执行批量转账,具体为:
25、基于所述整体上链交易,获得批量发起的所述转账请求的每个转账请求的转账签名、交易序号、金额;
26、计算所述每个转账请求对应的手续费,所述手续费等于所述整体上链交易的上链费用除以批量发起的所述转账请求的请求个数的计算结果;
27、核验所述每个转账请求的转账签名、交易序号、金额的合法性;
28、若核验通过,则基于每个所述转账请求进行手续费扣除,并向每个所述转账请求的所述转入地址转入所述金额对应的稳定凭证。
29、上述方案中,计算得到的每个转账请求对应的手续费,仅为所述整体上链交易的上链费用除以批量发起的所述转账请求的请求个数的计算结果,大大减少了上链费用,能够有效降低该批批量转账请求的区块链交易成本。
30、进一步的,所述核验所述每个转账请求的转账签名、交易序号、金额的合法性,包括步骤如下:
31、基于所述整体上链交易,获得每个转账请求对应的所述转账签名、交易序号、金额、上链费用及转入地址;
32、检验所述交易序号是否为全局连续递增的序号,若是,则所述交易序号具有合法性;
33、基于所述交易序号、金额、上链费用及转入地址,计算第二散列哈希值;
34、基于所述第二散列哈希值及每个所述转账请求对应的转账签名,利用椭圆曲线数字签名算法获得每个所述转账请求对应的用户公钥;
35、上述计算过程是由预设的稳定凭证智能合约在区块链上进行的,具体为:
36、以每个所述转账请求对应的交易序号、金额、上链费用以及转入地址等信息以及散列哈希算法的固定前缀作为输入,计算得到第二散列哈希值thash,然后利用值thash以及用户签名授权,通过椭圆曲线数字签名算法计算得到对应的用户公钥。
37、上述方案中,因为通过计算得到的用户公钥,与上述提到的用户私钥,在椭圆曲线数字签名算法的计算中是一一对应的,因此可以通过对每笔所述转账请求计算的得到的用户公钥与对应的用户私钥进行比对,若对应,则证明该笔转账请求的转账签名具有合法性。
38、基于所述用户公钥,计算出每个所述转账请求对应的转出地址;
39、基于所述转出地址,获得转出地址对应的转出地址余额;
40、若转出地址余额大于所述金额与所述手续费之和,则所述金额具有合法性。
41、上述方案中,通过对每个转账请求的转账签名、交易序号、金额的合法性进行核验,即转出方地址余额是否大于金额与手续费之和、签名是否合法、交易序号是否连续递增,若均满足,则能够保证该批批量转账发起的安全性,并且交易过程中没有被篡改。其次,在确认对应信息的合法性之后,基于每个所述转账请求进行手续费扣除,并向每个所述转账请求的所述转入地址转入所述金额对应的稳定凭证,具体过程如下:
42、基于每个转账请求的对应转入地址获得转入地址对应的地址余额;
43、转出地址余额等于所述转出地址余额减去所述手续费和所述金额之和;
44、转入地址余额等于所述转入地址余额与所述金额之和;
45、批量转账服务地址余额等于批量转账服务地址余额与该笔转账请求所述手续费之和。
46、相对应的,本发明还提供一种基于区块链的批量转账系统,包括计费模块、批量处理模块、上链模块和稳定凭证智能合约模块;
47、其中,
48、所述计费模块,用于基于批量发起的转账请求,获取交易序号、金额、及转入地址并计算每个所述请求所需的上链费用,具体为定时获取区块链原生凭证及最新价格信息并根据所述最新价格信息,更新所述上链费用。
49、利用计费模块,通过定时从外部交易所获取区块链原生凭证,并将该原生凭证存入指定的批量转账服务钱包地址,用于后续的转账操作。其次,根据所获得的最新价格信息来更新上链费用,该费用是以稳定凭证的形式支付,并具有实时性。计算得到单笔转账请求的上链费用仅为所述整体上链交易的上链费除以批次的请求数量之后得到的计算结果,可以减低每笔转账的费用,降低系统内区块链交易的交易成本。
50、所述批量处理模块,用于基于所述交易序号、金额、上链费用及转入地址逐个请求每个所述转账请求的转账签名授权;
51、其中,每笔转账请求被分配一个全局递增的序号,防止重放攻击。最新的序号,记录在区块链上预设的稳定凭证智能合约中。
52、所述上链模块,用于响应于所述转账签名授权,将批量发起的所述转账请求批量打包为整体上链交易,具体为:
53、将所有转账请求合并为数组形式,作为批量转账上链交易的参数,参数包括:交易序号数组、金额数组、上链费数组、转入地址数组,用户签名数组。
54、所述稳定凭证智能合约模块,用于响应于所述整体上链交易,由所述预设的稳定凭证智能合约执行批量转账;
55、进一步的,所述批量处理模块,用于基于所述交易序号、金额、转入地址及上链费用逐个请求所述转账请求的转账签名授权,包括:
56、基于批量发起的所述转账请求的每个转账请求的交易序号、金额、上链费用以及转入地址,计算第一散列哈希值;
57、基于所述第一散列哈希值及每个所述转账请求对应的用户私钥,利用椭圆曲线数字签名算法获得对应的转账签名授权。
58、在其中,本发明提供的系统通过批量处理模块,首先将交易序号、金额、上链费用以及转入地址等信息,返回给用户确认签名,然后基于确认后的信息计算得到第一散列哈希值,然后通过椭圆曲线数字签名算法,以及每个所述转账请求对应的用户私钥,计算出对应的转账签名授权。
59、上述转账签名授权过程是在区块链下进行,具体为:
60、基于每个所述转账请求对应的交易序号、金额、上链费用以及转入地址等信息再加上散列哈希算法的固定前缀,计算得到第一散列哈希值thash,然后通过值thash以及对应的用户密钥,计算得到对应的转账签名授权,最后将交易序号、金额、上链费用、转入地址以及转账签名授权等信息在区块链上进行公开。
61、进一步的,所述稳定凭证智能合约模块,用于响应于所述整体上链交易,由所述预设的稳定凭证智能合约执行批量转账,具体为:
62、基于所述整体上链交易,获得批量发起的所述转账请求的每个转账请求的转账签名、交易序号、金额;
63、计算所述每个转账请求对应的手续费,所述手续费等于所述整体上链交易的上链费用除以批量发起的所述转账请求的请求个数的计算结果;
64、核验所述每个转账请求的转账签名、交易序号、金额的合法性;
65、若核验通过,则基于每个所述转账请求进行手续费扣除,并向每个所述转账请求的所述转入地址转入所述金额对应的稳定凭证。
66、上述方案中,稳定凭证智能合约模块通过计算得到的每个转账请求对应的手续费,仅为所述整体上链交易的上链费用除以批量发起的所述转账请求的请求个数的计算结果,大大减少了上链费用,能够有效降低该批批量转账请求的区块链交易成本。
67、进一步的,在所述稳定凭证智能合约模块中,所述核验所述每个转账请求的转账签名、交易序号、金额的合法性,包括:
68、基于所述整体上链交易,获得每个转账请求对应的所述转账签名、交易序号、金额、上链费用及转入地址;
69、检验所述交易序号是否为全局连续递增的序号,若是,则所述交易序号具有合法性;
70、基于所述交易序号、金额、上链费用及转入地址,计算第二散列哈希值;
71、基于所述第二散列哈希值及每个所述转账请求对应的转账签名,利用椭圆曲线数字签名算法获得每个所述转账请求对应的用户公钥;
72、上述计算过程是由预设的稳定凭证智能合约在区块链上进行的,具体为:
73、以每个所述转账请求对应的交易序号、金额、上链费用以及转入地址等信息以及散列哈希算法的固定前缀作为输入,计算得到第二散列哈希值thash,然后利用值thash以及用户签名授权,通过椭圆曲线数字签名算法计算得到对应的用户公钥。
74、上述方案中,因为通过计算得到的用户公钥,与上述提到的用户私钥,在椭圆曲线数字签名算法的计算中是一一对应的,因此可以通过对每笔所述转账请求计算的得到的用户公钥与对应的用户私钥进行比对,若对应,则证明该笔转账请求的转账签名具有合法性。
75、基于所述用户公钥,计算出每个所述转账请求对应的转出地址;
76、基于所述转出地址,获得转出地址对应的转出地址余额;
77、若转出地址余额大于所述金额与所述手续费之和,则所述金额具有合法性。
78、上述方案中,预设的稳定凭证智能合约通过对每个转账请求的转账签名、交易序号、金额的合法性进行核验,即转出方地址余额是否大于金额与手续费之和、签名是否合法、交易序号是否连续递增,若均满足,则能够保证该批批量转账发起的安全性,并且交易过程中没有被篡改。其次,在确认对应信息的合法性之后,通过稳定凭证智能合约模块基于每个所述转账请求进行手续费扣除,并向每个所述转账请求的所述转入地址转入所述金额对应的稳定凭证,具体过程如下:
79、稳定凭证智能合约模块通过预设的稳定智能合约查询每个转账请求对应的转入地址、转出地址以及对应的地址余额;
80、转出地址余额等于所述转出地址余额减去所述手续费和所述金额之和;
81、转入地址余额等于所述转入地址余额与所述金额之和;
82、批量转账服务地址余额等于批量转账服务地址余额与该笔转账请求所述手续费之和。
83、综上所述,本发明的实施例提供了一种基于区块链的批量转账方法及系统,具有如下有益效果:
84、稳定凭证交易由于区块链网络拥堵和手续费市场机制、智能合约执行成本等原因,导致稳定凭证交易中通常伴随着较高的单笔稳定凭证交易的费用,进而使区块链交易存在交易成本较高的问题。对此本发明提供了一种基于区块链的批量转账方法及系统,通过对批量发起的转账请求进行逐个签名授权,在签名授权确认后批量打包为一个整体上链交易,从多次批量请求的上链交易转化为一次整体上链交易,使得批量发起的每笔转账请求在区块链上交易的费用减少到仅为所述整体上链交易的上链费用除以批量发起的转账请求的个数之后的费用,大大降低了区块链交易的交易成本。
85、进一步的,本发明通过利用椭圆曲线数字签名算法,通过设置用户私钥来对批量发起的每笔转账请求中对应的用户签名进行加密并授权,并在进行转账时通过算法利用对应信息计算出对应的用户公钥确认其合法性,再进一步通过确认交易序号是否连续递增,防止重放攻击,保证交易合法之后才执行转账。因此本发明提供的基于区块链的批量转账方法及系统能够保证区块链交易的交易环境具有安全性。
86、另外,在区块链上,用户要完成稳定凭证的转账交易,必须先拥有区块链的原生凭证用于支付交易费。对此,本发明提供的基于区块链的批量转账方法及系统,通过预设的上链费用更新算法,定时从外部交易所获取区块链原生凭证以及最新价格信息,并将该原生凭证存入由预设的稳定凭证智能合约设置的批量转账服务钱包地址,用于后续的转账操作,并更新上链费用为稳定凭证计价。这样,用户可以通过本发明提供的系统,在系统上直接使用稳定凭证进行转账交易,从而大大降低用户的使用门槛。
1.一种基于区块链的批量转账方法,其特征在于,包括以下步骤:
2.如权利要求1所述的一种基于区块链的批量转账方法,其特征在于,所述基于批量发起的转账请求,获取交易序号、金额以及转入地址并计算每个所述转账请求所需的上链费用,包括:
3.如权利要求1所述的一种基于区块链的批量转账方法,其特征在于,所述响应于所述转账签名授权,将批量发起的所述转账请求批量打包为整体上链交易包括:
4.如权利要求3所述的一种基于区块链的批量转账方法,其特征在于,所述基于批量发起的所述转账请求,逐个根据每个转账请求对应的所述交易序号、金额、上链费用以及转入地址,利用椭圆曲线数字签名算法获得对应的转账签名授权,包括:
5.如权利要求4所述的一种基于区块链的批量转账方法,其特征在于,所述响应于所述整体上链交易,由预设的稳定凭证智能合约执行批量转账,具体为:
6.如权利要求5所述的一种基于区块链的批量转账方法,其特征在于,所述核验所述每个转账请求的转账签名、交易序号、金额的合法性,包括:
7.一种基于区块链的批量转账系统,其特征在于,包括计费模块、批量处理模块、上链模块和稳定凭证智能合约模块;
8.如权利要求7所述的一种基于区块链的批量转账系统,其特征在于,所述计费模块,用于基于批量发起的转账请求,获取交易序号、金额、及转入地址并计算每个所述请求所需的上链费用,具体为:
9.如权利要求7所述的一种基于区块链的批量转账系统,其特征在于,所述批量处理模块,用于基于所述交易序号、金额、转入地址及上链费用逐个请求所述转账请求的转账签名授权,包括:
10.如权利要求7所述的一种基于区块链的批量转账系统,其特征在于,所述稳定凭证智能合约模块,用于响应于所述整体上链交易,由所述预设的稳定凭证智能合约执行批量转账,具体为:
11.如权利要求10所述的一种基于区块链的批量转账系统,其特征在于,在所述稳定凭证智能合约模块中,所述核验所述每个转账请求的转账签名、交易序号、金额的合法性,包括: