CN111352705B - 一种区块链的事务处理方法、装置、设备和介质 - Google Patents
一种区块链的事务处理方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN111352705B CN111352705B CN202010115200.7A CN202010115200A CN111352705B CN 111352705 B CN111352705 B CN 111352705B CN 202010115200 A CN202010115200 A CN 202010115200A CN 111352705 B CN111352705 B CN 111352705B
- Authority
- CN
- China
- Prior art keywords
- transaction
- transaction request
- commission
- endorsement
- actual
- 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 abstract description 9
- 230000000977 initiatory effect Effects 0.000 claims abstract description 63
- 238000000034 method Methods 0.000 claims abstract description 59
- 238000012545 processing Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 22
- 230000008520 organization Effects 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 12
- 238000004806 packaging method and process Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000012856 packing Methods 0.000 claims description 4
- 230000002123 temporal effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000010187 selection method Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 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/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/02—Payment architectures, schemes or protocols involving a neutral party, e.g. certification authority, notary or trusted third party [TTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30029—Logical and Boolean instructions, e.g. XOR, NOT
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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
- G06Q20/0655—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
-
- 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/08—Payment architectures
- G06Q20/085—Payment architectures involving remote charge determination or related payment systems
- G06Q20/0855—Payment architectures involving remote charge determination or related payment systems involving a third party
-
- 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/389—Keeping log of transactions for guaranteeing non-repudiation of a transaction
-
- 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
-
- 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/405—Establishing or using transaction specific rules
-
- 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
- G06Q2220/00—Business processing using cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例公开了一种区块链的事务处理方法、装置、设备和介质,属于区块链技术领域。该方法包括:获取在发起节点中产生的事务请求;根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。本申请实施例的技术方案,能够通过背书服务来基于实际手续费对事务请求的执行进行灵活控制。
Description
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链技术。
背景技术
目前的区块链***中,可以通过智能合约的程序来实现各种功能。在区块链节点通过运行智能合约来实现事务功能的过程中,需要消耗硬件资源,如CPU和内存等。对于节点所消耗的资源一般会给节点支付手续费,即给节点支付区块链中的电子资源元素。电子资源元素例如为gas、数字货币等。
现有技术中,对于执行智能合约所需支付的手续费,是采用共识方式来确定的,即将CPU、内存、磁盘和网络等多个维度的资源使用量,按照一定的归一化算法折算为统一的手续费值。这种手续费的计算方法是一种共识行为,区块链网络中的所有节点都采用同样的计算方法保证资源使用的可验证。
但是,在网络实际运行过程中,每个出块节点实际消耗的资源成本并不一致,例如采用高性能SSD和普通磁盘,同样存储单位的价格可以相差几倍。同时,随着网络规模的增大,全网的计算和存储副本也相应增多,因此上链同一个事务请求所消耗的计算和存储量资源也都随之增大。
因此,现有的共识方式确定手续费的计费方式,不利于激励节点积极参与网络建设,也不利于区块链网络规模的增长。
发明内容
本申请实施例一种区块链的事务处理方法、装置、设备和介质,以通过有效的手续费确定方式,来控制区块链网络中的事务处理过程。
第一方面,本申请实施例公开了一种区块链的事务处理方法,由背书端执行,所述方法包括:
获取在发起节点中产生的事务请求;
根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;
在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。
上述申请中的一个实施例具有如下优点或有益效果:本申请实施例的技术方案,通过在事务请求被执行前增设了背书服务,能够基于实际手续费的情况对事务请求的执行进行控制。在背书端中,可以灵活设置各种事务执行控制的规则,不限于部署于区块链中的共识方式来确定手续费。所以通过背书服务的方式,能够实现手续费的控制不依赖于共识方式。
另外,根据本申请上述实施例的区块链的事务处理方法,还可以具有如下附加的技术特征:
可选的,确定事务执行控制的结果满足事务执行条件包括:
根据多项事务执行控制各自的结果,基于设定逻辑规则进行合并,以确定最终结果是否满足事务执行条件。
可选的,所述设定逻辑规则为结果求与关系、结果求或关系的至少一项或组合。
上述申请中的一个实施例具有如下优点或有益效果,可以设置多项事务执行控制,并综合各项控制的结果来控制如何提供背书签名,方案灵活多样。
可选的,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制包括:
根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件。
可选的,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制包括:
根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序。
可选的,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制包括:
根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值;
如果所述事务请求的实际手续费等于或大于所述历史基准值,则确定结果为满足事务执行条件;
如果所述事务请求的实际手续费低于所述历史基准值,则按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序。
可选的,按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序包括:
将所述事务请求添加至等待池,按照实际手续费的高低进行排队;
如果所述发起节点的事务请求处理能力在当前出块周期内存在空余时间,则从所述等待池中提取排序在前的事务请求,确定为满足所述事务执行条件。
可选的,根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值包括:
根据所述区块链中最后一个区块内各事务请求的实际手续费与共识手续费之间的差值,计算平均差值,作为所述历史基准值。
上述申请中的一个实施例具有如下优点或有益效果,可以通过背书服务来控制实际手续费高于共识手续费,且在此基础上,可以按照实际手续费的价格高低来控制事务请求的被执行顺序。
可选的,所述背书端配置于区块链节点中,或与区块链节点基于设定通信协议进行交互。
可选的,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制之前,还包括:
识别所述事务请求的发起账户或所述发起节点,是否属于所述背书端的组织方。
上述申请中的一个实施例具有如下优点或有益效果,背书端和节点可以同属于相同的组织方,从而能够基于相同利益考虑进行实际手续费的控制。
第二方面,本申请实施例提供了一种区块链的事务处理方法,由区块链节点执行,所述方法包括:
产生事务请求,并在所述事务请求中设定实际手续费;
将所述事务请求传输给背书端,以请求所述背书端根据所述实际手续费进行至少一项事务执行控制;
获取所述背书端反馈的背书签名,其中所述背书签名在确定事务执行控制的结果为满足事务执行条件时产生;
执行所述事务请求,并将所述背书签名封装到所述事务请求中,向区块链网络提交所述事务请求,以进行上链操作。
可选的,还包括:
接收其他区块链节点在区块链网络中提交的事务请求;
如果所述提交的事务请求中不具有背书签名,则拒绝执行所述提交的事务请求。
可选的,执行所述事务请求之后,还包括:
在本机节点的出块周期内,将本机节点提交的多个所述事务请求打包在当前区块中。
可选的,在本机节点的出块周期内,还包括:
如果获取到的事务请求中不包括背书签名,或包括的背书签名不属于本机节点所属的组织方,则拒绝将所述获取到的事务请求打包在当前区块中。
第三方面,本申请实施例还提供了一种区块链的事务处理装置,配置于背书端。所述装置包括:
事务获取模块,用于获取在发起节点中产生的事务请求;
手续费控制模块,用于根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;
背书反馈模块,用于在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。
第四方面,本申请实施例还提供了一种区块链的事务处理装置,配置于区块链节点中,所述装置包括:
事务产生模块,用于产生事务请求,并在所述事务请求中设定实际手续费;
事务传输模块,用于将所述事务请求传输给背书端,以请求所述背书端根据所述实际手续费进行至少一项事务执行控制;
签名获取模块,用于获取所述背书端反馈的背书签名,其中所述背书签名在确定事务执行控制的结果为满足事务执行条件时产生;
事务执行模块,用于执行所述事务请求,并将所述背书签名封装到所述事务请求中,向区块链网络提交所述事务请求,以进行上链操作。
第五方面,本申请实施例还提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面或第二方面实施例所提供的区块链的事务处理方法。
第六方面,本申请实施例还提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请第一方面或第二方面实施例所提供的区块链的事务处理方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例一提供的一种区块链的事务处理方法的流程图;
图2为本申请实施例二提供的一种区块链的事务处理方法的流程图;
图3A为本申请实施例三提供的一种区块链的事务处理方法的流程图;
图3B为本申请实施例所适用的节点架构示意图;
图4为本申请实施例四提供的一种区块链的事务处理方法的流程图;
图5为本申请实施例五提供的一种区块链的事务处理装置的结构示意图;
图6为本申请实施例六提供的一种区块链的事务处理装置的结构示意图;
图7是可以实现本申请实施例的电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
实施例一
图1为本申请实施例一提供的一种区块链的事务处理方法的流程图。本实施例适用于区块链中的事务请求处理过程的控制,本实施例可以由配置在背书端中的区块链的事务处理装置来执行,该装置可以采用硬件和/或软件的方式来实现。背书端是执行背书功能的设备,可以与区块链节点集成于一个电子设备中,也可以独立部署在不同电子设备中。
如图1所示,该方法包括:
S110、获取在发起节点中产生的事务请求;
在区块链网络中会有多个区块链节点,对于每个区块链节点,其部署有区块链***的程序,能存储区块链数据。通过区块链***的程序为用户提供了交互方式,可供用户在区块链节点上发起实现某种功能的事务请求。通常,通过在一个区块链节点上的操作可产生一个事务请求,该事务请求会由该区块链节点在本机预执行,预执行包括事务请求执行前的各种准备工作,以及运行智能合约的程序来执行该事务请求的内容,以产生对区块链数据的读写操作;而后,将预执行结果与事务请求一起封装,向区块链网络中的其他节点传输,供其他节点验证执行该事务请求,以确定预执行结果的正确性。
对于上述事务请求的执行过程,在发起节点上产生事务请求后,可以首先发送给背书端,要求进行背书处理。这可以由智能合约来控制,当运行智能合约预执行该事务请求时,智能合约中可以规定,首先需要向设定地址对象的背书端发送背书请求。
S120、根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;
背书端从该事务请求中获取设定的实际手续费,实际手续费的数值是用户在产生事务请求时设定的。一般是基于事务请求的消耗资源所估算的,用户可以手动的调整,确定自认为符合实际需求的手续费。
背书端根据实际手续费的数值,进行至少一项事务执行控制。所谓事务执行控制,即通过是否提供背书签名,以及何时提供背书签名的方式来控制节点能够执行该事务请求,或何时能执行该事务请求。背书签名可以是背书端采用自己的私钥进行的签名,可供其他节点采用公钥进行签名验证。
S130、在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。
事务执行控制的结果,可以为满足或不满足事务执行条件。如果有多项事务执行控制,则可以有多个是否满足事务执行条件的结果。这些结果可独立和组合的来确定最终结果。
具体的,确定事务执行控制的结果满足事务执行条件包括:
根据多项事务执行控制各自的结果,基于设定逻辑规则进行合并,以确定最终结果是否满足事务执行条件。
所述设定逻辑规则为结果求与关系、结果求或关系的至少一项或组合。例如,可选的,在多项事务执行控制均满足事务执行条件时才视为最终结果为满足事务执行条件。或者,各项事务执行控制为顺序执行,任一项的结果为不通过,则不满足事务执行条件。
当背书端确定满足事务执行条件时,则为该事务请求提供背书签名,由此使得该事务请求具备了能够发起上链的前提条件,否则该事务请求则会被拒绝执行。
本申请实施例的技术方案,通过在事务请求被执行前增设了背书服务,能够基于实际手续费的情况对事务请求的执行进行控制。在背书端中,可以灵活设置各种事务执行控制的规则,不限于部署于区块链中的共识方式来确定手续费。所以通过背书服务的方式,能够实现手续费的控制不依赖于共识方式。并且,该技术方案可以与通过共识方式来验证手续费的方式兼容。具体是,在该事务请求的执行结果被其他节点验证的过程中,其他节点可基于智能合约的共识方式来确定手续费的数值,如果实际手续费不低于确定的共识手续费,其他节点即可验证通过,基于共识方式确定的手续费是相同的。本实施例前置的背书服务,与该共识验证方式可以兼容,且能够增加更丰富的控制规则,由此,能够使手续费的支出与节点运行智能合约所消耗的资源情况相匹配,也能够结合市场因素来动态调节。背书端的事务执行控制的内容可动态的进行调整更新。
实施例二
图2为本申请实施例二提供的一种区块链的事务处理方法的流程图,本实施例以前述技术方案为基础,进一步细化介绍了背书端所执行的事务执行控制。本实施例包括:
S210、获取在发起节点中产生的事务请求;
S220、根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;
在本实施例中,S220,具体包括如下操作:
S221、根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
手续费计算规则,可以是按照智能合约运行所消耗的资源来计算。例如,可以将CPU、内存、磁盘、和网络等多个维度的资源使用量按照一定的归一化算法折算为统一的手续费。背书端所采用的手续费计算规则与区块链节点中所使用的手续费计算规则是相同的,即保证手续费支付的最低要求。
S222、如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
当用户在事务请求中设定的实际手续费低于共识手续费,则需要拒绝执行,确定不满足事务执行条件,则背书端不予提供背书签名,相当于控制节点拒绝执行该事务请求。
S223、如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件,或者,可以触发继续执行后续的事务执行控制。
在本步骤中,相当于确定该事务请求满足了最低的手续费要求。此时可以立即提供背书签名,也可以继续执行后续的事务执行控制。
本实施例中优选继续执行S224中的另一项事务执行控制。
S224、根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
S225、按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序;
上述事务执行控制相当于通过实际手续费的高低,控制节点执行事务请求的时间顺序。背书端可将事务请求的实际手续费与共识手续费计算差值,将差值从高至低进行排序。背书端顺序地为事务请求提供背书签名,以便节点按照顺序处理事务请求。在事务请求的并发量很大时,则可以有效控制高手续的事务请求被优先执行,而超时等待的事务请求,有可能因为超时过久而无效。
在本实施例中,优选是还进行如下的事务执行控制,可称为历史值控制,即:
S226、根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值;
历史基准值是能反映已有区块中事务请求手续费情况的值。可以用多种规则来确定,只要能按照需求反映历史情况即可。可选的,可以根据所述区块链中最后一个区块内各事务请求的实际手续费与共识手续费之间的差值,计算平均差值,作为所述历史基准值。实际手续费与共识手续费之间的差值能够反映出手续费相对于最低值的浮动水平。
S227、如果所述事务请求的实际手续费等于或大于所述历史基准值,则确定结果为满足事务执行条件;
S228、如果所述事务请求的实际手续费低于所述历史基准值,则按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序。
通过上述事务执行控制,可以允许超过历史基准值的事务请求直接上链,而低于历史基准值的事务请求需要等待,需要按照节点的处理能力确定上链时间顺序。同样当事务请求的并发量大时,等待的事务请求可能来不及被执行上链,或需要等待空闲时才被执行上链。
其中,按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序的一种可选具体方式包括:
将所述事务请求添加至等待池,按照实际手续费的高低进行排队;
如果所述发起节点的事务请求处理能力在当前出块周期内存在空余时间,则从所述等待池中提取排序在前的事务请求,确定为满足所述事务执行条件。
在上述方案中,背书端可与发起节点保持交互,能获知发起节点的处理能力,根据其处理能力,提取等待池中排队的事务请求,提供背书签名,供发起节点来执行。
可选的,发起节点与区块链网络中其他节点可以基于共识机制确定自己的出块周期,即在该出块周期内,出块节点具备打包形成区块的权力。在其他节点的出块周期内,发起节点需要接收其他节点打包形成的区块,并验证事务请求和区块。
该发起节点作为出块节点时,在本机的当前出块周期内,会优先处理实际手续费较高的事务请求。
S230、在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。
根据上述三项事务执行控制的结果,产生背书签名,且具体可根据上述确定的时间顺序来产生背书签名。上述事务执行控制可单独实施也可以结合实施,其具体的执行顺序不限。
在本实施例的技术方案中,提供了事务执行控制的可选实施方式。在背书服务中,对每个事务请求按照手续费进行了筛选和控制。由此有助于根据网络运行情况来调整。例如,若某个节点的背书端刻意哄抬手续费,仅执行较高实际手续费的事务请求,那么用户就可能选择其他节点来发起事务请求。对于节点来说,可优先执行手续费高的事务请求,这样也能激励节点尽可能提供优质的硬件资源,也能吸引更多用户来发起事务请求。
实施例三
图3A为本申请实施例三提供的一种区块链的事务处理方法的流程图。在本实施例中,如图3B所示,所述背书端配置于区块链节点中,可采用硬件和/或软件的方式来实现。对于图3B示出的电子设备A、B和C中,分别配置有一个背书端(endorser)A、B和C,还配置有区块链节点A、B和C。配置区块链节点即在电子设备中安装有区块链***的程序和数据,配置有背书端即安装有背书端所执行的程序和数据。
对于联盟链,区块链网络是由多个联盟成员节点组成的,联盟成员节点通常基于共识机制轮流具备出块权,在分配得到的出块周期里进行出块,即出块节点(miner,也称矿工)。联盟成员可视为一个利益组织,每个利益组织可以有一个或几个节点,每个利益组织一般配备一个背书端,来实现自己规定的事务执行控制的规则。背书端所执行的背书控制,并不影响区块链上的原有事务请求处理过程,只是在事务请求执行的前置阶段额外增加了背书服务的控制。背书端可以与区块链节点集成于同一电子设备中,当然,也可以与区块链节点安装于不同的电子设备,基于设定通信协议进行交互。
本实施例中,如图3A所示,该方法包括:
S310、获取在发起节点中产生的事务请求;
发起节点在自己的出块周期或非出块周期,均有可能会由用户产生事务请求。产生事务请求后先请求背书端进行背书服务。
S320、识别所述事务请求的发起账户或所述发起节点,是否属于所述背书端的组织方。若是,则执行S330;若否,则拒绝执行背书服务。
节点可以将事务请求提供给相同组织方指定的背书端,也可以给任意背书端。
背书端可以识别该事务请求的发起账户或该发起节点,是否与自己属于相同的组织方。若是则提供背书服务,否则拒绝提供背书服务。如图3B所示,节点也可以拒绝处理由其他组织方背书端背书签名的事务请求,例如,区块链节点B拒绝执行背书端C背书签名的事务请求。
当然,背书端也可以提供开放的、公共的背书服务,即为所有节点提供背书服务。
S330、根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;
S340、在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。
通过本实施例的技术方案,通过背书端所属组织方,能够实现不同利益组织的独立控制。可以是每个组织中的出块节点只接收来自自己组织的背书服务认证过的事务请求上链,从而实现了背书签名的控制。所谓背书签名控制,即组织内的出块节点只接收具备自己组织的背书签名的事务请求上链,达到非共识流量选择的目的。所有进入组织的流量都要经过背书服务,出块节点不直接接入外部流量。
本申请实施例提出一种非共识的手续费选择方法,可以在不更改当前区块链网络共识的前提下,对智能合约的手续费价格进行市场化调节,给与出块节点更多的定价权。
实施例四
图4为本申请实施例四提供的一种区块链的事务处理方法的流程图,本实施例为区块链节点执行,与前述背书端配合实现。该方法包括:
S410、产生事务请求,并在所述事务请求中设定实际手续费;
在区块链节点,可以由用户基于智能合约产生事务请求,并由用户设定实际手续费,用户可参考智能合约给的参考值来设定实际值,可手工调整。
S420、将所述事务请求传输给背书端,以请求所述背书端根据所述实际手续费进行至少一项事务执行控制;
区块链节点作为发起节点,准备预执行所述事务请求,首先将事务请求发送给背书端请求背书服务。节点可以向所属组织方的背书端发起背书请求。
S430、获取所述背书端反馈的背书签名,其中所述背书签名在确定事务执行控制的结果为满足事务执行条件时产生;
如前述实施例所提供的,背书端进行事务执行控制,并按照时间顺序提供背书签名或拒绝提供背书签名。
S440、执行所述事务请求,并将所述背书签名封装到所述事务请求中,向区块链网络提交所述事务请求,以进行上链操作。
节点获取到背书签名后,可本机执行该事务请求,并封装背书签名后提交至区块链网络,请其他节点进行验证,以便上链。优选是,节点可识别背书签名是否是相同组织方的背书端的背书签名,若否,则可以拒绝执行,若是,则执行该事务请求。
若节点不能够提供该背书签名,则该事务请求将无法通过其他节点的验证。具体的,该方法还包括:
接收其他区块链节点在区块链网络中提交的事务请求;
如果所述提交的事务请求中不具有背书签名,则拒绝执行所述提交的事务请求。
优选是,该区块链节点可以随时获得事务请求,发起背书请求,并预执行事务请求。但区块链节点执行所述事务请求之后,还包括:
在本机节点的出块周期内,将本机节点提交的多个所述事务请求打包在当前区块中。
即区块链节点可将本机节点产生的事务请求,在本机的出块周期内进行打包区块的操作,发起上链。
在本机节点的出块周期内,还包括:
如果获取到的事务请求中不包括背书签名,或包括的背书签名不属于本机节点所属的组织方,则拒绝将所述获取到的事务请求打包在当前区块中。
上述技术方案,通过背书服务,使得相同组织方的节点能够优先将自己所属组织方背书签名的事务请求进行打包上链。而对于其他节点传输的事务请求可进行验证,但可拒绝进行打包上链的操作。
本申请实施例利用背书服务所提供的非共识的手续费选择方法,可以使出块节点具有更高的手续费定价权,从而实现智能合约执行费用的市场化定价,对出块节点产生更多激励,并最终提升全网网络规模,达到更高的网络公信力。本申请实施例的技术方案采用非共识方式实现,无需对原有区块链网络进行硬分叉升级,可以进行可插拔式的热升级。
实施例五
图5为本申请实施例五提供的一种区块链的事务处理装置500的结构示意图,配置于背书端中。该装置包括:事务获取模块510、手续费控制模块520和背书反馈模块530。
其中,事务获取模块510,用于获取在发起节点中产生的事务请求;手续费控制模块520,用于根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;背书反馈模块530,用于在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作。
本申请实施例利用背书服务所提供的非共识的手续费选择方法,可以使出块节点具有更高的手续费定价权,从而实现智能合约执行费用的市场化定价,对出块节点产生更多激励,并最终提升全网网络规模,达到更高的网络公信力。
可选的,背书反馈模块530具体用于根据多项事务执行控制各自的结果,基于设定逻辑规则进行合并,以确定最终结果是否满足事务执行条件。
可选的,所述设定逻辑规则为结果求与关系、结果求或关系的至少一项或组合。
可选的是,手续费控制模块520具体用于:
根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件。
可选的是,手续费控制模块520具体用于:
根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序。
可选的是,手续费控制模块520具体用于:
根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值;
如果所述事务请求的实际手续费等于或大于所述历史基准值,则确定结果为满足事务执行条件;
如果所述事务请求的实际手续费低于所述历史基准值,则按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序。
上述方案中,手续费控制模块520中按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序的功能可具体用于:
将所述事务请求添加至等待池,按照实际手续费的高低进行排队;
如果所述发起节点的事务请求处理能力在当前出块周期内存在空余时间,则从所述等待池中提取排序在前的事务请求,确定为满足所述事务执行条件。
可选的,根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值的操作可具体为根据所述区块链中最后一个区块内各事务请求的实际手续费与共识手续费之间的差值,计算平均差值,作为所述历史基准值。
可选的,所述背书端配置于区块链节点中,或与区块链节点基于设定通信协议进行交互。
可选的所述装置还包括:组织识别模块,用于根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制之前,识别所述事务请求的发起账户或所述发起节点,是否属于所述背书端的组织方。
实施例六
图6为本申请实施例六提供的一种区块链的事务处理装置600的结构示意图,该装置可配置于区块链节点中,该装置包括:事务产生模块610、事务传输模块620、签名获取模块630和事务执行模块640。
其中,事务产生模块610,用于产生事务请求,并在所述事务请求中设定实际手续费;事务传输模块620,用于将所述事务请求传输给背书端,以请求所述背书端根据所述实际手续费进行至少一项事务执行控制;签名获取模块630,用于获取所述背书端反馈的背书签名,其中所述背书签名在确定事务执行控制的结果为满足事务执行条件时产生;事务执行模块640,用于执行所述事务请求,并将所述背书签名封装到所述事务请求中,向区块链网络提交所述事务请求,以进行上链操作。
可选的,该装置还包括:
事务验证模块,用于接收其他区块链节点在区块链网络中提交的事务请求;如果所述提交的事务请求中不具有背书签名,则拒绝执行所述提交的事务请求。
可选的,该装置还包括出块模块,用于执行所述事务请求之后,在本机节点的出块周期内,将本机节点提交的多个所述事务请求打包在当前区块中。
可选的,该装置还包括事务拒绝模块,用于在本机节点的出块周期内,如果获取到的事务请求中不包括背书签名,或包括的背书签名不属于本机节点所属的组织方,则拒绝将所述获取到的事务请求打包在当前区块中。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图7所示,是根据本申请实施例的区块链的事务处理方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图7所示,该电子设备包括:一个或多个处理器701、存储器702,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图7中以一个处理器701为例。
存储器702即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的区块链的事务处理方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的区块链的事务处理方法。
存储器702作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的区块链的事务处理方法对应的程序指令/模块(例如,附图5所示的事务获取模块510、手续费控制模块520和背书反馈模块530,或图6所示的事务产生模块610、事务传输模块620、签名获取模块630和事务执行模块640)。处理器701通过运行存储在存储器702中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的区块链的事务处理方法。
存储器702可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据区块链的事务处理电子设备的使用所创建的数据等。此外,存储器702可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器702可选包括相对于处理器701远程设置的存储器,这些远程存储器可以通过网络连接至区块链的事务处理电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
区块链的事务处理方法的电子设备还可以包括:输入装置703和输出装置704。处理器701、存储器702、输入装置703和输出装置704可以通过总线或者其他方式连接,图7中以通过总线连接为例。
输入装置703可接收输入的数字或字符信息,以及产生与区块链的事务处理电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置704可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (16)
1.一种区块链的事务处理方法,其特征在于,由背书端执行,所述方法包括:
获取在发起节点中产生的事务请求;
根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;所述实际手续费为用户基于事务请求的消耗资源所估算的手续费;
在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作;
其中,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制包括:
根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件;
其中,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制包括:
根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序;
其中,所述发起节点作为出块节点时,在本机的当前出块周期内,优先处理实际手续费高的事务请求。
2.根据权利要求1所述的方法,其特征在于,确定事务执行控制的结果满足事务执行条件包括:
根据多项事务执行控制各自的结果,基于设定逻辑规则进行合并,以确定最终结果是否满足事务执行条件。
3.根据权利要求2所述的方法,其特征在于,所述设定逻辑规则为结果求与关系、结果求或关系的至少一项或组合。
4.根据权利要求1所述的方法,其特征在于,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制包括:
根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值;
如果所述事务请求的实际手续费等于或大于所述历史基准值,则确定结果为满足事务执行条件;
如果所述事务请求的实际手续费低于所述历史基准值,则按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序。
5.根据权利要求4所述的方法,其特征在于,按照所述发起节点的处理能力确定所述事务请求满足事务执行条件的时间顺序包括:
将所述事务请求添加至等待池,按照实际手续费的高低进行排队;
如果所述发起节点的事务请求处理能力在当前出块周期内存在空余时间,则从所述等待池中提取排序在前的事务请求,确定为满足所述事务执行条件。
6.根据权利要求4所述的方法,其特征在于,根据所述区块链中已有区块事务请求的实际手续费,确定历史基准值包括:
根据所述区块链中最后一个区块内各事务请求的实际手续费与共识手续费之间的差值,计算平均差值,作为所述历史基准值。
7.根据权利要求1所述的方法,其特征在于,所述背书端配置于区块链节点中,或与区块链节点基于设定通信协议进行交互。
8.根据权利要求1所述的方法,其特征在于,根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制之前,还包括:
识别所述事务请求的发起账户或所述发起节点,是否属于所述背书端的组织方。
9.一种区块链的事务处理方法,其特征在于,由区块链节点执行,所述方法包括:
产生事务请求,并在所述事务请求中设定实际手续费;所述实际手续费为用户基于事务请求的消耗资源所估算的手续费;将所述事务请求传输给背书端,以请求所述背书端根据所述实际手续费进行至少一项事务执行控制;
获取所述背书端反馈的背书签名,其中所述背书签名在确定事务执行控制的结果为满足事务执行条件时产生;
执行所述事务请求,并将所述背书签名封装到所述事务请求中,向区块链网络提交所述事务请求,以进行上链操作;
其中,所述背书端进行的事务执行控制包括下述过程:
根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件;
其中,所述背书端进行的事务执行控制包括下述过程:
根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序;
其中,所述区块链节点作为出块节点时,在本机的当前出块周期内,优先处理实际手续费高的事务请求。
10.根据权利要求9所述的方法,其特征在于,还包括:
接收其他区块链节点在区块链网络中提交的事务请求;
如果所述提交的事务请求中不具有背书签名,则拒绝执行所述提交的事务请求。
11.根据权利要求10所述的方法,其特征在于,执行所述事务请求之后,还包括:
在本机节点的出块周期内,将本机节点提交的多个所述事务请求打包在当前区块中。
12.根据权利要求10所述的方法,其特征在于,在本机节点的出块周期内,还包括:
如果获取到的事务请求中不包括背书签名,或包括的背书签名不属于本机节点所属的组织方,则拒绝将所述获取到的事务请求打包在当前区块中。
13.一种区块链的事务处理装置,其特征在于,配置于背书端,所述装置包括:
事务获取模块,用于获取在发起节点中产生的事务请求;
手续费控制模块,用于根据所述事务请求中设定的实际手续费,进行至少一项事务执行控制;所述实际手续费为用户基于事务请求的消耗资源所估算的手续费;
背书反馈模块,用于在确定事务执行控制的结果为满足事务执行条件时,为所述事务请求产生背书签名,并反馈给所述发起节点,以使所述发起节点根据所述背书签名向区块链网络提交所述事务请求,进行上链操作;
其中,所述手续费控制模块具体用于:
根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件;
其中,所述手续费控制模块具体用于:
根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序;
其中,所述发起节点作为出块节点时,在本机的当前出块周期内,优先处理实际手续费高的事务请求。
14.一种区块链的事务处理装置,其特征在于,配置于区块链节点中,所述装置包括:
事务产生模块,用于产生事务请求,并在所述事务请求中设定实际手续费;
事务传输模块,用于将所述事务请求传输给背书端,以请求所述背书端根据所述实际手续费进行至少一项事务执行控制;所述实际手续费为用户基于事务请求的消耗资源所估算的手续费;
签名获取模块,用于获取所述背书端反馈的背书签名,其中所述背书签名在确定事务执行控制的结果为满足事务执行条件时产生;
事务执行模块,用于执行所述事务请求,并将所述背书签名封装到所述事务请求中,向区块链网络提交所述事务请求,以进行上链操作;
其中,所述背书端进行的事务执行控制包括下述过程:
根据所述事务请求所基于智能合约的手续费计算规则,计算所述事务请求的共识手续费;
如果所述事务请求中的实际手续费低于所述共识手续费,则确定结果为不满足事务执行条件;
如果所述事务请求中的实际手续费等于或高于所述共识手续费,则确定结果为满足事务执行条件;
其中,所述手续费控制模块具体用于:
根据所述事务请求中设定的实际手续费与共识手续费之间的差值,按照数值高低进行排序;
按照所述差值从高向低的排序顺序,确定满足事务执行条件的时间顺序;
其中,发起节点作为出块节点时,在本机的当前出块周期内,优先处理实际手续费高的事务请求。
15.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中或权利要求9-12中任一项所述的区块链的事务处理方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-8中或权利要求9-12中任一项所述的区块链的事务处理方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010115200.7A CN111352705B (zh) | 2020-02-25 | 2020-02-25 | 一种区块链的事务处理方法、装置、设备和介质 |
JP2021026194A JP7280300B2 (ja) | 2020-02-25 | 2021-02-22 | ブロックチェーンのトランザクション処理方法、装置、機器及び媒体 |
US17/249,181 US20210264415A1 (en) | 2020-02-25 | 2021-02-23 | Method for processing transaction in blockchain and device |
KR1020210023961A KR102546060B1 (ko) | 2020-02-25 | 2021-02-23 | 블록체인 트랜잭션 처리 방법, 장치, 전자 기기 및 매체 |
EP21158947.8A EP3872728A1 (en) | 2020-02-25 | 2021-02-24 | Method and apparatus for processing transaction in blockchain, device and medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010115200.7A CN111352705B (zh) | 2020-02-25 | 2020-02-25 | 一种区块链的事务处理方法、装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111352705A CN111352705A (zh) | 2020-06-30 |
CN111352705B true CN111352705B (zh) | 2023-10-31 |
Family
ID=71194159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010115200.7A Active CN111352705B (zh) | 2020-02-25 | 2020-02-25 | 一种区块链的事务处理方法、装置、设备和介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20210264415A1 (zh) |
EP (1) | EP3872728A1 (zh) |
JP (1) | JP7280300B2 (zh) |
KR (1) | KR102546060B1 (zh) |
CN (1) | CN111352705B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112039987B (zh) * | 2020-08-28 | 2022-05-20 | 平安科技(深圳)有限公司 | 区块链中区块的处理方法、装置、节点设备及存储介质 |
CN113626531A (zh) * | 2021-09-03 | 2021-11-09 | 杭州复杂美科技有限公司 | 交易打包方法、计算机设备和存储介质 |
CN114047980B (zh) * | 2021-11-29 | 2024-01-19 | 珠海格力电器股份有限公司 | 可编程控制器配置数据的管理*** |
CN114493602B (zh) * | 2022-04-08 | 2022-07-22 | 恒生电子股份有限公司 | 区块链交易的执行方法、装置、电子设备和存储介质 |
CN115604354B (zh) * | 2022-12-09 | 2023-03-28 | 北京百度网讯科技有限公司 | 基于区块链的事务处理方法、装置、设备及存储介质 |
CN115907593B (zh) * | 2023-02-14 | 2023-06-02 | 湖南炅旭生物科技有限公司 | 基于区块链的药品运输管理方法、***、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632480A (zh) * | 2018-04-19 | 2018-10-09 | 北京阿尔山金融科技有限公司 | 基于区块链的计费方法及装置 |
CN108960797A (zh) * | 2018-07-18 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 区块生成及验证方法、装置、设备和存储介质 |
CN109949035A (zh) * | 2019-03-15 | 2019-06-28 | 智链万源(北京)数字科技有限公司 | 区块链数据隐私控制方法、装置及*** |
CN110266534A (zh) * | 2019-06-20 | 2019-09-20 | 南京南瑞继保电气有限公司 | 一种能源区块链的扩容方法 |
CN110458698A (zh) * | 2018-05-08 | 2019-11-15 | 甲骨文国际公司 | 对区块链分类账和区块链分类账外部的应用进行集成 |
CN110503433A (zh) * | 2019-08-28 | 2019-11-26 | 北京百度网讯科技有限公司 | 一种区块链中背书的实现方法、装置、设备和介质 |
CN110570283A (zh) * | 2019-09-11 | 2019-12-13 | 炫盛(上海)科技有限公司 | 基于区块链的购物方法及*** |
CN110647439A (zh) * | 2019-08-15 | 2020-01-03 | 深圳壹账通智能科技有限公司 | 确认区块链***部署方法、装置、计算机设备及存储介质 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7685076B2 (en) * | 2005-01-13 | 2010-03-23 | First Service Networks, Inc. | Online reduction in repair and maintenance costs |
US11128603B2 (en) * | 2016-09-30 | 2021-09-21 | Nec Corporation | Method and system for providing a transaction forwarding service in blockchain implementations |
US20220222662A1 (en) * | 2016-12-30 | 2022-07-14 | Wells Fargo Bank, N.A. | Dynamic payment gateway |
CN111614655A (zh) * | 2017-03-24 | 2020-09-01 | 创新先进技术有限公司 | 一种共识校验的方法及装置 |
WO2018220709A1 (ja) * | 2017-05-30 | 2018-12-06 | 日本電気株式会社 | 資源管理システム、管理装置、方法およびプログラム |
US11494344B2 (en) * | 2018-03-06 | 2022-11-08 | International Business Machines Corporation | Customized endorsement logic for blockchain |
KR102250810B1 (ko) * | 2018-03-23 | 2021-05-11 | 블록체인랩스 주식회사 | 트랜잭션 증명 방식의 합의 알고리즘이 적용된 블록체인 시스템 및 그 방법 |
US11005646B2 (en) * | 2018-05-23 | 2021-05-11 | International Business Machines Corporation | Blockchain stochastic timer transaction synchronization |
KR20210104604A (ko) * | 2020-02-17 | 2021-08-25 | 한국전자통신연구원 | 블록체인 시스템을 통해 서비스를 사용하는 방법 및 장치 |
WO2022102531A1 (ja) * | 2020-11-12 | 2022-05-19 | 株式会社Nttドコモ | 管理装置 |
-
2020
- 2020-02-25 CN CN202010115200.7A patent/CN111352705B/zh active Active
-
2021
- 2021-02-22 JP JP2021026194A patent/JP7280300B2/ja active Active
- 2021-02-23 KR KR1020210023961A patent/KR102546060B1/ko active IP Right Grant
- 2021-02-23 US US17/249,181 patent/US20210264415A1/en not_active Abandoned
- 2021-02-24 EP EP21158947.8A patent/EP3872728A1/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108632480A (zh) * | 2018-04-19 | 2018-10-09 | 北京阿尔山金融科技有限公司 | 基于区块链的计费方法及装置 |
CN110458698A (zh) * | 2018-05-08 | 2019-11-15 | 甲骨文国际公司 | 对区块链分类账和区块链分类账外部的应用进行集成 |
CN108960797A (zh) * | 2018-07-18 | 2018-12-07 | 百度在线网络技术(北京)有限公司 | 区块生成及验证方法、装置、设备和存储介质 |
CN109949035A (zh) * | 2019-03-15 | 2019-06-28 | 智链万源(北京)数字科技有限公司 | 区块链数据隐私控制方法、装置及*** |
CN110266534A (zh) * | 2019-06-20 | 2019-09-20 | 南京南瑞继保电气有限公司 | 一种能源区块链的扩容方法 |
CN110647439A (zh) * | 2019-08-15 | 2020-01-03 | 深圳壹账通智能科技有限公司 | 确认区块链***部署方法、装置、计算机设备及存储介质 |
CN110503433A (zh) * | 2019-08-28 | 2019-11-26 | 北京百度网讯科技有限公司 | 一种区块链中背书的实现方法、装置、设备和介质 |
CN110570283A (zh) * | 2019-09-11 | 2019-12-13 | 炫盛(上海)科技有限公司 | 基于区块链的购物方法及*** |
Non-Patent Citations (2)
Title |
---|
Endorsement in hyperledger fabric;Elli Androulaki 等;《2019 IEEE international conference on blockchain(blockchain)》;第1-2页 * |
Hyperledger Fabric共识机制优化方案;孟吴同 等;《自动化学报》;第47卷(第8期);第1885-1898页 * |
Also Published As
Publication number | Publication date |
---|---|
KR20210108328A (ko) | 2021-09-02 |
KR102546060B1 (ko) | 2023-06-20 |
JP2021136031A (ja) | 2021-09-13 |
EP3872728A1 (en) | 2021-09-01 |
CN111352705A (zh) | 2020-06-30 |
JP7280300B2 (ja) | 2023-05-23 |
US20210264415A1 (en) | 2021-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111352705B (zh) | 一种区块链的事务处理方法、装置、设备和介质 | |
CN111741026B (zh) | 一种跨链事务请求处理方法、装置、设备以及存储介质 | |
CN111866085B (zh) | 基于区块链的数据存储方法、***和装置 | |
JP7254120B2 (ja) | ブロックチェーンの決済処理方法、装置、機器及び媒体 | |
US8719131B1 (en) | Allocating financial risk and reward in a multi-tenant environment | |
CN107659546A (zh) | 一种基于事件的流程处理方法及装置和服务器 | |
CN111932246A (zh) | 用于发送信息的方法和装置 | |
US20210209567A1 (en) | Method and apparatus for processing transaction requests in blockchain, device and medium | |
US12019551B2 (en) | Techniques for multi-tiered data storage in multi-tenant caching systems | |
US20240004522A1 (en) | Graphical user interface for configuring card controls for a card | |
WO2018223976A1 (zh) | 直播应用的配置方法及装置、存储介质以及电子装置 | |
CN112132674A (zh) | 一种交易处理方法和装置 | |
CN115421922A (zh) | 一种分布式***的限流方法、装置、设备、介质及产品 | |
CN115170321A (zh) | 批量交易数据的处理方法和装置 | |
CN111198737A (zh) | 基于用户状态特征的页面展示方法及其装置、***、服务器、存储介质 | |
CN111343239B (zh) | 通信请求处理方法、通信方法、通信请求处理装置以及交易*** | |
CN111598571A (zh) | 区块链的事务处理方法、装置、设备和存储介质 | |
CN110413421B (zh) | 业务数据处理方法和装置、交易数据处理方法和装置 | |
CN111681026A (zh) | 资源配置方法及其装置、电子设备和计算机可读存储介质 | |
CN114327802B (zh) | 区块链访问链外数据的方法、装置、设备和介质 | |
CN110570310B (zh) | 区块链的转账方法和共识实现方法、装置、设备和介质 | |
CN113313336A (zh) | 基于区块链的电力资源调配方法、装置、电子设备和介质 | |
US20240111395A1 (en) | Access card with configurable rules | |
CN111178863B (zh) | 一种基于区块链的事务计费方法、装置、设备和介质 | |
US20230336469A1 (en) | Automatically routing network requests between computer subsystems |
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 |