CN110264172B - 基于区块链的交易处理方法及装置 - Google Patents
基于区块链的交易处理方法及装置 Download PDFInfo
- Publication number
- CN110264172B CN110264172B CN201910390795.4A CN201910390795A CN110264172B CN 110264172 B CN110264172 B CN 110264172B CN 201910390795 A CN201910390795 A CN 201910390795A CN 110264172 B CN110264172 B CN 110264172B
- Authority
- CN
- China
- Prior art keywords
- amount
- transaction
- blockchain
- account
- splitting
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 22
- 238000012546 transfer Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000005540 biological transmission Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 239000003999 initiator Substances 0.000 description 6
- 238000012795 verification Methods 0.000 description 5
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011144 upstream manufacturing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3823—Payment protocols; Details thereof insuring higher security of transaction combining multiple encryption tools for a transaction
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种基于区块链的交易处理方法及装置。一方面,该方法包括:确定区块链上的第一账户与第二账户间的交易数额;将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。通过本发明,解决了相关技术中在区块链上隐藏交易记录的交易数额时资源开销过大的技术问题。
Description
【技术领域】
本发明涉及计算机领域,尤其涉及一种基于区块链的交易处理方法及装置。
【背景技术】
相关技术中,基于区块链的交易会涉及到具体的交易数额,一般情况下,是在交易记录中直接公开该交易数额,但也有可能会隐藏交易数额。
相关技术的区块链上的机密交易就需要隐藏交易金额,因此需要使用PedersenCommitment,可以隐藏交易金额,同时区块链上的验证节点可以验证交易是合理的,即输入等于输出。而由于交易金额为负可能出现欺诈,因此需要结合范围证明(range proof),在不公布交易金额的同时证明交易金额的范围,即证明交易金额不为负数。
由于相关技术中的标准都是隐藏整个交易数额,导致基于环签名的范围证明需要较高的存储代价,交易金额以4为基(使用4进制)想要验证交易金额属于范围[0,232),大约需要2608字节;交易金额以10为基(使用10进制)想要验证交易金额属于范围[0,4294967296),大约需要3402字节。
针对相关技术中存在的上述问题,目前尚未发现有效的解决方案。
【发明内容】
有鉴于此,本发明实施例提供了一种基于区块链的交易处理方法及装置,以解决相关技术中在区块链上隐藏交易记录的交易数额时资源开销过大的技术问题。
一方面,本发明实施例提供了一种基于区块链的交易处理方法,所述方法包括:确定区块链上的第一账户与第二账户间的交易数额;将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。
可选的,确定区块链上的第一账户与第二账户间的交易数额包括:检测到区块链上的第一账户与第二账户间执行机密交易;确定所述机密交易的虚拟资产转移额度,并将所述虚拟资产转移额度确定为所述交易数额。
可选的,将所述交易数额拆分为第一数额和第二数额包括:判断所述交易数额的单位量级是否达到预定量级;在所述交易数额的单位量级达到所述预定量级时,以所述预定量级的最小值为分界线进行拆分,将所述分界线之前的数字确定为第一数额,所述分界线之后的数字确定为第二数额。
可选的,在将所述交易数额拆分为第一数额和第二数额之后,所述方法还包括:对所述第一数额进行范围证明。
可选的,对所述第一数额进行范围证明包括:使用环签名对所述第一数额进行范围证明,输出所述第一数额在每个单位量级的每一个数字的佩德森承诺,所述第一数额在每个单位量级的每一个数字的数字签名,以及随机的初始值。
可选的,将所述交易数额拆分为第一数额和第二数额包括以下之一:在所述第一账户或所述第二账户为指定属性的账户时,将所述交易数额拆分为第一数额和第二数额;在所述区块链的可用存储空间小于门限值时,将所述交易数额拆分为第一数额和第二数额;在所述区块链所在的网络通信环境劣化到触发值时,将所述交易数额拆分为第一数额和第二数额。
可选的,在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额之后,所述装置还包括:向所述区块链的区块节点广播所述交易记录。
另一方面,本发明实施例提供了一种基于区块链的交易处理装置,所述装置包括:确定模块,用于确定区块链上的第一账户与第二账户间的交易数额;拆分模块,用于将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;处理模块,用于在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。
可选的,所述确定模块包括:检测单元,用于检测到区块链上的第一账户与第二账户间执行机密交易;确定单元,用于确定所述机密交易的虚拟资产转移额度,并将所述虚拟资产转移额度确定为所述交易数额。
可选的,所述拆分模块包括:判断单元,用于判断所述交易数额的单位量级是否达到预定量级;第一拆分单元,用于在所述交易数额的单位量级达到所述预定量级时,以所述预定量级的最小值为分界线进行拆分,将所述分界线之前的数字确定为第一数额,所述分界线之后的数字确定为第二数额。
可选的,所述装置还包括:证明模块,用于在所述拆分模块将所述交易数额拆分为第一数额和第二数额之后,对所述第一数额进行范围证明。
可选的,所述证明模块包括:证明单元,用于使用环签名对所述第一数额进行范围证明,输出所述第一数额在每个单位量级的每一个数字的佩德森承诺,所述第一数额在每个单位量级的每一个数字的数字签名,以及随机的初始值。
可选的,所述拆分模块包括以下之一:第二拆分单元,用于在所述第一账户或所述第二账户为指定属性的账户时,将所述交易数额拆分为第一数额和第二数额;第三拆分单元,用于在所述区块链的可用存储空间小于门限值时,将所述交易数额拆分为第一数额和第二数额;第四拆分单元,用于在所述区块链所在的网络通信环境劣化到触发值时,将所述交易数额拆分为第一数额和第二数额。
可选的,所述装置还包括:广播模块,用于在所述处理模块在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额之后,向所述区块链的区块节点广播所述交易记录。
根据本发明的又一个实施例,还提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级,并在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。解决了相关技术中在区块链上隐藏交易记录的交易数额时资源开销过大的技术问题,通过隐藏高于一定量级的交易数额,而只公开价值不大的较小面额的交易数额,可以减小对交易金额进行证明和传输时所占用的存储空间和通信资源,不隐藏交易数额中小量级的数额能够大大节省存储空间,减少通信和存储开销。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1是本发明实施例的一种基于区块链的交易处理的服务器的硬件结构框图;
图2是根据本发明实施例的基于区块链的交易处理方法的流程图;
图3是本发明实施例拆分交易数额的流程示意图;
图4是本发明实施例进行区块链交易并广播交易记录的示意图;
图5是根据本发明实施例的基于区块链的交易处理装置的结构框图。
【具体实施方式】
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在服务器、计算机终端或者类似的运算装置中执行。以运行在服务器上为例,图1是本发明实施例的一种基于区块链的交易处理的服务器的硬件结构框图。如图1所示,服务器可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述服务器还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述服务器的结构造成限定。例如,服务器还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的基于区块链的交易处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括服务器的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
本实施例基于区块链的使用场景体包括银行转账、保险购买和理赔、证券交易、商业协会、集团企业及上下游企业间的账户交易。
在本实施例中提供了一种基于区块链的交易处理方法,图2是根据本发明实施例的基于区块链的交易处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,确定区块链上的第一账户与第二账户间的交易数额;
在用户基于区块链发起交易时,发起者会选择一个具体的交易数额,然后在发起者的第一账户中扣除对应的交易数额,在收款方的第二账户中增加交易数额,完成转账,形成一个交易记录。
步骤S204,将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;
步骤S206,在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。
通过本实施例的方案,将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级,并在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。解决了相关技术中在区块链上隐藏交易记录的交易数额时资源开销过大的技术问题,通过隐藏高于一定量级的交易数额,而只公开价值不大的较小面额的交易数额,可以减小对交易金额进行证明和传输时所占用的存储空间和通信资源,不隐藏交易数额中小量级的数额能够大大节省存储空间,减少通信和存储开销。
本实施例的交易金额是指区块链上的账户发起交易时,账户间的资产转移数额,如区块链上的第一账户向第二账户转移资产。交易一般指的是同一区块链,当然在跨链场景中,如果数据可以兼容,也可以交易。确定区块链上的第一账户与第二账户间的交易数额包括:检测到区块链上的第一账户与第二账户间执行机密交易;确定所述机密交易的虚拟资产转移额度,并将所述虚拟资产转移额度确定为所述交易数额。
本实施例的应用场景包括各种数字货币在内的转账应用:数字货币交易中以上次交易的输出作为本次交易的输入,输出是本次交易的输出;输入可以是多个,输出也可以是多个;机密交易需要对输入输出进行加密,然后将密文传到区块链上,区块链上的其他节点没法看到具体的交易金额,但可以验证交易输入的密文的和等于交易输入的密文的和(这是由于加密算法(即Pedersen Commitment)具有加法同态性);范围证明是在保持输入输出都是密文的情况下向其他用户证明每个输入或输出不是负数,主要是证明了从甲账户转移到乙账户的金额不是一个负数,如果转账的金额是明的很容易,但在区块链的机密交易中金额是加密后的,因此需要在不破坏交易金额是密文的条件下证明交易金额不是一个负数,这是范围证明的本质问题。
图3是本发明实施例拆分交易数额的流程示意图,将所述交易数额拆分为第一数额和第二数额包括:
步骤S302,判断所述交易数额的单位量级是否达到预定量级;
确定交易金额是确定交易金额的数额范围是否超过预定量级,如是否达到万位,千位等。除此之外,还可以确定交易金额是否小于一个最大值,即属于一个预定的范围,如[0,232],由于232(也有使用264作为上界的)这些数远远小于椭圆曲线的阶(一个256比特的数),因此在证明交易金额是否为负时,只要证明在有限域上交易金额只有32比特就相当于证明了交易金额不是一个负数。
步骤S304,在所述交易数额的单位量级达到所述预定量级时,以所述预定量级的最小值为分界线进行拆分,将所述分界线之前的数字确定为第一数额,所述分界线之后的数字确定为第二数额。
在交易金额高于一定金额时,如超过100(或其他金额,如1万)时,需要隐藏交易金额,这是将总交易金额拆分为第一部分和第二部分,第一部分为需要隐藏的大额部分,第二部分为不需要隐藏的小额部分。在一个示例中,交易数额为603,可知其超过了“百”的预定量级,该量级的最小值为100,603拆分为6.03,“6”为第一数额,“03”为第二数额。在另一个示例中,如果预设量级是100,分界线在百位在十位之间,如交易数额为300.21元,则之前的第一数额为300,之后的第二数额21。
可选的,在将所述交易数额拆分为第一数额和第二数额之后,还包括:对所述第一数额进行范围证明。具体的,对所述第一数额进行范围证明包括:使用环签名对所述第一数额进行范围证明,输出所述第一数额在每个单位量级的每一个数字的佩德森承诺,所述第一数额在每个单位量级的每一个数字的数字签名,以及随机的初始值。
在本实施例的一个示例中,可以使用佩德森承诺(Pedersen Commitment)隐藏交易金额,然后使用基于环签名的范围证明对第一数额进行范围证明,输出结果包括,第一数额每一位的Pedersen Commitment(33字节),对每一位的每一个可能值做签名(每个签名32字节),以及一个初始值(32字节)。本实施例中的初始值是环签名的一个输入,是随机生成的一个长度为32字节的数,其明文作为交易中范围证明的一部分发送到区块链上。
因此如果不对交易金额中第二数额(100元以内)进行证明,则交易金额以4为基(使用4进制)并证明交易金额百位以上金额属于范围[0,219),仅需要约1578字节;以10为基(使用10进制)并证明交易金额百位以上金额属于范围[0,429496)大约需要1990字节。
环签名方案中签名者首先选定一个临时的签名者集合,集合中包括签名者自己,然后签名者利用自己的私钥和签名者集合中其他人的公钥就可以独立的对消息进行签名,该签名方案可以证明消息由签名者集合中的某一个人签名,但同时并不泄露签名人到底是谁。
下面对本实施例的环签名原理,以及如何使用环签名进行范围证明进行解释和说明:
假设交易金额是一位二进制数,则其只有0和1两种可能。(1)如果交易金额为0,则其对应的Pedersen commitment为C=Commit(x,0)=xG+0H=xG,因此将C看做公钥的情况下交易发起方拥有C的私钥x,即盲因子是C对应的私钥。(2)如果交易金额为1,则其对应的Pedersen commitment为C=Commit(x,1)=xG+1H=xG+H,由于在Pedersen Commitment中要求所有人不知道使得H=hG成立的h的值到底是多少,因此任何人都很难找到C对应的私钥,但此时C’=C-1H=xG+1H-1H=xG,因此此时交易发起方拥有C’对应的私钥x。结合(1)和(2),不管交易金额是0还是1,交易发起方能向其他人证明他拥有C的私钥或C’的私钥。交易发起方可以以C和C’作为环签名的签名者集合,使用盲因子作为私钥进行环签名,可以向其他人证明拥有C的私钥或C’的私钥,同时并不泄露具体的金额。
进一步,如果想证明一个Pedersen commitment承诺C的交易金额在[0,32)的范围内,可以通过提供交易金额每一位的Pedersen Commitment的交易金额满足以下关系来进行证明:
C1 is 0 or 1C2 is 0 or 2C3 is 0 or 4C4 is 0 or 8C5 is 0 or 16,通过选取适当的盲因子,能够使得C1+C2+C3+C4+C5=C,构建一个5比特的数,而该5比特数只能在[0,32)这一范围内。以上的示例以2为基证明交易金额属于[0,25),也可以以4或者10为基证明交易金额,原理类似。
一笔交易证明其属于多大范围是合理的。通常的交易金额多数用32比特来表示,即大多数属于[0,232),即属于[0,4294967296)。考虑到后两位表示角和分,交易金额的范围属于[0,42949672.96),大约在四千三百万元以内,可以包含绝大多数应用。当然如果考虑所有的可能性,范围[0,264)应该能够涵盖地球上进行的所有交易了。本实施例针对对范围[0,232)的范围证明结果,对于[0,264)有类似的结论。
以哪种基来表示交易金额代价较小,通过本实施例表明,以4为基(即4进制)来表示交易金额的存储代价较小。
以10为基(10进制)来表示32比特交易金额,需要10位整数,计算对一笔交易进行范围证明的代价。首先,对每一位进行Pedersen Commitment,使用椭圆曲线上点的压缩表示,每个Pedersen Commitment大约需要33字节,10个Pedersen Commitment需要330字节。然后做Borromean环签名,需要一个初始值e0(32字节),每位上的所有可能值做签名(每个签名32字节,低9位每位需要对(0~9)做10个签名,最高位需要对(0~4)做5个签名,一共是95个签名),环签名需要32+95*32=3072字节。因此以10为基的代价大致为330+3072=3402字节。
以4为基(4进制)来表示32比特交易金额,需要16位4进制数,计算对一笔交易进行范围证明的代价。首先,对每一位进行Pedersen Commitment,16个Pedersen Commitment需要528字节。然后做Borromean环签名,需要一个初始值e0(32字节),每位上的所有可能值做签名(每位需要对(0~3)做4个签名,一共是16*4=64个签名),环签名需要32+64*32=2208字节。因此以4为基的存储代价大致为528+2080=2608字节。
由于基于环签名的范围证明需要对交易金额每一位进行环签名,因此如果不对交易金额中100元以内的金额进行证明,则交易金额以4为基(使用4进制)并证明交易金额百位以上金额属于范围[0,219),仅需要约1578字节(10*33+9*4*32+2*32+32),减少1030字节的存储空间;以10为基(使用10进制)并证明交易金额百位以上金额属于范围[0,429496)大约需要1990字节(6*33+5*10*32+5*32+32)减少1408字节的存储空间。因此不管使用何种基,本实施例的方案改进均能大大节省范围证明的存储代价,从而节省机密交易中的通信和存储开销。
一般情况下,正常交易是在交易记录中直接公开全部的交易数额,即使是机密交易,也是在交易记录中隐藏全部的交易数额。均不同于本方案的隐藏高量级部分,公开低量级部分,本实施例的触发机制包括:转账账户的属性信息(是否为vip客户),当前区块链系统的可用空间是否达到门限值,或者通信环境是否达到恶劣的触发值等。或者是交易类型是否为特定类型,如机密交易,机密交易可以通过交易的标识来识别,账户间交易的交易请求中携带用于指示是否为机密交易的标识。将所述交易数额拆分为第一数额和第二数额可以但不限于为:在所述第一账户或所述第二账户为指定属性的账户时,将所述交易数额拆分为第一数额和第二数额;在所述区块链的可用存储空间小于门限值时,将所述交易数额拆分为第一数额和第二数额;在所述区块链所在的网络通信环境劣化到触发值时,将所述交易数额拆分为第一数额和第二数额。
可选的,在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额之后,还包括:向所述区块链的区块节点广播所述交易记录,或者是使用交易记录生成一个新的区块,新的区块加入到一个已经存在区块链中。以实现区块链的共识机制。图4是本发明实施例进行区块链交易并广播交易记录的示意图,其中,A区块上的第一账户与B区块上的第二账户进行交易,隐藏部分交易数额后,将交易记录广播给区块链上的其他区块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
在本实施例中还提供了一种基于区块链的交易处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明实施例的基于区块链的交易处理装置的结构框图,如图5所示,该装置包括:
确定模块50,用于确定区块链上的第一账户与第二账户间的交易数额;
拆分模块52,用于将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;
处理模块54,用于在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。
可选的,所述确定模块包括:检测单元,用于检测到区块链上的第一账户与第二账户间执行机密交易;确定单元,用于确定所述机密交易的虚拟资产转移额度,并将所述虚拟资产转移额度确定为所述交易数额。
可选的,所述拆分模块包括:判断单元,用于判断所述交易数额的单位量级是否达到预定量级;第一拆分单元,用于在所述交易数额的单位量级达到所述预定量级时,以所述预定量级的最小值为分界线进行拆分,将所述分界线之前的数字确定为第一数额,所述分界线之后的数字确定为第二数额。
可选的,所述装置还包括:证明模块,用于在所述拆分模块将所述交易数额拆分为第一数额和第二数额之后,对所述第一数额进行范围证明。
可选的,所述证明模块包括:证明单元,用于使用环签名对所述第一数额进行范围证明,输出所述第一数额在每个单位量级的每一个数字的佩德森承诺,所述第一数额在每个单位量级的每一个数字的数字签名,以及随机的初始值。
可选的,所述拆分模块包括以下之一:第二拆分单元,用于在所述第一账户或所述第二账户为指定属性的账户时,将所述交易数额拆分为第一数额和第二数额;第三拆分单元,用于在所述区块链的可用存储空间小于门限值时,将所述交易数额拆分为第一数额和第二数额;第四拆分单元,用于在所述区块链所在的网络通信环境劣化到触发值时,将所述交易数额拆分为第一数额和第二数额。
可选的,所述装置还包括:广播模块,用于在所述处理模块在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额之后,向所述区块链的区块节点广播所述交易记录。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明的实施例还提供了一种存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,确定区块链上的第一账户与第二账户间的交易数额;
S2,将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;
S3,在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,确定区块链上的第一账户与第二账户间的交易数额;
S2,将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;
S3,在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (7)
1.一种基于区块链的交易处理方法,其特征在于,所述方法包括:
确定区块链上的第一账户与第二账户间的交易数额;
将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;
对所述第一数额进行范围证明;
在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额;
所述将所述交易数额拆分为第一数额和第二数额包括:
判断所述交易数额的单位量级是否达到预定量级;
在所述交易数额的单位量级达到所述预定量级时,以所述预定量级的最小值为分界线进行拆分,将所述分界线之前的数字确定为第一数额,所述分界线之后的数字确定为第二数额;
对所述第一数额进行范围证明包括:
以4为基表示所述交易数额,使用环签名对所述第一数额进行范围证明,输出所述第一数额在每个单位量级的每一个数字的佩德森承诺,所述第一数额在每个单位量级的每一个数字的数字签名,以及随机的初始值。
2.根据权利要求1所述的方法,其特征在于,确定区块链上的第一账户与第二账户间的交易数额包括:
检测到区块链上的第一账户与第二账户间执行机密交易;
确定所述机密交易的虚拟资产转移额度,并将所述虚拟资产转移额度确定为所述交易数额。
3.根据权利要求1所述的方法,其特征在于,将所述交易数额拆分为第一数额和第二数额包括以下之一:
在所述第一账户或所述第二账户为指定属性的账户时,将所述交易数额拆分为第一数额和第二数额;
在所述区块链的可用存储空间小于门限值时,将所述交易数额拆分为第一数额和第二数额;
在所述区块链所在的网络通信环境劣化到触发值时,将所述交易数额拆分为第一数额和第二数额。
4.根据权利要求1所述的方法,其特征在于,在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额之后,所述方法还包括:
向所述区块链的区块节点广播所述交易记录。
5.一种基于区块链的交易处理装置,其特征在于,所述装置包括:
确定模块,用于确定区块链上的第一账户与第二账户间的交易数额;
拆分模块,用于将所述交易数额拆分为第一数额和第二数额,其中,所述第一数额的资产单位量级大于所述第二数额的资产单位量级;
证明模块,用于对所述第一数额进行范围证明;
处理模块,用于在交易记录中隐藏所述交易数额中的所述第一数额,并公开所述交易数额中的所述第二数额;
其中,所述拆分模块包括:
判断单元,用于判断所述交易数额的单位量级是否达到预定量级;
第一拆分单元,用于在所述交易数额的单位量级达到所述预定量级时,以所述预定量级的最小值为分界线进行拆分,将所述分界线之前的数字确定为第一数额,所述分界线之后的数字确定为第二数额;
其中,所述证明模块包括:
证明单元,用于以4为基表示所述交易数额,使用环签名对所述第一数额进行范围证明,输出所述第一数额在每个单位量级的每一个数字的佩德森承诺,所述第一数额在每个单位量级的每一个数字的数字签名,以及随机的初始值。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910390795.4A CN110264172B (zh) | 2019-05-10 | 2019-05-10 | 基于区块链的交易处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910390795.4A CN110264172B (zh) | 2019-05-10 | 2019-05-10 | 基于区块链的交易处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110264172A CN110264172A (zh) | 2019-09-20 |
CN110264172B true CN110264172B (zh) | 2024-02-02 |
Family
ID=67913021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910390795.4A Active CN110264172B (zh) | 2019-05-10 | 2019-05-10 | 基于区块链的交易处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110264172B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11580533B2 (en) * | 2019-12-10 | 2023-02-14 | Mastercard International Incorporated | Method and system for optimization of data storage for distributed ledgers |
CN111311265B (zh) * | 2020-02-13 | 2023-07-25 | 布比(北京)网络技术有限公司 | 区块链私密交易证明方法、装置、计算机设备和存储介质 |
CN111342962B (zh) * | 2020-04-01 | 2020-10-30 | 支付宝(杭州)信息技术有限公司 | 一种验证密文消息范围的方法和系统 |
CN111833061B (zh) * | 2020-09-21 | 2020-12-01 | 江苏傲为控股有限公司 | 一种将资产转化为数字资产的资产处理方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897041A (zh) * | 2005-07-14 | 2007-01-17 | 刘庆志 | 指令密码系统及指令密码处理方法 |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN108009441A (zh) * | 2017-11-23 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 资源转移和资金转移的方法和装置 |
CN109034800A (zh) * | 2018-07-31 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种隐私交易方法、系统及设备 |
-
2019
- 2019-05-10 CN CN201910390795.4A patent/CN110264172B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1897041A (zh) * | 2005-07-14 | 2007-01-17 | 刘庆志 | 指令密码系统及指令密码处理方法 |
CN106549749A (zh) * | 2016-12-06 | 2017-03-29 | 杭州趣链科技有限公司 | 一种基于加法同态加密的区块链隐私保护方法 |
CN108009441A (zh) * | 2017-11-23 | 2018-05-08 | 阿里巴巴集团控股有限公司 | 资源转移和资金转移的方法和装置 |
CN109034800A (zh) * | 2018-07-31 | 2018-12-18 | 杭州复杂美科技有限公司 | 一种隐私交易方法、系统及设备 |
Non-Patent Citations (1)
Title |
---|
基于Borromean环签名的隐私数据认证方案;张凡等;密码学报;第1-9页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110264172A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110264172B (zh) | 基于区块链的交易处理方法及装置 | |
US20210160082A1 (en) | Blockchain transaction method and apparatus | |
CN109493204B (zh) | 基于区块链的业务记账方法及终端设备 | |
US11062303B2 (en) | Cryptographically concealing amounts transacted on a ledger while preserving a network's ability to verify the transaction | |
CN110213059B (zh) | 一种随机数的生成方法、生成装置及存储介质 | |
CN110708171A (zh) | 区块链共识投票方法、装置、设备以及存储介质 | |
CN108989047A (zh) | 一种基于sm2算法的通信双方协同签名方法与系统 | |
CN109635572B (zh) | 一种基于区块链的合约签订方法、装置及终端设备 | |
CN109615525B (zh) | 多签名共享账户的保护方法、系统及电子设备 | |
CN110011810A (zh) | 基于可链接环签名和多重签名的区块链匿名签名方法 | |
CN111008863A (zh) | 一种基于区块链的抽奖方法及系统 | |
CN106034149A (zh) | 一种账户识别方法及装置 | |
CN110827121B (zh) | 基于区块链的电子投标方法、设备及存储介质 | |
CN114329527A (zh) | 交集数据获取方法、设备和系统 | |
CN110363509B (zh) | 一种信息保护方法及装置 | |
CN112101944A (zh) | 一种高效隐私支付实现方法、装置、计算机设备及存储介质 | |
WO2023098294A1 (zh) | 异构数据处理方法、装置及电子设备 | |
WO2021009528A1 (en) | Cryptographic pseudonym mapping method, computer system, computer program and computer-readable medium | |
CN103916393B (zh) | 基于对称密钥的云数据隐私保护公众审计方法 | |
CN109413099B (zh) | 基于证书的混合云加密通信方法、装置以及电子设备 | |
EP3955149A1 (en) | Method and apparatus for securing real-time data transfer from a device | |
CN107659411B (zh) | 加密货币中条件可追踪用户签名的方法和系统 | |
CN116910816B (zh) | 一种提高隐私保护下的多方资产协同管理方法及装置 | |
CN111931221A (zh) | 数据处理方法、装置和服务器 | |
CN112165383A (zh) | 基于共享根密钥的加密方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |