CN112348673A - 一种区块链交易处理的方法及装置 - Google Patents
一种区块链交易处理的方法及装置 Download PDFInfo
- Publication number
- CN112348673A CN112348673A CN202011124587.9A CN202011124587A CN112348673A CN 112348673 A CN112348673 A CN 112348673A CN 202011124587 A CN202011124587 A CN 202011124587A CN 112348673 A CN112348673 A CN 112348673A
- Authority
- CN
- China
- Prior art keywords
- transaction
- auxiliary information
- cluster
- message
- current
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title description 7
- 239000003999 initiator Substances 0.000 claims abstract description 99
- 238000012545 processing Methods 0.000 claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 42
- 238000012795 verification Methods 0.000 claims description 56
- 238000010586 diagram Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 10
- 238000004364 calculation method Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 230000000977 initiatory effect Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- 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/3825—Use of electronic signatures
-
- 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/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/401—Transaction verification
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Development Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种区块链交易处理的方法及装置,包括:交易发起方确定当前交易的第一辅助信息和当前交易的第二辅助信息,其中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链,第二辅助信息用于指示交易簇中最后一笔交易,且所述第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息,然后构造当前交易的交易报文并发送至交易验证方,其中,交易报文包括交易内容、第一辅助信息和第二辅助信息。交易发起方根据当前交易的第一辅助信息链接前一笔交易,防止前一笔交易被篡改,在交易发起方生成交易簇中最后一笔交易时,只对交易簇中最后一笔交易进行签名,减少了交易发起方生成签名的工作量,减少了交易签名的数据量。
Description
技术领域
本发明涉及金融科技(Fintech)领域,尤其涉及一种区块链交易处理的方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术(例如:区块链、云计算或大数据)应用在金融领域,传统金融业正在逐步向金融科技转变,大数据技术也不例外,但由于金融、支付行业的安全性、实时性要求,也对大数据技术提出的更高的要求。
区块链网络中的交易处理方法为:交易发起方产生交易并对每笔交易进行签名,然后将签名好的交易广播至区块链网络中。交易验证方在收到新产生的交易后,会对交易的签名及交易内容(如:交易账户的合法性)进行验证。若交易验证成功,则将交易放入交易验证方的本地交易池中,然后从交易池中按顺序将交易打包进区块,打包好的区块由共识节点验证并共识上链。
根据上述交易处理方法可以看出,每笔交易都需要进行签名,一方面增加了交易发起方的生成签名的工作量,另一方面,交易验证方需要对每笔交易的签名都进行验证,也增加了交易验证方的签名验证工作量。因此,需要提供一种新的交易构造方案及交易验证方案来减轻交易发起方和交易验证方的工作量。
发明内容
本发明实施例提供一种区块链交易处理的方法及装置,用于减少交易签名的数据量,提升交易验证的效率。
第一方面,本发明实施例提供一种区块链交易处理的方法,包括:
交易发起方确定当前交易的第一辅助信息和当前交易的第二辅助信息;其中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链;第二辅助信息用于指示交易簇中最后一笔交易,且所述第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息;
所述交易发起方构造所述当前交易的交易报文并发送至交易验证方;其中,交易报文包括交易内容、第一辅助信息和第二辅助信息。
上述技术方案中,交易发起方根据当前交易的第一辅助信息链接前一笔交易,防止前一笔交易被篡改,从而可以实现交易发起方将生成的交易发送至交易验证方,根据第一辅助信息连接交易,从而构成交易簇的交易链,由当前交易验证前一个交易,避免发送出去的交易被篡改,在交易发起方生成交易簇中最后一笔交易时,只需对最后一笔交易的内容进行签名,得到签名信息,并不是对所有交易的内容进行签名,减少了交易发起方生成对交易的签名信息,且通过最后一个签名验证了该交易簇中所有交易的真实性,减少了交易签名的数据量,提升了交易发起方发起交易的效率。
可选的,交易发起方确定当前交易的第一辅助信息,包括:
所述交易发起方根据所述当前交易的交易标号,获取所述当前交易的前一笔交易的交易报文;
所述交易发起方对所述前一笔交易的交易报文进行哈希,得到所述当前交易的第一辅助信息。
上述技术方案中,根据交易标号,确定出交易簇中当前交易的前一笔交易的交易报文,进而得到当前交易的第一辅助信息,根据第一辅助信息将当前交易与前一笔交易链接,构成交易链,防止前一笔交易被篡改,从而可以实现交易发起方将生成的交易并行(生成即发送)的发送至交易验证方,不需要批量积攒统一方法,避免了交易发起方在发送交易的过程中网络拥堵,且避免了发送出去的交易被篡改。
可选的,交易发起方确定当前交易的第二辅助信息,包括:
所述交易发起方确定所述当前交易为所述交易簇中最后一笔交易,则对所述当前交易的交易内容和所述当前交易的第一辅助信息进行签名,得到所述当前交易的第二辅助信息;
所述交易发起方确定所述当前交易不是所述交易簇中最后一笔交易,则设置所述当前交易的第二辅助信息为空值。
上述技术方案中,在交易发起方确定当前交易为交易簇中最后一笔交易时,对当前交易进行签名,否则不进行签名,也就是说,针对一条交易簇的交易链,对交易链上最后一笔交易的内容进行签名,并不是对交易簇的交易链中所有交易的内容进行签名,减少交易发起方生成的签名信息,降低交易发起方对签名的计算量,缩短了交易发起方生成交易的计算时间,且避免在批量发送交易时,交易发起方因批量交易的内容数据量过大导致的在签名时内存不足。
可选的,所述交易发起方确定所述当前交易为所述交易簇中最后一笔交易,包括:
所述交易发起方根据所述当前交易的交易标号,确定满足所述交易簇的数量阈值;或所述交易发起方根据所述当前交易的交易时间戳,确定满足所述交易簇的时长阈值。
可选的,交易内容包括交易时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额及交易标号。
第二方面,本发明实施例提供一种区块链交易处理的方法,包括:
针对交易发起方发送的交易簇中的任一交易报文,交易验证方在接收到所述交易报文后,对所述交易报文进行报文验证;其中,报文验证包括:确定交易报文中的交易内容是否合法、确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易及确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名;
所述交易验证方在对所述交易簇中的各交易报文验证通过后,将所述交易簇中的各交易报文作为待打包的交易。
上述技术方案中,交易验证方针对接收的任一交易,通过交易内容确定该交易是否正确,根据第一辅助信息确定当前交易是否链接的为交易簇中前一笔交易,再根据第二辅助信息确定出交易簇的交易链上的各交易为交易发起方签名发送的,然后将各交易作为待打包为区块的交易,交易验证方还可以根据第一辅助信息验证前一个交易,避免接收的前一个交易被篡改,在接收到交易簇中最后一笔交易时,只需对最后一笔交易进行验证标签信息,不需要对各交易再进行验证标签信息,减少了交易验证方验证交易的工作量,避免因交易发起方批量发送的交易而导致的增加交易验证方的计算负荷和计算时长,提升了交易验证方验证交易的效率。
可选的,确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易,包括:
获取前一笔交易的交易报文;
对所述前一笔交易的交易报文进行哈希,得到第一哈希结果;
确定所述第一哈希结果与所述第一辅助信息是否相同。
上述技术方案中,若第一哈希结果与第一辅助信息相同,则在前一笔交易之后链接当前交易,不但构成了交易链,还验证了前一笔交易,防止前一个交易内容被篡改,避免了安全隐患。
可选的,确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名,包括:
对所述最后一笔交易的交易报文中的交易内容和第一辅助信息进行哈希,得到第二哈希结果;
使用所述交易发起方的公钥对所述第二辅助信息进行解密,得到第三哈希结果;
确定所述第二哈希结果与所述第三哈希结果是否相同。
上述技术方案中,若第二哈希结果与第二辅助信息相同,则交易的签名验证通过,因该签名信息是交易簇中的最后一笔交易,则交易簇中各交易也通过验证,且因都是交易链上的交易,保证了各交易的安全,不需要对各交易再进行验证,减少了交易验证方验证交易的工作量,提升了交易验证方验证交易的效率。
第三方面,本发明实施例提供一种区块链交易处理的装置,包括:
处理模块,用于确定当前交易的第一辅助信息和当前交易的第二辅助信息;其中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链;第二辅助信息用于指示交易簇中最后一笔交易,且所述第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息;
发送模块,用于构造所述当前交易的交易报文并发送至交易验证方;其中,交易报文包括交易内容、第一辅助信息和第二辅助信息。
可选的,所述处理模块具体用于:
根据所述当前交易的交易标号,获取所述当前交易的前一笔交易的交易报文;
对所述前一笔交易的交易报文进行哈希,得到所述当前交易的第一辅助信息。
可选的,所述处理模块具体用于:
确定所述当前交易为所述交易簇中最后一笔交易,则对所述当前交易的交易内容和所述当前交易的第一辅助信息进行签名,得到所述当前交易的第二辅助信息;
确定所述当前交易不是所述交易簇中最后一笔交易,则设置所述当前交易的第二辅助信息为空值。
可选的,所述处理模块具体用于:
根据所述当前交易的交易标号,确定满足所述交易簇的数量阈值;或根据所述当前交易的交易时间戳,确定满足所述交易簇的时长阈值。
可选的,交易内容包括交易时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额及交易标号。
第四方面,本发明实施例提供一种区块链交易处理的装置,包括:
验证单元,针对交易发起方发送的交易簇中的任一交易报文,在接收到所述交易报文后,对所述交易报文进行报文验证;其中,报文验证包括:确定交易报文中的交易内容是否合法、确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易及确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名;
处理单元,在对所述交易簇中的各交易报文验证通过后,将所述交易簇中的各交易报文作为待打包的交易。
可选的,所述验证单元具体用于:
获取前一笔交易的交易报文;
对所述前一笔交易的交易报文进行哈希,得到第一哈希结果;
确定所述第一哈希结果与所述第一辅助信息是否相同。
可选的,所述验证单元具体用于:
对所述最后一笔交易的交易报文中的交易内容和第一辅助信息进行哈希,得到第二哈希结果;
使用所述交易发起方的公钥对所述第二辅助信息进行解密,得到第三哈希结果;
确定所述第二哈希结果与所述第三哈希结果是否相同。
第五方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链交易处理的方法。
第六方面,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述区块链交易处理的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构示意图;
图2为本发明实施例提供的一种区块链交易处理的方法的流程示意图;
图3为本发明实施例提供的一种区块链交易链的示意图;
图4为本发明实施例提供的一种区块链交易处理的示意图;
图5为本发明实施例提供的一种区块链交易处理的示意图;
图6为本发明实施例提供的一种区块链交易处理的示意图;
图7为本发明实施例提供的一种区块链交易处理的方法的流程示意图;
图8为本发明实施例提供的一种区块链交易验证的示意图;
图9为本发明实施例提供的一种区块链交易处理的结构示意图;
图10为本发明实施例提供的一种区块链交易处理的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在现有技术中,为了减少交易发起方和交易验证方的工足量,一般通过聚合签名的交易处理的方法加快交易的验证速度且在交易打包成区块的过程中减少投票签名的存储量(如:EOS共识机制中采用21个拜占庭节点,NEO共识机制中采用7个拜占庭节点),通过批量交易处理的方法减少交易签名的生成量。但是上述两种交易处理的方法存在以下缺点:
聚合签名的交易处理的方法缺点在于:区块一般在各节点都有一份,这使得交易的存储成本非常高,区块中每笔交易都需要存储其签名,会耗费大量存储空间。且聚合签名的交易方法仅仅在交易打包时减少了投票签名的存储量,并没有减少区块的产生节点和共识节点验证每一笔交易的签名耗费的时间,因此使区块的产生速度和共识速度效率低下,导致区块链的性能不高。
批量交易处理的方法缺点在于:交易的发起者阻塞交易的发送,直到积累到一定数量的交易或达到某个限制的时间间隔,然后对批量的交易进行签名再发送给其他节点,但一次性发送大批交易容易导致计算时的内存不足和网络拥塞,且交易之间无法并行(即生成一个交易发送一个交易)发送和验证。在进行签名时,是对批量存储的所有交易内容进行哈希,然后再进行签名,消耗了交易发起方极大的运算量。
本发明实施例提供了一种区块链交易处理的方法,用于降低交易发起方和交易验证方的工作量。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构包括交易发起方110和交易验证方120。
其中,交易发起方110可以为某机构的客户端、服务器等,也可以为SDK(SoftwareDevelopment Kit,软件开发工具包),用于发起交易,其中,发起的当前交易中的第一辅助信息为前一笔交易的交易报文哈希得到的,第二辅助信息是交易发起方110根据数量阈值或时间阈值确定出的交易簇中最后一笔交易进行签名得到的。
交易验证方120可以为任一服务器、客户端等,交易验证方120在区块链网络中是具有唯一身份的参与者,具有一份完整的账本拷贝,具有参与区块链网络共识和账本维护的能力,用于在接收到交易时,对交易进行验证其合法性,且将验证通过的交易打包进去区块,作为待共识的区块。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种区块链交易处理的方法的流程,该流程可由交易处理的装置执行。
如图2所示,该流程具体包括:
步骤210,交易发起方确定当前交易的第一辅助信息和当前交易的第二辅助信息。
本发明实施例中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链,第二辅助信息用于指示交易簇中最后一笔交易,且第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息。第一辅助信息是根据前一笔交易的交易报文确定的,而前一笔交易是根据各交易中的交易标号确定的。
进一步地,交易发起方根据当前交易的交易标号,获取当前交易的前一笔交易的交易报文,然后对前一笔交易的交易报文进行哈希,得到当前交易的第一辅助信息。
在本发明实施例中,前一笔交易的交易报文包括前一交易的时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额、交易标号及第一辅助信息,对前一笔交易的交易报文进行哈希,得到当前交易的第一辅助信息,然后通过当前交易的第一辅助信息链接前一笔交易从而构成交易簇的交易链。例如,图3示例性的示出了一种区块链交易链的示意图,如图3所示,若当前交易的交易标号为4,则前一笔交易为交易标号为3的交易,则交易标号为4的第一辅助信息是根据交易标号为3的交易的全部内容哈希得到的。需要说明的是,若前一笔交易为交易簇中的第一笔交易,则交易簇中的第一笔交易的第一辅助信息设置为空,如交易标号为2的交易为交易簇中的第一笔交易,即第一辅助信息为空。
进一步地,交易发起方确定当前交易为交易簇中最后一笔交易,则对当前交易的交易内容和当前交易的第一辅助信息进行签名,得到当前交易的第二辅助信息,若确定当前交易不是交易簇中最后一笔交易,则设置当前交易的第二辅助信息为空值。
在本发明实施例中,根据预设的数量阈值或时间阈值确定当前交易为交易簇中最后一笔交易,具体的,交易发起方根据当前交易的交易标号,确定满足交易簇的数量阈值,或当前交易的交易时间戳,确定满足交易簇的时长阈值。例如,数量阈值为100,则交易发起方根据当前交易的交易标号(如101),则对确定当前交易为交易簇中最后一笔交易。
需要说明的,数量阈值和时长阈值是用户可以根据经验预设的值,如数量阈值为100,时长阈值为1分钟。
步骤220,所述交易发起方构造所述当前交易的交易报文并发送至交易验证方。
在本发明实施例中,交易报文包括交易内容、第一辅助信息和第二辅助信息,交易内容包括交易时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额及交易标号。
为了更好的解释上述技术方案,下面将再具体实例中进行阐述。
实例1
基于图3进行描述,图4是示例性的示出了一种区块链交易处理的示意图,如图4所示,SDK产生一笔交易,作为交易簇的第1笔交易,发送给区块链网络中所连接的节点(交易发起方),如通过SDK给Bob转100个区块链上的数字资产,则交易发起方获取当前时间,确定出时间戳,还有SDK的区块链账户地址、Bob(交易接收者)的区块链地址、交易金额并查询自身在区块链网络中的交易标号(如交易标号为1)并加一,作为当前交易(第1笔交易TX1)的交易标号(2),因为当前交易是交易簇中的第1笔交易,因此,第一辅助信息为空,当前交易不是交易簇中的最后一笔交易,则第二辅助信息为空。
基于上述描述,图5是示例性的示出了一种区块链交易处理的示意图,如图5所示,SDK产生交易簇中的第2笔交易并发送给区块链网络中交易发起方,如通过SDK给将42个区块链上的数字资产发送给Tony,则交易发起按照上述描述确定出当前交易(第2笔交易TX2)的时间戳,SDK的区块链账户地址、Tony(交易接收者)的区块链地址、交易金额并查询自身在区块链网络中的交易标号(2)并加一,作为当前交易(第2笔交易TX2)的交易标号(3),因为当前交易是交易簇中的第2笔交易,所以,第2笔交易TX2的第一辅助信息为第1笔交易TX1的交易报文进行哈希得到的,当前交易不是交易簇中的最后一笔交易,则第二辅助信息为空。
基于上述描述,图6是示例性的示出了一种区块链交易处理的示意图,如图6所示,当交易的数量达到数量阈值,或距离第一笔交易的时间戳达到时间阈值时,则生成的交易为交易簇中的最后一笔交易。如,在SDK生成第100(数量阈值)个交易时,向Lucy发送89个区块链上的数字资产,则交易发起方按照上述描述确定出当前交易(第100笔交易TX100)的时间戳,SDK的区块链账户地址、Lucy(交易接收者)的区块链地址、交易金额并查询自身在区块链网络中的交易标号(100)并加一,作为当前交易(第100笔交易TX100)的交易标号(101),因为当前交易是交易簇中的最后一笔交易,因此,第100笔交易TX100的第一辅助信息为第99笔交易TX99的交易报文进行哈希得到的,然后SDK对第100笔交易TX100的交易报文进行哈希,得到签名哈希,并用自身的区块链账户所对应的私钥对签名哈希签名,确定出签名信息。
在本方明实施例中,通过一个签名(最后一笔交易的签名)可证明交易簇各交易的真实性,交易簇中的交易组成链式结构,链尾的交易具有交易发起方的签名。如果攻击者试图修改其中某个交易的内容,那么这个交易的哈希值会发生变化,从而和下一笔交易中的第一辅助信息不匹配,导致该伪造的交易不被认可。因此交易链保证了交易簇中的交易不被篡改,一个签名证明整个交易簇中交易的真实性。且可并行地完成交易簇构造,只需要在链尾签名,不需要阻塞交易,待交易收集结束后批量计算哈希再进行签名,本发明实施例完成一笔交易的即可发送至交易验证方,可避免交易生成方计算集中、内存不足及发送过程中的网络拥堵。
图7示例性的示出了本发明实施例提供的一种区块链交易处理的方法的流程,该流程可由交易处理的装置执行。
如图7所示,具体流程包括:
步骤710,针对交易发起方发送的交易簇中的任一交易报文,交易验证方在接收到所述交易报文后,对所述交易报文进行报文验证。
本发明实施例中,报文验证包括:确定交易报文中的交易内容是否合法、确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易及确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名。
进一步地,验证交易包括验证当前交易的时间戳(如当前交易的时间戳与前一笔交易的时间戳的时间间隔小于预设时间值,则验证通过)、交易发起方的区块链账户地址(如当前交易的交易发起方的区块链账户地址与交易簇中各交易的区块链账户地址一致,则验证通过)、交易金额(如交易发起方的区块链账户中的金额满足当前交易的交易金额,则验证通过)以及交易标号(如当前交易标号与前一笔交易的交易标号是连续的,则验证通过)。例如,结合上述图2的技术方案,在交易验证方收到第1笔交易TX1后,对TX1的时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额及交易标号进行验证,若验证成功,则将TX1放入交易池中。
本发明实施例中,在交易验证方得到第二笔交易之后,根据前一笔交易对当前交易进行验证,具体的,获取前一笔交易的交易报文,对前一笔交易的交易报文进行哈希,得到第一哈希结果,确定第一哈希结果与第一辅助信息是否相同,若相同则验证通过,当前交易属于交易簇中的交易。
在当前交易为交易簇中的最后一笔交易时,不但需要验证当前交易的第一辅助信息,还需要确定当前交易的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名。具体的,对最后一笔交易的交易报文中的交易内容和第一辅助信息进行哈希,得到第二哈希结果,然后使用交易发起方的公钥对第二辅助信息进行解密,得到第三哈希结果,确定第二哈希结果与第三哈希结果是否相同,若相同,则当前交易的第二辅助信息验证通过,该交易簇为验证通过的合法交易簇。
为了更好的解释上述技术方案,下面将在具体实例中阐述。
实例2
结合上述图4至图6,图8示例性的示出了一种区块链交易验证的示意图,如图8所示,交易验证方B接收到交易发起方A发送的交易簇的最后一笔交易后,验证当前交易(交易簇中第100笔交易TX100)的内容,包括TX100的时间戳、交易发起方的区块链账户地址、交易金额以及交易标号,然后根据TX99的交易报文验证TX100的第一辅助信息。然后对验证通过的TX100的第一辅助信息、时间戳、交易发起方的区块链账户地址、交易金额以及交易标号做哈希,并用交易发起方发送的公钥,验证TX100中的第二辅助信息,若签名验证通过,则证明TX100确实是由交易发起方所生成的。且TX100的第一辅助信息指示了交易簇中的TX99,即TX99也是交易发起方所生成并认可的,以此类推,从TX1到TX100都是由交易发起方所生成并认可的,因此该交易簇为验证通过的合法交易簇。
步骤720,所述交易验证方在对所述交易簇中的各交易报文验证通过后,将所述交易簇中的各交易报文作为待打包的交易。
本发明实施例中,只有在最后一笔交易验证通过后,才将交易簇中的各交易报文作为待打包的交易,只需对最后一笔交易进行验证标签信息,不需要对各交易再进行验证标签信息,减少了交易验证方验证交易的工作量,避免因交易发起方批量发送的交易而导致的增加交易验证方的计算负荷和计算时长,提升了交易验证方验证交易的效率。
基于相同的技术构思,图9示例性的示出了本发明实施例提供的一种区块链交易处理的装置的结构,该装置可以执行区块链交易处理的方法的流程。
如图9所示,该装置具体包括:
处理模块910,用于确定当前交易的第一辅助信息和当前交易的第二辅助信息;其中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链;第二辅助信息用于指示交易簇中最后一笔交易,且所述第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息;
发送模块920,用于构造所述当前交易的交易报文并发送至交易验证方;其中,交易报文包括交易内容、第一辅助信息和第二辅助信息。
可选的,所述处理模块910具体用于:
根据所述当前交易的交易标号,获取所述当前交易的前一笔交易的交易报文;
对所述前一笔交易的交易报文进行哈希,得到所述当前交易的第一辅助信息。
可选的,所述处理模块910具体用于:
确定所述当前交易为所述交易簇中最后一笔交易,则对所述当前交易的交易内容和所述当前交易的第一辅助信息进行签名,得到所述当前交易的第二辅助信息;
确定所述当前交易不是所述交易簇中最后一笔交易,则设置所述当前交易的第二辅助信息为空值。
可选的,所述处理模块910具体用于:
根据所述当前交易的交易标号,确定满足所述交易簇的数量阈值;或根据所述当前交易的交易时间戳,确定满足所述交易簇的时长阈值。
可选的,交易内容包括交易时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额及交易标号。
基于相同的技术构思,图10示例性的示出了本发明实施例提供的一种区块链交易处理的装置的结构,该装置可以执行区块链交易处理的方法的流程。
如图10所示,该装置具体包括:
验证单元1010,针对交易发起方发送的交易簇中的任一交易报文,在接收到所述交易报文后,对所述交易报文进行报文验证;其中,报文验证包括:确定交易报文中的交易内容是否合法、确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易及确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名;
处理单元1020,在对所述交易簇中的各交易报文验证通过后,将所述交易簇中的各交易报文作为待打包的交易。
可选的,所述验证单元1010具体用于:
获取前一笔交易的交易报文;
对所述前一笔交易的交易报文进行哈希,得到第一哈希结果;
确定所述第一哈希结果与所述第一辅助信息是否相同。
可选的,所述验证单元1010具体用于:
对所述最后一笔交易的交易报文中的交易内容和第一辅助信息进行哈希,得到第二哈希结果;
使用所述交易发起方的公钥对所述第二辅助信息进行解密,得到第三哈希结果;
确定所述第二哈希结果与所述第三哈希结果是否相同。
基于相同的技术构思,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链交易处理的方法。
基于相同的技术构思,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述区块链交易处理的方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (12)
1.一种区块链交易处理的方法,其特征在于,包括:
交易发起方确定当前交易的第一辅助信息和当前交易的第二辅助信息;其中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链;第二辅助信息用于指示交易簇中最后一笔交易,且所述第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息;
所述交易发起方构造所述当前交易的交易报文并发送至交易验证方;其中,交易报文包括交易内容、第一辅助信息和第二辅助信息。
2.如权利要求1所述的方法,其特征在于,交易发起方确定当前交易的第一辅助信息,包括:
所述交易发起方根据所述当前交易的交易标号,获取所述当前交易的前一笔交易的交易报文;
所述交易发起方对所述前一笔交易的交易报文进行哈希,得到所述当前交易的第一辅助信息。
3.如权利要求1所述的方法,其特征在于,交易发起方确定当前交易的第二辅助信息,包括:
所述交易发起方确定所述当前交易为所述交易簇中最后一笔交易,则对所述当前交易的交易内容和所述当前交易的第一辅助信息进行签名,得到所述当前交易的第二辅助信息;
所述交易发起方确定所述当前交易不是所述交易簇中最后一笔交易,则设置所述当前交易的第二辅助信息为空值。
4.如权利要求3所述的方法,其特征在于,所述交易发起方确定所述当前交易为所述交易簇中最后一笔交易,包括:
所述交易发起方根据所述当前交易的交易标号,确定满足所述交易簇的数量阈值;或
所述交易发起方根据所述当前交易的交易时间戳,确定满足所述交易簇的时长阈值。
5.如权利要求1至4任一项所述的方法,其特征在于,交易内容包括交易时间戳、交易发起方的区块链账户地址、交易接收者的区块链账户地址、交易金额及交易标号。
6.一种区块链交易处理的方法,其特征在于,包括:
针对交易发起方发送的交易簇中的任一交易报文,交易验证方在接收到所述交易报文后,对所述交易报文进行报文验证;其中,报文验证包括:确定交易报文中的交易内容是否合法、确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易及确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名;
所述交易验证方在对所述交易簇中的各交易报文验证通过后,将所述交易簇中的各交易报文作为待打包的交易。
7.如权利要求6所述的方法,其特征在于,确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易,包括:
获取前一笔交易的交易报文;
对所述前一笔交易的交易报文进行哈希,得到第一哈希结果;
确定所述第一哈希结果与所述第一辅助信息是否相同。
8.如权利要求6所述的方法,其特征在于,确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名,包括:
对所述最后一笔交易的交易报文中的交易内容和第一辅助信息进行哈希,得到第二哈希结果;
使用所述交易发起方的公钥对所述第二辅助信息进行解密,得到第三哈希结果;
确定所述第二哈希结果与所述第三哈希结果是否相同。
9.一种区块链交易处理的装置,其特征在于,包括:
处理模块,用于确定当前交易的第一辅助信息和当前交易的第二辅助信息;其中,第一辅助信息用于链接前一笔交易从而构成交易簇的交易链;第二辅助信息用于指示交易簇中最后一笔交易,且所述第二辅助信息是通过对交易簇中最后一笔交易进行签名得到的签名信息;
发送模块,用于构造所述当前交易的交易报文并发送至交易验证方;其中,交易报文包括交易内容、第一辅助信息和第二辅助信息。
10.一种区块链交易处理的装置,其特征在于,包括:
验证单元,针对交易发起方发送的交易簇中的任一交易报文,在接收到所述交易报文后,对所述交易报文进行报文验证;其中,报文验证包括:确定交易报文中的交易内容是否合法、确定交易报文中的第一辅助信息链接的是否为交易簇中的前一笔交易及确定交易簇中最后一笔交易的交易报文中的第二辅助信息是否为交易发起方对交易簇中最后一笔交易的签名;
处理单元,在对所述交易簇中的各交易报文验证通过后,将所述交易簇中的各交易报文作为待打包的交易。
11.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至5或6至8任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1至5或6至8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124587.9A CN112348673A (zh) | 2020-10-20 | 2020-10-20 | 一种区块链交易处理的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011124587.9A CN112348673A (zh) | 2020-10-20 | 2020-10-20 | 一种区块链交易处理的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112348673A true CN112348673A (zh) | 2021-02-09 |
Family
ID=74358370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011124587.9A Pending CN112348673A (zh) | 2020-10-20 | 2020-10-20 | 一种区块链交易处理的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112348673A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092093A (zh) * | 2022-01-20 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 区块链交易处理方法、装置、电子设备和可读介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911220A (zh) * | 2017-11-15 | 2018-04-13 | 深圳市文鼎创数据科技有限公司 | 一种签名方法、签名装置及终端设备 |
CN108282474A (zh) * | 2018-01-18 | 2018-07-13 | 山东大学 | 基于区块链的数字资产交易一致性的维护方法 |
CN108985933A (zh) * | 2018-06-29 | 2018-12-11 | 联动优势科技有限公司 | 一种记账方法及装置 |
CN110471931A (zh) * | 2019-08-13 | 2019-11-19 | 山大地纬软件股份有限公司 | 一种基于资产交易链的数字资产交易一致性维护方法 |
CN110532809A (zh) * | 2019-08-21 | 2019-12-03 | 杭州趣链科技有限公司 | 一种基于配置区块的区块链多级签名方法 |
-
2020
- 2020-10-20 CN CN202011124587.9A patent/CN112348673A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107911220A (zh) * | 2017-11-15 | 2018-04-13 | 深圳市文鼎创数据科技有限公司 | 一种签名方法、签名装置及终端设备 |
CN108282474A (zh) * | 2018-01-18 | 2018-07-13 | 山东大学 | 基于区块链的数字资产交易一致性的维护方法 |
CN108985933A (zh) * | 2018-06-29 | 2018-12-11 | 联动优势科技有限公司 | 一种记账方法及装置 |
CN110471931A (zh) * | 2019-08-13 | 2019-11-19 | 山大地纬软件股份有限公司 | 一种基于资产交易链的数字资产交易一致性维护方法 |
CN110532809A (zh) * | 2019-08-21 | 2019-12-03 | 杭州趣链科技有限公司 | 一种基于配置区块的区块链多级签名方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114092093A (zh) * | 2022-01-20 | 2022-02-25 | 腾讯科技(深圳)有限公司 | 区块链交易处理方法、装置、电子设备和可读介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109741056B (zh) | 一种电子凭证上传的方法及装置 | |
CN111681003B (zh) | 资源跨链转移方法、装置、计算机设备以及存储介质 | |
US11949789B2 (en) | Blockchain-enabled computing | |
US20200026699A1 (en) | Highly Performant Decentralized Public Ledger with Hybrid Consensus | |
US11343103B2 (en) | Sending cross-chain authenticatable messages | |
CN110597839B (zh) | 交易数据处理方法、装置、设备以及存储介质 | |
US10742415B2 (en) | Method and apparatus for inter-blockchain transmission of authenticable message | |
US20210409230A1 (en) | Signature verification using blockchain | |
WO2022121348A1 (zh) | 延时交易生成方法、延时交易执行方法、设备和存储介质 | |
KR102050007B1 (ko) | 블록체인 기반 외부 서비스 지원 시스템 및 그 방법 | |
CN110336779B (zh) | 一种区块链的构建方法、装置和电子设备 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN111640018B (zh) | 一种区块链交易存在性验证方法及装置 | |
CN113448694B (zh) | 一种提高事务处理能力的区块链共识方法 | |
CN112036878B (zh) | 数据处理方法及装置 | |
CN112488683B (zh) | 一种区块链的链下交易方法及装置 | |
CN112749968A (zh) | 基于区块链的业务数据记录方法及装置 | |
CN111047330B (zh) | 区块的验证分红奖励方法和装置 | |
CN110784521A (zh) | 区块链的共识方法、电子设备和存储介质 | |
EP3970048A1 (en) | Systems and methods for non-parallelised mining on a proof-of-work blockchain network | |
CN113326332B (zh) | 一种区块链的快照同步方法及装置 | |
CN112348673A (zh) | 一种区块链交易处理的方法及装置 | |
WO2024055740A1 (zh) | 数据处理方法、计算机设备和可读存储介质 | |
CN114092093B (zh) | 区块链交易处理方法、装置、电子设备和可读介质 | |
CN115021944B (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 |