CN117036017A - 区块链中的交易处理方法和系统 - Google Patents

区块链中的交易处理方法和系统 Download PDF

Info

Publication number
CN117036017A
CN117036017A CN202310955363.XA CN202310955363A CN117036017A CN 117036017 A CN117036017 A CN 117036017A CN 202310955363 A CN202310955363 A CN 202310955363A CN 117036017 A CN117036017 A CN 117036017A
Authority
CN
China
Prior art keywords
transaction
account
proxy
contract
blockchain
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
Application number
CN202310955363.XA
Other languages
English (en)
Inventor
鲁华林
周晨程
孙若宇
邢志远
孙英男
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Encryption Native Technology Co ltd
Original Assignee
Shanghai Encryption Native Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Encryption Native Technology Co ltd filed Critical Shanghai Encryption Native Technology Co ltd
Priority to CN202310955363.XA priority Critical patent/CN117036017A/zh
Publication of CN117036017A publication Critical patent/CN117036017A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Technology Law (AREA)
  • Strategic Management (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本申请实施例提供了一种区块链中的交易处理方法和系统,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述方法包括:获取需要在同一区块中处理的至少一个业务合约交易;针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;通过所述目标代理账户发起所述业务合约交易。由于在区块链的设计中,每个账户的Nonce值是独立的,不会相互进行干扰,本申请通过增加允许发起交易的账户(即代理账户)数量,从而可以由不同的代理账户发起交易,无需等待交易,达到了提高区块链交易吞吐量的目的。

Description

区块链中的交易处理方法和系统
技术领域
本申请实施例涉及区块链技术领域,尤其涉及一种区块链中的交易处理方法、系统、计算机设备及计算机可读存储介质。
背景技术
为了确保区块链交易的正确性、一致性和安全性,Nonce值机制通常是区块链交易中不可或缺的一部分。然而,由于Nonce值的递增性质,每个账户只能按照顺序提交交易,而无法跳过或乱序提交交易。这就限制了账户能够同时处理的交易数量。当账户正在处理一笔交易时,后续Nonce值对应的交易无法被提交和执行,直到前一个Nonce值对应的交易完成。因此,Nonce值限制了账户的交易吞吐量,即账户在单位时间内能够处理的交易数量。
现有技术中,提出了一些优化思路来提高整体的交易吞吐量,如批量交易、Layer2解决方案等。但是,批量交易只是将多个交易合并为一个交易提交,仍然需要等待交易执行,实时性存在问题,而Layer2解决方案也存在Nonce执行顺序的问题,且实现成本和维护成本非常高。
发明内容
本申请实施例的目的是提供一种区块链中的交易处理方法、系统、计算机设备及计算机可读存储介质,用于解决以下问题:如何提高整体的区块链交易吞吐量。
本申请实施例的一个方面提供了一种区块链中的交易处理方法,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述方法包括:
获取需要在同一区块中处理的至少一个业务合约交易;
针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;
通过所述目标代理账户发起业务合约交易。
可选地,所述方法还包括:
调用所述鉴权合约对所述目标代理账户进行鉴权;
在对所述目标代理账户进行鉴权成功的情况下,执行所述业务合约交易。
可选地,所述方法还包括:
在对所述目标代理账户进行鉴权失败的情况下,中止执行所述业务合约交易。
可选地,在所述通过所述目标代理账户发起业务合约交易的步骤之后,所述方法还包括:
记录所述代理账户池中的所述目标代理账户已发起交易。
可选地,所述方法还包括:
在确定所述业务合约交易执行成功的情况下,发起交易开销补充交易;
记录所述代理账户池中的所述目标代理账户已完成交易。
可选地,在所述发起交易开销补充交易的步骤之后,所述方法还包括:
在确定所述交易开销补充交易执行成功的情况下,结束所述交易开销补充交易;或,
在确定所述交易开销补充交易执行失败的情况下,返回执行所述发起交易开销补充交易的步骤。
可选地,所述预设条件包含所述代理账户在当前区块中不存在Nonce值冲突,以及所述代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。
可选地,所述方法还包括:
根据所述代理账户池中包含的至少一个代理账户,生成授权账户列表;
所述调用所述鉴权合约对所述目标代理账户进行鉴权,包括:
调用所述鉴权合约判断所述目标代理账户是否存在所述授权账户列表中;
若所述目标代理账户存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权成功;或,
若所述目标代理账户不存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权失败。
本申请实施例的一个方面又提供了一种区块链中的交易处理系统,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述系统包括:
交易获取模块,用于获取需要在同一区块中处理的至少一个业务合约交易;
代理账户确定模块,用于针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;
交易发起模块,用于通过所述目标代理账户发起业务合约交易。
本申请实施例的一个方面又提供了一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的区块链中的交易处理方法的步骤。
本申请实施例的一个方面又提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行所述计算机程序时实现如上述的区块链中的交易处理方法的步骤。
本申请实施例提供的区块链中的交易处理方法、系统、设备及计算机可读存储介质,通过基于鉴权合约维护代理账户池,该代理账户池中包含至少一个允许发起交易的代理账户,当需要发起交易时,针对每一个业务合约交易,从代理账户池中确定满足预设条件的目标代理账户;通过目标代理账户发起业务合约交易,无需等待其他交易执行完成。由于在区块链的设计中,每个账户的Nonce值是独立的,不会相互进行干扰,通过增加允许发起交易的代理账户数量的方式,从而可以由不同的代理账户发起交易,无需等待交易,达到了提高区块链交易吞吐量的目的。
附图说明
图1示意性示出了现有技术中处理业务合约交易的模块框图;
图2示意性示出了根据本申请实施例的区块链中的交易处理方法的应用环境图;
图3示意性示出了根据本申请实施例一的区块链中的交易处理方法的流程图;
图4示意性示出了根据本申请实施例一处理业务合约交易的模块框图;
图5示意性示出了根据本申请实施例一的区块链中的交易处理方法的另一个流程图;
图6示意性示出了根据本申请实施例二的区块链中的交易处理装置的框图;及
图7示意性示出了根据本申请实施例三的适于实现区块链中的交易处理方法的计算机设备的硬件架构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,在本申请实施例中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本申请要求的保护范围之内。
Nonce值是在区块链和密码学货币领域中,用于确保交易唯一性和顺序性的一种机制。
在传统的分布式系统中,Nonce值可能不是普遍存在的,因为交易的顺序可以由中央机构或协议规则进行管理。然而,在区块链领域,Nonce值的重要性非常突出。区块链是一个分布式的、去中心化的系统,通常没有中央机构来管理交易顺序。在这种情况下,Nonce值成为确保区块链交易能够按照正确顺序被执行的重要机制。
Nonce值在区块链系统中起到以下作用:
-防止重放攻击:重放攻击是指恶意用户将之前有效的交易重新发送,以获得不当的利益或干扰网络正常运行。Nonce值有效地防止了重放攻击。因为Nonce值具备的的递增性质,使得每个交易都有唯一的标识符,区块链节点可以通过检查交易历史记录,确保相同Nonce的交易不会被重复执行。
-交易顺序和确认:虽然Nonce值本身不直接决定交易的顺序,但它在交易的打包和确认过程中起到了关键作用。共识节点根据交易池中的交易选择要打包的交易,并将它们放入新的区块中。共识节点通常会按照Nonce值的递增顺序选择和处理交易,以确保交易按照发送方的预期顺序执行。这样做可以维持交易的正确顺序,尤其对于涉及复杂智能合约的交易非常重要。
-提供交易可靠性和安全性:Nonce值是确保交易可靠性和安全性的一部分。交易在区块链网络中的顺序对于维护一致的状态至关重要。通过Nonce值的使用,交易按照发送方预期的顺序被执行,从而避免了发生交易混乱和冲突。此外,Nonce值的存在还增加了对恶意交易和攻击的防御能力。
因此,为了确保交易的正确性、一致性和安全性,Nonce值机制通常是区块链中不可或缺的一部分。然而,由于Nonce值的递增性质,每个账户只能按照顺序提交交易,而无法跳过或乱序提交交易。这就限制了账户能够同时处理的交易数量。当账户正在处理一笔交易时,后续Nonce值对应的交易无法被提交和执行,直到前一个Nonce值对应的交易完成。因此,Nonce值限制了账户的交易吞吐量,即账户在单位时间内能够处理的交易数量。
在实际应用中,可以采取一些优化思路来提高整体的交易吞吐量,如批量交易、Layer 2解决方案等。
-批量交易:将多个交易合并为一个批量交易来减少Nonce值的增长速度,从而提高整体效率。可以通过收集多个要发送的交易,确保这些交易都来自于同一个账户,并按照递增的Nonce值顺序排列。
-Layer 2解决方案:通过将交易从主链转移到辅助链或侧链来提高交易吞吐量的方法。通过在辅助链或侧链上执行大量的交易,并最终将结果提交到主链,可以实现高吞吐量和低成本的交易。
现有技术中,出于安全性考虑,对智能合约对交易发起人有一定的权限限制,只有少数账户有权限执行对应的操作。以铸造操作为例,通常只有合约持有者或指定的账户拥有;转移操作一般只有持有Token资产的用户拥有。由于只有少量用户可以发起交易,因此,会遇到上述Nonce值限制账户吞吐量的问题。
对于Nonce值递增特性造成交易吞吐量的限制问题,背景技术中的优化方案,无论是批量交易和Layer 2解决方案,都会影响交易提交方式,或需要引入链以外的基础设施。
考虑以下样例场景,用户账户A是智能合约的持有者,向智能合约地址C发起5笔铸造交易。在不进行优化的情况下,用户会逐个提交五笔交易,如图1所示。
在不允许乱序提交交易的区块链上(例如cosmos生态区块链),需要等待上一笔交易确认,才可提交下一笔交易。因此,至少需要经过5个出块时间方可完成用户账户A的5笔交易,出块时间长短以不同区块链配置决定。那么,用户完成交易需要较长的等待时间,等待时间至少是(交易次数*出块时间)。
在允许乱序提交交易的区块链上,虽然可以在上一笔交易没有确认时,提交下一笔交易,但交易仍需顺序执行。只有上一笔交易执行完毕,方可执行下一笔交易。任何一笔前置交易未能完成,都会阻塞所有后序交易的进行。而影响交易不能完成的因素非常多,例如,区块链广播延迟、交易参数错误、网络丢包、区块链节点丢失等等。乱序提交交易,对用户使用体验来说,存在极大负担,需要复杂的重试机制来保证交易的成功性,很容易出现因为一个交易意外失败,造成该用户全部交易都卡住的情况出现,在这种情况下,对该用户来说,几乎可以视为区块链服务不可用。即便没有交易意外失败,由于区块链广播延迟等因素存在,仍需等待数个出块时间确认全部交易。例如,假设出块时间平均为15秒,100笔交易乱序提交,通常需要3~4个出块时间才可全部确认,那么完成全部交易需要45~60秒。
现有技术中虽然提出了通过不同的思路解决因Nonce造成的交易吞吐量问题,但这些都存在一定缺陷。其中,
批量交易
批量交易通常是通过在链下收集若干笔交易,这些交易都来自于同一个账户,将这些交易合并为一个批量交易后进行一次提交。由于批量交易将多个交易合并为一个交易,它减少了Nonce值的增长速度,从而提高了整体的交易吞吐量。共识节点在处理批量交易时只需增加一个Nonce值,而不是为每个单独的交易增加Nonce值,这减少了Nonce值的竞争和增长速度。但这种方案存在以下明显弊端:
1.额外引入了链下合并环节。
2.只能按特定逻辑进行交易合并,需要考虑交易的有效性和执行顺序。
3.通常要求等待一段时间窗口后进行批量提交,实时性存在问题。
Layer 2解决方案
Layer 2解决方案是一种通过将交易从主链转移到辅助链或侧链来提高交易吞吐量的方法,例如侧链、闪电网络等。Layer 2引入了侧链等其它与区块链平行运行的区块链网络,需要有较为复杂的跨链一致性保证,无论是实现成本还是维护都非常高。此外,Layer2的方案本身也存在Nonce执行顺序的问题。
有鉴于此,本申请旨在提出一种区块链中的交易处理方法,通过在所述区块链上部署鉴权合约,基于所述鉴权合约维护一个代理账户池,所述代理账户池中包含至少一个代理账户;在需要发起交易时,针对每一个业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,并通过所述目标代理账户发起业务合约交易,无需等待其他交易执行完成。由于在区块链的设计中,每个账户的Nonce值是独立的,不会相互进行干扰,本申请通过增加允许发起交易的账户(即代理账户)数量,从而可以由不同的账户发起交易,无需等待交易,达到了提高区块链交易吞吐量的目的。
通过区块链的Delegatecall和鉴权合约等技术机制,授权代理账户权限,使代理账户拥有与用户账户一致的权限。那么,授权了多少个代理账户,可在同一个区块中,提交相同数量的交易;而可以授权的代理账户数量,一般认为是没有上限的。这种方法使用区块链本身的功能通过增加交易账户的方式,提高交易吞吐量,无需引入侧链等复杂的额外基础设施。
本申请提供了多个实施例进一步介绍区块链中的交易处理方案,具体参照下文。
在本申请的描述中,需要理解的是,步骤前的数字标号并不标识执行步骤的前后顺序,仅用于方便描述本申请及区别每一步骤,因此不能理解为对本申请的限制。
以下为本申请的术语解释:
区块链交易:区块链交易是指在区块链网络中进行的数据交换和记录操作的过程,简称交易。每一笔交易都被添加到区块链的区块中,并通过共识算法进行验证和确认。
Nonce值:在区块链中用于标识交易顺序和防止重放攻击的数字。它确保每个交易只被处理一次,并按照发送方预期的顺序执行。通过递增的方式,发送方可以指定下一个有效的Nonce值,以确保交易的唯一性和正确性。
智能合约:智能合约是一种在区块链上执行的自动化合约,它是一段包含了预先定义的代码逻辑和规则的计算机程序。智能合约旨在自动化和执行各种合约条款和条件,使参与方能够在无需第三方介入的情况下进行可信的交易和合作。智能合约通常运行在区块链上的虚拟机中,例如,Ethereum虚拟机(EVM)。它们以编程方式定义了参与方之间的交互和交易规则,以确保在特定条件下自动执行相应的操作。
代理调用:代理调用又称Delegatecall,是智能合约中的一种特殊函数调用方法。它允许一个智能合约调用另一个智能合约,并共享调用者的上下文(即存储、账户和消息等信息)。
图2示意性示出了根据本申请实施例的环境应用示意图。如图2所示:
计算机设备10000可以通过网络20000连接客户端30000。
计算机设备10000可以提供服务,如进行网络调试,或返回区块链中的交易处理结果数据给客户端30000等。
计算机设备10000可以位于诸如单个场所之类的数据中心,或者分布在不同的地理位置(例如,在多个场所)中。计算机设备10000可以经由一个或多个网络20000提供服务。网络20000包括各种网络设备,例如路由器,交换机,多路复用器,集线器,调制解调器,网桥,中继器,防火墙,代理设备和/或类似。网络20000可以包括物理链路,例如同轴电缆链路,双绞线电缆链路,光纤链路,其组合等。网络20000可以包括无线链路,诸如蜂窝链路,卫星链路,Wi-Fi链路等。
计算机设备10000可以由一个或多个计算节点实现。一个或多个计算节点可以包括虚拟化的计算实例。虚拟化的计算实例可以包括虚拟机,例如计算机系统,操作系统,服务器等的仿真。计算节点可以基于虚拟映像和/或定义用于仿真的特定软件(例如,操作系统,专用应用程序,服务器)的其他数据,由计算节点加载虚拟机。随着对不同类型的处理服务的需求改变,可以在一个或多个计算节点上加载和/或终止不同的虚拟机。可以实现管理程序来管理同一计算节点上不同虚拟机的使用。
客户端30000可以被配置为访问计算机设备10000的内容和服务。客户端30000可以包括任何类型的电子设备,诸如移动设备、平板设备、膝上型计算机、工作站、虚拟现实设备,游戏设备、机顶盒、数字流媒体设备、车辆终端、智能电视、机顶盒等。
客户端30000可以将区块链中的交易处理结果数据等输出(例如,显示、渲染、呈现)给用户。
以下将通过多个实施例介绍网络调试方案。该方案可以通过计算机设备10000实施。
实施例一
图3示意性示出了根据本申请实施例一的区块链中的交易处理方法的流程图。在所述区块链上部署鉴权合约,基于所述鉴权合约维护一个代理账户池,所述代理账户池中包含至少一个代理账户,在需要处理交易时,可以包括步骤S302-S308,其中,
步骤S302,获取需要在同一区块中处理的至少一个业务合约交易;
步骤S304,针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;
步骤S306,通过所述目标代理账户发起业务合约交易。
其中,鉴权合约是部署在区块链上,用于实现身份验证和权限控制的一种智能合约。该鉴权合约至少具备以下功能:增加授权地址、删除授权地址、检查是否地址授权、查看授权地址列表、转移合约权限。其中,鉴权合约的持有者可以增加授权地址、删除授权地址、转移合约权限,例如,真实的用户/账号地址拥有这些权限,而代理账号不具备这些权限;任意地址都可以检查是否地址授权、查看授权地址列表,例如,真实的用户/账号地址和代理账户地址都具备这些权限。
本实施例中,为了增加区块链交易的吞吐量,在智能合约中引入了鉴权合约,通过为每个真实的用户/账号生成一个配套的鉴权合约,利用该鉴权合约加入成百上千个甚至上万个代理账户,并授予这些代理账户相应的权限,以利用这些代理账户来发起交易,其中,每一个代理账户在发起交易时也遵循Nonce值的递增机制,也即代理账户池中的各个代理账户的Nonce值不同,因此,代理账户池中的这些账户可以同时发起不同的交易,无需等待。
具体的,通过获取需要在同一区块中处理的至少一个业务合约交易,需要处理这些业务合约交易时,无需等待其他交易执行完成,直接针对每一个业务合约交易,从代理账户池中确定满足预设条件的目标代理账户,并通过目标代理账户发起业务合约交易。其中,预设条件为预先设定的用于选择代理账户的条件,所述预设条件包含所述代理账户在当前区块中不存在Nonce值冲突,以及所述代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。
需要说明的是,当前区块即为区块链中即将打包业务合约交易的区块,若是该代理账户没有发起过其他交易,则该代理账户在当前区块中不存在Nonce值冲突,否则会出现Nonce值冲突问题。交易开销是指每次交易会在交易发起方产生一定的交易开销,因此,需要保证代理账户在发起业务合约交易时,代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。
以下提供几个可选地实施例,以进行优化所述区块链中的交易处理方法,具体如下:
在本申请的一种优选实施例中,所述方法还包括:
调用所述鉴权合约对所述目标代理账户进行鉴权;在对所述目标代理账户进行鉴权成功的情况下,执行所述业务合约交易。
具体的,在执行业务合约交易时,可以通过Delegatecall函数调用鉴权合约对目标代理账户进行鉴权,以判断目标代理账户是否获得授权用于发起交易的权限。若是对目标代理账户进行鉴权成功,则表示目标代理账户具备发起交易的权限,可以继续执行该目标代理账户发起的业务合约交易。
在具体实现中,通过为每一个真实账户维护对应的鉴权合约,基于该鉴权合约创建一代理账户池,并在该代理账户池中新增多个代理账户,同时授予这些代理账户发起业务合约交易的权限。在通过鉴权合约授予代理账户权限之后,可以维护一个授权账户列表,在执行业务合约交易时,通过确定需要发起业务合约交易的真实账户对应的鉴权合约,利用Delegatecall函数调用该鉴权合约的Check方法,查找目标代理账户是否存在于授权账户列表中,如果返回结果报错,则表示目标代理账户没有权限;如果返回成功,则表示目标代理账户有权限。
在本申请的一种优选实施例中,所述方法还包括:
在对所述目标代理账户进行鉴权失败的情况下,中止执行所述业务合约交易。
在本实施例中,若是对目标代理账户进行鉴权失败,则表示目标代理账户并不具备发起交易的权限,则需要中止执行该目标代理账户所发起的业务合约交易。
在本申请的一种优选实施例中,在所述步骤S306之后,所述方法还可以包括如下步骤:
记录所述代理账户池中的所述目标代理账户已发起交易。
在本实施例中,在目标代理账户发起交易之后,为了避免发生Nonce值冲突,在交易完成之前,目标代理账户不满足发起交易条件,此时,可以基于鉴权合约管理机制,记录代理账户池中的目标代理账户已发起交易。在具体实现中,可以将目标代理账户从代理账户池中移除,或,为目标代理账户设置已使用的标签,或,将目标代理账户的状态设置为不可用状态,使得接下来需要发起业务合约交易时,不会选择该目标代理账户作为交易发起方。
在本申请的一种优选实施例中,在所述步骤S306之后,所述方法还可以包括如下步骤:
在确定所述业务合约交易执行失败的情况下,记录所述代理账户池中的所述目标代理账户已完成交易。
具体的,通过判断业务合约交易是否执行成功,若是确定业务合约交易执行失败,则表示业务合约交易执行结束,此时可以通过记录代理账户池中的目标代理账户已完成交易,使得目标代理账户可以再次被用于发起交易。
在本申请的一种优选实施例中,所述方法还可以包括如下步骤:
在确定所述业务合约交易执行成功的情况下,发起交易开销补充交易;
记录所述代理账户池中的所述目标代理账户已完成交易。
在本实施例中,若是确定业务合约交易执行成功,则可以发起交易开销补充交易,其中,交易开销为交易发起方发起交易所产生的消耗,由于交易发起方每次发起交易会产生一定的交易开销,为了保证代理账户可用,在交易完成后,需要通过发起交易开销补充交易,以补充消耗的交易开销。同时,业务合约交易执行成功,则表示业务合约交易执行结束,此时,可以通过记录代理账户池中的目标代理账户已完成交易,使得目标代理账户可以再次被用于发起交易。
需要说明的是,为了避免对区块链交易的主要链路产生影响,交易开销补充交易的发起在交易确认环节进行,但交易开销补充交易的成功确认和重试环节是与业务合约交易主流程分开的,也即,在发起交易开销补充交易之后,无需等待交易开销补充交易执行完成,即可执行将目标代理账户放回代理账户池中的步骤。
在本申请的一种优选实施例中,在所述发起交易开销补充交易的步骤之后,所述方法还包括:
在确定所述交易开销补充交易执行成功的情况下,结束所述交易开销补充交易;或,
在确定所述交易开销补充交易执行失败的情况下,返回执行所述发起交易开销补充交易的步骤。
在本实施例中,在发起交易开销补充交易之后,还可以判断交易开销补充交易是否执行成功,在确定交易开销补充交易执行成功的情况下,则结束交易开销补充交易;或,在确定交易开销补充交易执行失败的情况下,则返回执行所述发起交易开销补充交易的步骤,即通过多次重试以确保目标代理账户的交易开销可以补充完成,以便于目标代理账户下次可以发起其他的一些交易。
在本申请的一种优选实施例中,所述方法还包括:
根据所述代理账户池中包含的至少一个代理账户,生成授权账户列表。
在本实施例中,可以根据代理账户池中包含的至少一个代理账户,生成授权账户列表,以用于鉴权合约对代理账户进行鉴权。
在本申请的一种优选实施例中,所述调用所述鉴权合约对所述目标代理账户进行鉴权,包括:
调用所述鉴权合约判断所述目标代理账户是否存在所述授权账户列表中;
若所述目标代理账户存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权成功;或,
若所述目标代理账户不存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权失败。
具体的,可以通过Delegatecall(委托调用)的调用语法,调用鉴权合约的Check方法,判断发起交易的目标代理账户是否拥有授权的权限。引入鉴权合约的智能合约,记作业务合约。例如,Check方法的输入参数是_msgSender()代表交易发起账户,通过FunctionCall方法调用check(address),判断发起交易的目标代理账户是否在已授权账户列表,如果返回结果报错,则表示目标代理账户没有权限;如果返回成功,则表示目标代理账户有权限。合约交易哪些操作需要授权,使用哪个鉴权合约,视具体业务合约的实现而定。在具体实现中,根据Solidity语言版本不同,Delegatecall的调用方式和实现方法可能存在差别。
本实施例中,在区块链的智能合约中引入鉴权合约后,可以通过代理账户发起业务合约交易。代理账户提交业务合约交易后,智能合约根据合约中的操作调取相应的鉴权合约;如果鉴权合约返回成功,那么交易可以继续执行;如果返回失败,那么交易中止,并返回执行通过代理账户发起业务合约交易的步骤。
在区块链的智能合约中引入鉴权合约后,在鉴权合约中任意一个授权过的代理账户,均可在同一个区块中发起业务合约交易,而不会失败或者等待。这样,如果鉴权合约授权过的代理账户越多,能够接受的业务合约交易的吞吐量越大,不会受到单个账户的Nonce值递增机制的限制。例如,对于同一时间需要处理的大量的业务合约交易,可以同时在同一个区块中提交,而不是等待若干个区块执行完成之后再依次提交,大大缩短了业务合约交易的确认时间。如图4所示,假设需要提交五个交易,则可以分别通过代理账号1-5提交这些交易,每一个代理账号分别提交一个交易到区块高度101中,智能合约C通过调用鉴权合约E对交易1和交易2进行鉴权并确定,通过调用鉴权合约F对交易3、交易4和交易5进行鉴权并确定。
通常在实际使用时,为了增加交易的吞吐量,在鉴权合约会加入数百个或数千个代理账户,而每个真实企业用户生成一个配套的鉴权合约。那么,如何维护、使用几十个甚至几百万个代理账户,存在很多挑战,因此,需要系统对鉴权合约及其代理账户进行管理。
具体的,鉴权合约管理方法包括交易账户分配和交易开销维护两部分。其中,交易账户分配,是指在合约从鉴权合约授权的代理账户中,选出一个当前符合要求的代理账户,用于发起业务合约交易。交易开销维护维护是指,补充代理账户每次发起交易产生的交易开销,以维持代理账户有足够的交易开销进行下一次交易。
-交易账户分配
每次用户发起交易时,需要选择一个代理账户作为交易发起账户。这个账户应当满足以下条件:
1.在即将打包的区块中,该账户没有发起过其它交易,否则会出现Nonce值冲突问题。
2.账户中有足够的交易开销,用于发起交易。
每个鉴权合约均会维护一个代理账户池,在每次发起交易时,从代理账户池中选择一个符合条件的代理账户。鉴权合约管理系统会记录本次负责提交交易的代理账户,将本次提交的代理账户从代理账户池中移除。在交易确认完成后,将代理账户放回代理账户池中。
-交易开销维护
由于交易发起方每次发起交易会产生一定的交易开销,为了保证代理账户可用,在交易完成后需要补充消耗的交易开销。在交易确认完后,需要增加补充交易开销的环节。根据区块链的特性,补充交易开销需要异步确认。为了避免对交易的主要链路产生影响,补充交易开销的发起在交易确认环节进行,但补充交易开销成功确认和重试环节是与交易主流程分开的。如图5所示,是一种区块链中的交易处理方法的步骤流程图,具体包括如下步骤:
步骤S501,获取需要在同一区块中处理的至少一个业务合约交易。
步骤S502,针对每一个所述业务合约交易,从代理账户池中确定满足预设条件的目标代理账户。
步骤S503,通过所述目标代理账户发起业务合约交易。
步骤S504,判断业务合约交易是否成功;如是成功,则执行步骤S505;若是失败,则执行步骤S506。
步骤S505,发起交易开销补充交易。
其中,在步骤S505之后,还包括如下步骤:
步骤S505-1,判断交易开销补充交易是否成功;若是成功,则执行步骤S505-2;若是失败,则返回执行步骤S505。
步骤S505-2,交易开销补充结束。
步骤S506,记录所述代理账户池中的所述目标代理账户已完成交易。
步骤S507,结束交易。
实施例二
图6示意性示出了根据本申请实施例二的区块链中的交易处理系统的框图,该区块链中的交易处理系统可以被分割成一个或多个程序模块,一个或者多个程序模块被存储于存储介质中,并由一个或多个处理器所执行,以完成本申请实施例。本申请实施例所称的程序模块是指能够完成特定功能的一系列计算机程序指令段,以下描述将具体介绍本申请实施例中各程序模块的功能。
在本实施例中,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,如图6所示,该区块链中的交易处理系统600可以包括如下模块:
交易获取模块610,用于获取需要在同一区块中处理的至少一个业务合约交易;
代理账户确定模块620,用于针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;
交易发起模块630,用于通过所述目标代理账户发起业务合约交易。
在本申请的一种优选实施例中,所述系统还包括:
代理账户鉴权模块,用于调用所述鉴权合约对所述目标代理账户进行鉴权;
交易执行模块,用于在对所述目标代理账户进行鉴权成功的情况下,执行所述业务合约交易。
在本申请的一种优选实施例中,所述系统还包括:
交易中止模块,用于在对所述目标代理账户进行鉴权失败的情况下,中止执行所述业务合约交易。
在本申请的一种优选实施例中,所述系统还包括:
已发起交易记录模块,用于记录所述代理账户池中的所述目标代理账户已发起交易。
在本申请的一种优选实施例中,所述系统还包括:
交易开销补充交易发起模块,用于在确定所述业务合约交易执行成功的情况下,发起交易开销补充交易;
已完成交易记录模块,用于记录所述代理账户池中的所述目标代理账户已完成交易。
在本申请的一种优选实施例中,所述系统还包括:
交易执行成功模块,用于在确定所述交易开销补充交易执行成功的情况下,结束所述交易开销补充交易;或,
交易执行失败模块,用于在确定所述交易开销补充交易执行失败的情况下,返回执行所述发起交易开销补充交易的步骤。
在本申请的一种优选实施例中,所述预设条件包含所述代理账户在当前区块中不存在Nonce值冲突,以及所述代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。
在本申请的一种优选实施例中,所述系统还包括:
授权账户列表生成模块,用于根据所述代理账户池中包含的至少一个代理账户,生成授权账户列表;
所述代理账户鉴权模块,包括:
判断子模块,用于调用所述鉴权合约判断所述目标代理账户是否存在所述授权账户列表中;
第一确定子模块,用于若所述目标代理账户存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权成功;或,
第二确定子模块,用于若所述目标代理账户不存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权失败。
实施例三
图7示意性示出了根据本申请实施例三的适于实现区块链中的交易处理方法的计算机设备10000的硬件架构示意图。本实施例中,计算机设备10000是一种能够按照事先设定或者存储的指令,自动进行数值计算和/或信息处理的设备。例如,可以是智能手机、平板电脑、笔记本电脑、台式计算机、机架式服务器、刀片式服务器、塔式服务器或机柜式服务器(包括FEN独立的服务器,或者多个服务器所组成的服务器集群)等。如图7所示,计算机设备10000至少包括但不限于:可通过系统总线相互通信链接存储器10010、处理器10020、网络接口10030。其中:
存储器10010至少包括一种类型的计算机可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,存储器10010可以是计算机设备10000的内部存储模块,例如该计算机设备10000的硬盘或内存。在另一些实施例中,存储器10010也可以是计算机设备10000的外部存储设备,例如该计算机设备10000上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,存储器10010还可以既包括计算机设备10000的内部存储模块也包括其外部存储设备。本实施例中,存储器10010通常用于存储安装于计算机设备10000的操作系统和各类应用软件,例如区块链中的交易处理方法的程序代码等。此外,存储器10010还可以用于暂时地存储已经输出或者将要输出的各类数据。
处理器10020在一些实施例中可以是中央处理器(Central Processing Unit,简称为CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器10020通常用于控制计算机设备10000的总体操作,例如执行与计算机设备10000进行数据交互或者通信相关的控制和处理等。本实施例中,处理器10020用于运行存储器10010中存储的程序代码或者处理数据。
网络接口10030可包括无线网络接口或有线网络接口,该网络接口10030通常用于在计算机设备10000与其他计算机设备之间建立通信链接。例如,网络接口10030用于通过网络将计算机设备10000与外部终端相连,在计算机设备10000与外部终端之间的建立数据传输通道和通信链接等。网络可以是企业内部网(Intranet)、互联网(Internet)、全球移动通讯系统(Global System of Mobile communication,简称为GSM)、宽带码分多址(Wideband Code Division Multiple Access,简称为WCDMA)、4G网络、5G网络、蓝牙(Bluetooth)、Wi-Fi等无线或有线网络。
需要指出的是,图7仅示出了具有部件10010-10030的计算机设备,但是应理解的是,并不要求实施所有示出的部件,可以替代的实施更多或者更少的部件。
在本实施例中,存储于存储器10010中的区块链中的交易处理方法还可以被分割为一个或者多个程序模块,并由一个或多个处理器(本实施例为处理器10020)所执行,以完成本申请实施例。
实施例四
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质其上存储有计算机程序,计算机程序被处理器执行时实现实施例中的区块链中的交易处理方法的步骤。
本实施例中,计算机可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,计算机可读存储介质可以是计算机设备的内部存储单元,例如该计算机设备的硬盘或内存。在另一些实施例中,计算机可读存储介质也可以是计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(Smart Media Card,简称为SMC),安全数字(Secure Digital,简称为SD)卡,闪存卡(Flash Card)等。当然,计算机可读存储介质还可以既包括计算机设备的内部存储单元也包括其外部存储设备。本实施例中,计算机可读存储介质通常用于存储安装于计算机设备的操作系统和各类应用软件,例如实施例中区块链中的交易处理方法的程序代码等。此外,计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的各类数据。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (11)

1.一种区块链中的交易处理方法,其特征在于,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述方法包括:
获取需要在同一区块中处理的至少一个业务合约交易;
针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;
通过所述目标代理账户发起所述业务合约交易。
2.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述方法还包括:
调用所述鉴权合约对所述目标代理账户进行鉴权;
在对所述目标代理账户进行鉴权成功的情况下,执行所述业务合约交易。
3.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述方法还包括:
在对所述目标代理账户进行鉴权失败的情况下,中止执行所述业务合约交易。
4.根据权利要求1所述的区块链中的交易处理方法,其特征在于,在所述通过所述目标代理账户发起业务合约交易的步骤之后,所述方法还包括:
记录所述代理账户池中的所述目标代理账户已发起交易。
5.根据权利要求1所述的区块链中的交易处理方法,其特征在于,在所述通过所述目标代理账户发起业务合约交易的步骤之后,所述方法还包括:
在确定所述业务合约交易执行成功的情况下,发起交易开销补充交易;
记录所述代理账户池中的所述目标代理账户已完成交易。
6.根据权利要求5所述的区块链中的交易处理方法,其特征在于,在所述发起交易开销补充交易的步骤之后,所述方法还包括:
在确定所述交易开销补充交易执行成功的情况下,结束所述交易开销补充交易;或,
在确定所述交易开销补充交易执行失败的情况下,返回执行所述发起交易开销补充交易的步骤。
7.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述预设条件包含所述代理账户在当前区块中不存在Nonce值冲突,以及所述代理账户中当前拥有的交易开销大于或等于发起所述业务合约交易所需的交易开销。
8.根据权利要求1所述的区块链中的交易处理方法,其特征在于,所述方法还包括:
根据所述代理账户池中包含的至少一个代理账户,生成授权账户列表;
所述调用所述鉴权合约对所述目标代理账户进行鉴权,包括:
调用所述鉴权合约判断所述目标代理账户是否存在所述授权账户列表中;
若所述目标代理账户存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权成功;或,
若所述目标代理账户不存在所述授权账户列表中,则确定对所述目标代理账户进行鉴权失败。
9.一种区块链中的交易处理系统,其特征在于,所述区块链上部署有鉴权合约,所述鉴权合约用于维护所述鉴权合约对应的代理账户池,所述代理账户池中包含至少一个代理账户,所述系统包括:
交易获取模块,用于获取需要在同一区块中处理的至少一个业务合约交易;
代理账户确定模块,用于针对每一个所述业务合约交易,从所述代理账户池中确定满足预设条件的目标代理账户,所述代理账户池中的各所述代理账户的Nonce值不同;
交易发起模块,用于通过所述目标代理账户发起业务合约交易。
10.一种计算机设备,所述计算机设备包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时用于实现权利要求1至8中任意一项所述的区块链中的交易处理方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序可被至少一个处理器所执行,以使所述至少一个处理器执行权利要求1至8中任意一项所述的区块链中的交易处理方法的步骤。
CN202310955363.XA 2023-07-31 2023-07-31 区块链中的交易处理方法和系统 Pending CN117036017A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310955363.XA CN117036017A (zh) 2023-07-31 2023-07-31 区块链中的交易处理方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310955363.XA CN117036017A (zh) 2023-07-31 2023-07-31 区块链中的交易处理方法和系统

Publications (1)

Publication Number Publication Date
CN117036017A true CN117036017A (zh) 2023-11-10

Family

ID=88601530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310955363.XA Pending CN117036017A (zh) 2023-07-31 2023-07-31 区块链中的交易处理方法和系统

Country Status (1)

Country Link
CN (1) CN117036017A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118075282A (zh) * 2024-02-20 2024-05-24 北京锐融天下科技股份有限公司 一种基于可信中继的区块链智能合约无感交互方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118075282A (zh) * 2024-02-20 2024-05-24 北京锐融天下科技股份有限公司 一种基于可信中继的区块链智能合约无感交互方法及系统

Similar Documents

Publication Publication Date Title
US11797988B2 (en) Transaction processing
WO2018076760A1 (zh) 基于区块链的交易事务处理方法、系统、电子装置及存储介质
CN110855777B (zh) 一种基于区块链的节点管理方法及装置
CN111698315B (zh) 针对区块的数据处理方法、数据处理装置及计算机设备
CN110601896B (zh) 一种基于区块链节点的数据处理方法以及设备
CN111612614A (zh) 一种基于公链的子链业务系统
CN110677383B (zh) 防火墙开墙方法、装置、存储介质及计算机设备
CN111626858A (zh) 冲正交易的处理方法、装置、电子设备和计算机可读介质
CN112714158A (zh) 事务处理方法、中继网络、跨链网关、系统、介质和设备
CN117036017A (zh) 区块链中的交易处理方法和系统
US20230259930A1 (en) Cross-chain transaction processing method and apparatus, electronic device, and storage medium
CN110661853A (zh) 一种数据代理方法、装置、计算机设备及可读存储介质
CN111260475A (zh) 一种数据处理方法、区块链节点设备及存储介质
US20240039727A1 (en) Blockchain-based data processing method and apparatus, device, and readable storage medium
CN113689216A (zh) 跨链事务处理方法及装置、设备、存储介质、程序产品
CN111311254A (zh) 一种基于区块链的业务处理方法、装置和系统
CN111722946A (zh) 分布式事务处理方法、装置、计算机设备及可读存储介质
CN116132052A (zh) 跨链交易方法、装置、电子设备及存储介质
CN108241616B (zh) 消息推送方法和装置
CN111932326A (zh) 一种基于区块链网络的数据处理方法及相关设备
WO2023207529A1 (zh) 数据处理方法、装置及设备、介质、产品
CN114092093B (zh) 区块链交易处理方法、装置、电子设备和可读介质
CN112580975A (zh) 业务流程处理方法和装置
CN111161070A (zh) 基于以太坊的联盟链优化方法及装置
CN114741178B (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