CN108596613A - 区块链交易处理方法、装置及存储介质 - Google Patents

区块链交易处理方法、装置及存储介质 Download PDF

Info

Publication number
CN108596613A
CN108596613A CN201810241990.6A CN201810241990A CN108596613A CN 108596613 A CN108596613 A CN 108596613A CN 201810241990 A CN201810241990 A CN 201810241990A CN 108596613 A CN108596613 A CN 108596613A
Authority
CN
China
Prior art keywords
chain
transaction
subregion
block
request
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
CN201810241990.6A
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.)
Shenzhen Onething Technology Co Ltd
Shenzhen Xunlei Network Technology Co Ltd
Original Assignee
Shenzhen Onething 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 Shenzhen Onething Technology Co Ltd filed Critical Shenzhen Onething Technology Co Ltd
Priority to CN201810241990.6A priority Critical patent/CN108596613A/zh
Publication of CN108596613A publication Critical patent/CN108596613A/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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/382Payment protocols; Details thereof insuring higher security of transaction
    • G06Q20/3829Payment protocols; Details thereof insuring higher security of transaction involving key management
    • 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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (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)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

本发明提供一种区块链交易处理方法,该方法包括接收步骤:接收客户端用户发起的交易请求;及处理步骤:将交易请求分发到若干个结构相同的分区链中并行处理,其中所述若干个分区链包括智能合约分区链。本发明还提供一种电子装置及计算机可读存储介质。利用本发明,可对区块链进行水平扩展,将原发送到单一区块链处理的交易平均分散到若干个相同架构的区块链分区中并行处理。交易在不同分区具有相同的结构,能够保证交易在跨链转发的过程中被接受认可。同时,对智能合约也划分为多个区块链分区,防止个别智能合约的安全漏洞隐患对整个区块链系统的影响,降低运行风险。

Description

区块链交易处理方法、装置及存储介质
技术领域
本发明涉及区块链领域,尤其涉及一种高性能的区块链交易处理系统及方法。
背景技术
基于实用拜占庭容错共识算法(Practical Byzantine Fault Tolerance,PBFT)的区块链系统,在接收到用户发起的交易请求后,要求区块链中的验证节点相互进行三轮投票。当用户请求数量大的情况下,网络通信负担重,尤其是当区块链中节点数量多的情况下,节点间通信量呈节点数的平方级增长,使得通信能力成为了区块链系统处理消息的瓶颈。
另外,在区块链交易过程中,需要调用智能合约进行约束。由于智能合约是由人工编写的链上代码,本身有存在漏洞的风险。当所有智能合约都绑定在同一条区块链上时,代码的漏洞有可能会影响全网账户,从而影响全体用户的利益,增大了系统运行的风险。
发明内容
鉴于以上内容,本发明提供一种高性能的区块链交易处理方法,对区块链(包括智能合约)进行水平扩展,将交易路由到不同的区块链分区进行并行处理,提高交易吞吐量及处理时效,降低风险。
为实现上述目的,本发明提供一种区块链交易处理方法,其该方法包括:
接收步骤:接收客户端用户发起的交易请求,所述交易请求包括智能合约调用请求;及
处理步骤:将交易请求分发到若干个结构相同的分区链中并行处理,其中所述若干个分区链包括智能合约分区链。
优选地,在所述区块链中,按照业务场景划分智能合约分区链,每个所述智能合约分区链对应一个或一系列智能合约。
优选地,所述处理步骤包括:将各个交易请求方的地址与分区链的总分区数分别进行取模运算得到第一取模值,根据第一取模值与分区链的对应关系将各个交易请求发送至相应的第一分区链。
此外,本发明还提供一种电子装置,该电子装置包括存储器及处理器。所述存储器上存储有区块链交易处理程序,该区块链交易处理程序被处理器执行时,实现如下步骤:
接收步骤:接收客户端用户发起的交易请求,所述交易请求包括智能合约调用请求;及
处理步骤:将交易请求分发到若干个结构相同的分区链中并行处理,其中所述若干个分区链包括智能合约分区链。
优选地,在所述区块链中,按照业务场景划分智能合约分区链,每个所述智能合约分区链对应一个或一系列智能合约。
优选地,所述处理步骤包括:将各个交易请求方的地址与分区链的总分区数分别进行取模运算得到第一取模值,根据第一取模值与分区链的对应关系将各个交易请求发送至相应的第一分区链。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中包括区块链交易处理程序,所述区块链交易处理程序被处理器执行时,可实现如上所述区块链交易处理方法中的步骤。
本发明提出的区块链交易处理方法、装置及存储介质,将发送到单一区块链处理的交易平均分散到若干个相同架构的区块链分区中,对区块链进行了水平扩展,将交易路由到不同的区块链分区进行并行处理,可以实现交易秒级到账。交易在不同分区具有相同的结构,保证交易在跨链转发的过程中可以被接受认可,可适用于广泛的应用场景。
同时,对智能合约也按业务场景划分为多个区块链分区,每个分区用于一个或一系列智能合约。这种方式下,智能合约可以在本分区内相互调用,方便业务场景的开展,而不同分区之间的智能合约不能相互调用,防止个别智能合约的安全漏洞隐患对整个区块链系统的影响,降低了区块链系统的运行风险,提高了系统可用性。另外,智能合约针对相应业务场景的运行效率得到提高,防止因为个别智能合约的负载过高或故障影响其他智能合约所在的链的可用性。并且,相应的业务场景也可以根据需要,个性化配置所需的硬件设备,提高系统的灵活性。
附图说明
图1为本发明区块链交易处理方法的电子装置较佳实施例的示意图。
图2是本发明区块链交易处理方法对区块链进行水平扩展的示意图。
图3为图2中具有相同结构的分区链的示意图。
图4为本发明区块链交易处理方法第一较佳实施例的流程图。
图5为本发明区块链交易处理方法第二较佳实施例的流程图。
图6为本发明区块链交易处理方法第三较佳实施例的流程图。
图7为本发明区块链交易处理方法第四较佳实施例的流程图。
图8为本发明区块链交易处理方法第五较佳实施例的流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,是本发明实现高性能的区块链交易处理方法的电子装置1较佳实施例的示意图。
在本实施例中,电子装置1可以是服务器、智能手机、平板电脑、个人电脑、便携计算机以及其它具有运算功能的电子设备。
该电子装置1包括:存储器11、处理器13、网络接口15及通信总线17。其中,网络接口15可选地可以包括标准的有线接口、无线接口(如WI-FI接口)。通信总线17用于实现这些组件之间的连接通信。
存储器11至少包括一种类型的可读存储介质。所述至少一种类型的可读存储介质可为如闪存、硬盘、多媒体卡、卡型存储器等的非易失性存储介质。在一些实施例中,所述存储器11可以是所述电子装置1的内部存储单元,例如该电子装置1的硬盘。在另一些实施例中,所述存储器11也可以是所述电子装置1的外部存储单元,例如所述电子装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。
在本实施例中,所述存储器11可以用于存储安装于所述电子装置1的应用软件及各类数据,例如区块链交易处理程序10的程序代码及其运行过程中产生的相关数据。
处理器13在一些实施例中可以是一中央处理器(Central Processing Unit,CPU),微处理器或其它数据处理芯片,用于运行存储器11中存储的程序代码或处理数据。
图1仅示出了具有组件11-17以及区块链交易处理程序10的电子装置1,但是应理解的是,图1并未示出电子装置1的所有组件,可以替代实施更多或者更少的组件。该电子装置1还可以包括射频(Radio Frequency,RF)电路、传感器和音频电路等等,在此不再赘述。
在图1所示的电子装置1实施例中,作为一种计算机存储介质的存储器11中存储区块链交易处理程序10的程序代码,处理器13执行所述区块链交易处理程序10的程序代码时,将用户发起的交易请求路由到若干个架构相同的区块链分区中并行处理(如图2、图3所示)。以下结合图3~图6说明区块链交易处理程序10运行时实现的区块链交易处理方法。
如图4所示,是本发明区块链交易处理方法第一较佳实施例的流程图。在本实施例中,在本实施例中,处理器13执行存储器11中存储的区块链交易处理程序10的程序代码时实现的区块链交易处理方法包括:
步骤S10,接收客户端用户发起的交易请求。在本实施例中,所述交易请求可以是智能合约调用请求或其他普通交易请求。
步骤S20,将交易请求分发到若干个结构相同的分区链中并行处理。
如图2所示,具有相同结构的分区链总数为N(N为大于1的正整数),当接入层接收到用户发送的交易请求时,根据每个交易请求方的地址(类似于银行账号的一串数字)对分区数N取模的值,将交易请求分发到相应的分区链。例如,当某个交易请求方的地址对分区数N取模的值为1,该交易请求方的交易请求分发至分区链1处理;当另一个交易请求方的地址对分区数N取模的值为3,则将该交易请求方的交易请求分发至分区链3处理。在本实施例中,是以地址与分区链总数N的取模值对交易进行分发。在其他实施例中,也可以是依据其他映射关系对交易进行分发。
值得注意的是,所述具有相同结构的分区链中包括智能合约分区链和其他普通交易分区链。其中,所述智能合约分区链按照业务场景进行划分,每个所述智能合约分区链对应一个或一系列智能合约,用于该业务场景的开展。
关于步骤S20的具体介绍,请参图5-8中相关步骤。
如图5所示,是本发明区块链交易处理方法第二较佳实施例的流程图。
步骤S101,接收用户发送的交易请求。在本实施例中,所述交易请求可以是智能合约调用请求或其他普通交易请求。
步骤S103,根据交易请求方的地址与分区链的总分区数N的取模值M1将该交易请求发送至第一分区链。例如,当M1=1时,该交易请求发送至如图2所示的第一分区链1。
步骤S105,第一分区链的节点解析该交易请求及该交易的相关信息,以验证该交易请求的合法性和交易的有效性。如图3所示,每个分区链包括多个节点,包括但不限于,非记账节点(peer节点)、记账节点(validator节点)及监听节点(listener节点)。接收到交易请求后,非记账节点验证交易请求的合法性,即判断该交易请求是否属于本分区链的处理任务,验证方式为计算交易请求方的地址与分区链的总分区数N的取模值M1是否对应于该分区链,例如值M1是否等于该分区链的识别码。记账节点验证交易的有效性,例如该交易请求涉及的金额是否在允许范围之内。
步骤S107,第一分区链的节点根据解析结果判断该交易请求是否合法、该交易是否有效。当判断该交易请求不合法、或该交易无效时,执行步骤S109,拒绝交易,流程可以结束,也可以反馈被拒绝的交易相关信息给发起交易请求的用户及相关机构。当判断该交易请求合法且该交易有效时,执行步骤S111。
步骤S111,第一分区链的记账节点将交易打包成区块,在记账节点间达成共识。记账节点将交易打包成区块遵循的原则可以是根据时间周期,当预设的时间周期到达时,将截止当前时间收到的交易打包成区块,也可以是依据交易数量,当收到的交易数量达到预设阈值时,将交易打包成区块。
步骤S113,第一分区链的监听节点解析区块中的交易信息。
步骤S115,第一分区链的监听节点根据解析判断区块中的交易是否涉及跨链交易。在本实施例中,判断一个交易是否涉及跨链交易的方式是:将该交易涉及到的接收方的地址与分区数N取模得到值M2,判断值M2是否对应于本分区链,如果对应的是其他分区链,则涉及跨链交易。当判断值M2对应于本分区链时,该交易为本区内交易,执行步骤S117,在该第一分区链中完成交易,流程结束。当判断值M2对应于其他分区链时,执行步骤S119。
步骤S119,第一分区链的监听节点根据交易接收方的地址与总分区数N的取模值M2,将跨链交易请求发送至第二分区链。例如,当值M2=2时,将该跨链交易请求发送至图2、图3中的分区链2。
值得注意的是,当所述交易请求为智能合约调用请求时,一般情况下是由普通交易分区链向智能合约分区链发出请求,因此该交易为跨链交易。步骤S115中判断出该交易为跨链交易,表示所述交易请求需要调用的是其他分区链(智能合约分区链)中的智能合约。执行步骤S119,将所述交易请求发送至所述第二分区链(智能合约分区链),以完成对相应智能合约的调用。
步骤S121,第二分区链的节点验证跨链交易请求的合法性和交易的有效性。步骤S121、123、125的原理类似于上述步骤S105、S107、S109,此处不再赘述。当第二分区链的节点判断该跨链交易请求合法且该跨链交易有效时,执行步骤S127,第二分区链的记账节点将交易打包成区块,在记账节点间达成共识,完成交易后由第二分区链的监听节点反馈信息给第一分区链的监听节点。
如图6所示,是本发明区块链交易处理方法第三较佳实施例的流程图。在本实施例中,所述区块链交易处理方法的步骤与第二实施例类似,区别在于以智能合约调用为例对所述区块链交易处理方法的流程进行详细说明。
步骤S201,接收用户发送的智能合约调用请求。所述智能合约调用请求可以作为交易请求的其中一种。
步骤S203,根据智能合约调用请求方的地址与分区链的总分区数N的取模值M1将该交易请求发送至第一分区链。例如,当M1=1时,该智能合约调用请求发送至如图2所示的第一分区链1。
步骤S205,第一分区链的节点解析该智能合约调用请求及相关信息,以验证该智能合约调用请求的合法性和有效性。接收到智能合约调用请求后,非记账节点验证智能合约调用请求的合法性,即判断该智能合约调用请求是否属于本分区链的处理任务,验证方式为计算调用请求方的地址与分区链的总分区数N的取模值M1是否对应于该分区链,例如值M1是否等于该分区链的识别码。记账节点验证智能合约调用请求的有效性,例如该智能合约调用请求涉及的金额是否在允许范围之内。
步骤S207,第一分区链的节点根据解析结果判断该智能合约调用请求是否合法、是否有效。当判断该智能合约调用请求不合法、或该智能合约调用请求无效时,执行步骤S209,拒绝调用,流程可以结束,也可以反馈被拒绝的调用请求相关信息给发起智能合约调用请求的用户及相关机构。当判断该智能合约调用请求合法且有效时,执行步骤S211。
步骤S211,第一分区链的记账节点将智能合约调用信息打包成交易区块,在记账节点间达成共识。在本实施例中,所述智能合约调用可以作为一种交易。
步骤S213,第一分区链的监听节点解析区块中的智能合约调用信息。
步骤S215,第一分区链的监听节点根据解析判断区块中的智能合约调用是否涉及跨链交易。在本实施例中,判断所述智能合约调用是否涉及跨链交易的方式是:将调用接收方的地址与分区数N取模得到值M2,判断值M2是否对应于本分区链,如果对应的是其他分区链,则涉及跨链交易。
值得注意的是,智能合约调用请求一般情况下是由普通交易分区链向智能合约分区链发出,因此为跨链交易。当判断值M2对应于本分区链时,表示该智能合约调用请求有误,执行步骤S217,提示调用错误,拒绝请求,流程可以结束,也可以反馈该错误的调用请求相关信息给发起智能合约调用请求的用户及相关机构。当判断值M2对应于其他分区链时,执行步骤S219。
步骤S219,第一分区链的监听节点根据调用接收方的地址与总分区数N的取模值M2,将智能合约调用请求发送至第二分区链。例如,当值M2=2时,将该智能合约调用请求发送至图2、图3中的分区链2。
步骤S221,第二分区链的节点验证智能合约调用请求的合法性和有效性。步骤S221、223、225的原理类似于上述步骤S205、S207、S209,此处不再赘述。当第二分区链的节点判断该智能合约调用请求合法且有效时,执行步骤S227,第二分区链的记账节点将智能合约调用信息打包成区块,在记账节点间达成共识,完成智能合约调用后由第二分区链的监听节点反馈信息给第一分区链的监听节点。
如图7所示,是本发明区块链交易处理方法第四较佳实施例的流程图。
步骤S301,接收用户发送的交易请求。在本实施例中,所述交易请求可以是智能合约调用请求或其他普通交易请求。
步骤S303,根据交易请求方的地址与分区链的总分区数N的取模值M1将该交易请求发送至第一分区链。例如M1=1,该交易请求发送至如图3所示的分区链1。
步骤S305,第一分区链的第一节点计算请求方地址与分区数N的取模值M1’。在本实施例中,第一节点为非记账节点。如图3所示,分区链1的非记账节点1接收到一个交易请求后,计算该请求方地址与分区数N的取模值M1’。
步骤S307,第一分区链的第一节点根据该取模值M1’验证该交易请求是否属于该第一分区链的交易。若验证不属于该第一分区链的交易,则判断该交易请求不合法,执行步骤S309,拒绝交易。流程可以结束,也可以反馈被拒绝的交易相关信息给发起交易请求的用户及相关机构。
若步骤S307判断交易请求合法,则执行步骤S311。例如,当图3的非记账节点1判断取模值M1’对应的不是分区链1时,拒绝交易,若取模值M1’=1,则判断该交易请求合法。
步骤S311,第一分区链的第一节点广播该交易请求至该第一分区链的所有第二节点。在本实施例中,第二节点为记账节点。如图3所示,非记账节点1将该交易请求广播给记账节点1~4。
步骤S313,第一分区链的第二节点解析交易信息以验证交易的有效性,例如该交易请求涉及的金额是否在允许范围之内。
步骤S315,第一分区链的第二节点判断交易是否有效。若交易无效,则执行步骤S317,拒绝交易。流程可以结束,也可以反馈被拒绝的交易相关信息给发起交易请求的用户及相关机构。
若步骤S315判断交易有效,则执行步骤S319,第二节点将将交易打包成区块,在第二节点间达成共识。如图3所示,交易区块在记账节点1~4之间达成共识。记账节点将交易打包成区块遵循的原则可以是根据时间周期,当预设的时间周期到达时,将截止当前时间收到的交易打包成区块,也可以是依据交易数量,当收到的交易数量达到预设阈值时,将交易打包成区块。
步骤S321,第一分区链的第三节点监听交易区块,解析区块中的交易,将交易接收方的地址与总分区数N取模得到第二取模值M2。在本实施例中,第三节点为监听节点,例如图3中的监听节点1、2。
步骤S323,第一分区链的第三节点根据第二取模值M2判断该交易是否涉及跨链交易。当第二取模值M2对应于该第一分区链时,例如M2=1、对应于分区链1,判断该交易为本分区链内部交易,执行步骤S325,在该第一分区链中完成交易。流程可以结束,也可以反馈交易完成的相关信息给发起交易请求的用户及相关机构。
当步骤S323判断该交易涉及跨链交易,执行步骤S327,第三节点签名跨链交易后,根据值M2发送至第二分区链的第二节点,并缓存跨链交易到本地内存。例如,M2=2、对应于图3中的分区链2,分区链1的监听节点2从本地内存(图中未示出)中读取数字签名对该跨链交易进行签名后,将该跨链交易发送至分区链2的记账节点4,并将该跨链交易的相关信息缓存至本地内存。
步骤S329,第二分区链的第二节点接收到跨链交易后,计算跨链交易的接收方地址与分区数N的取模值M2。
步骤S331,第二分区链的第二节点根据计算得到的取模值M2判断该跨链交易是否合法,即是否有关该第二分区链的交易。若判断不合法,则执行步骤S333,拒绝请求。流程可以结束,也可以反馈被拒绝的交易相关信息给发起交易请求的用户及相关机构。
步骤S335,第二分区链的第二节点验证第一分区链的第三节点的签名有效性后,将该跨链交易发送给该第二分区链中的其他第二节点达成共识,完成交易。例如,图3中分区链2的记账节点4验证分区链1的监听节点2的签名有效后,将该跨链交易发送给分区链2的记账节点1、2、3达成共识后,完成交易。
步骤S337,第二分区链的第三节点监听到该跨链交易完成后,通知第一分区链中的第三节点交易完成,第一分区链的第三节点删除内存中缓存的跨链交易。例如,图3中分区链2的监听节点1监听到该跨链交易完成后,通知分区链1的监听节点2交易完成。分区链1的监听节点2收到交易完成通知后,删除内存中缓存的该跨链交易的相关数据。
在其他实施例中,在执行步骤S327后,第一分区链中的第三节点等待跨链交易涉及的第二分区链反馈交易完成信息,若超时未收到反馈信息,则第一分区链中的第三节点从内存中读取缓存的该跨链交易的数据,再次发送至相应的第二分区链。
如图8所示,是本发明区块链交易处理方法第五较佳实施例的流程图。在本实施例中,所述区块链交易处理方法的步骤与第四实施例类似,区别在于以智能合约调用为例对所述区块链交易处理方法的流程进行详细说明。
步骤S401,接收用户发送的智能合约调用请求。
步骤S403,根据调用请求方的地址与分区链的总分区数N的取模值M1将该智能合约调用请求发送至第一分区链。例如M1=1,该智能合约调用请求发送至如图3所示的分区链1。
步骤S405,第一分区链的第一节点计算请求方地址与分区数N的取模值M1’。在本实施例中,第一节点为非记账节点。如图3所示,分区链1的非记账节点1接收到一个智能合约调用请求后,计算该请求方地址与分区数N的取模值M1’。
步骤S407,第一分区链的第一节点根据该取模值M1’验证该智能合约调用请求是否属于该第一分区链的交易。若验证不属于该第一分区链的交易,则判断该智能合约调用请求不合法,执行步骤S409,拒绝请求。流程可以结束,也可以反馈被拒绝的智能合约调用相关信息给发起请求的用户及相关机构。
若步骤S407判断该智能合约调用请求合法,则执行步骤S411。例如,当图3的非记账节点1判断取模值M1’对应的不是分区链1时,拒绝请求,若取模值M1’=1,则判断该智能合约调用请求合法。
步骤S411,第一分区链的第一节点广播该智能合约调用请求至该第一分区链的所有第二节点。在本实施例中,第二节点为记账节点。如图3所示,非记账节点1将该智能合约调用请求广播给记账节点1~4。
步骤S413,第一分区链的第二节点解析智能合约调用信息以验证该智能合约调用请求的有效性,例如该智能合约调用请求涉及的金额是否在允许范围之内。
步骤S415,第一分区链的第二节点判断智能合约调用请求是否有效。若无效,则执行步骤S417,拒绝请求。流程可以结束,也可以反馈被拒绝智能合约调用相关信息给发起请求的用户及相关机构。
若步骤S415判断智能合约调用请求有效,则执行步骤S419,第二节点将将智能合约调用信息打包成交易区块,在第二节点间达成共识。如图3所示,交易区块在记账节点1~4之间达成共识。
步骤S421,第一分区链的第三节点监听交易区块,解析区块中的智能合约调用信息,将调用接收方的地址与总分区数N取模得到第二取模值M2。在本实施例中,第三节点为监听节点,例如图3中的监听节点1、2。
步骤S423,第一分区链的第三节点根据第二取模值M2判断该智能合约调用是否涉及跨链交易。值得注意的是,智能合约调用请求一般情况下是由普通交易分区链向智能合约分区链发出,因此为跨链交易。当第二取模值M2对应于该第一分区链时,例如M2=1、对应于分区链1,表示该智能合约调用请求有误,执行步骤S325,提示调用错误,拒绝请求,流程可以结束,也可以反馈该错误的调用请求相关信息给发起智能合约调用请求的用户及相关机构。
当步骤S423判断该智能合约调用涉及跨链交易,执行步骤S427,第三节点签名智能合约调用请求后,根据值M2发送至第二分区链的第二节点,并缓存智能合约调用信息到本地内存。例如,M2=2、对应于图3中的分区链2,分区链1的监听节点2从本地内存(图中未示出)中读取数字签名对该智能合约调用请求进行签名后,将该智能合约调用请求发送至分区链2的记账节点4,并将该智能合约调用的相关信息缓存至本地内存。
步骤S429,第二分区链的第二节点接收到智能合约调用请求后,计算调用接收方地址与分区数N的取模值M2。
步骤S431,第二分区链的第二节点根据计算得到的取模值M2判断该智能合约调用请求是否合法,即是否有关该第二分区链的交易。若判断不合法,则执行步骤S433,拒绝请求。流程可以结束,也可以反馈被拒绝的智能合约调用相关信息给发起请求的用户及相关机构。
步骤S435,第二分区链的第二节点验证第一分区链的第三节点的签名有效性后,将该智能合约调用信息发送给该第二分区链中的其他第二节点达成共识,完成智能合约调用。例如,图3中分区链2的记账节点4验证分区链1的监听节点2的签名有效后,将该智能合约调用信息发送给分区链2的记账节点1、2、3达成共识后,完成调用。
步骤S437,第二分区链的第三节点监听到该智能合约调用完成后,通知第一分区链中的第三节点调用完成,第一分区链的第三节点删除内存中缓存的智能合约调用信息。例如,图3中分区链2的监听节点1监听到该智能合约调用完成后,通知分区链1的监听节点2调用完成。分区链1的监听节点2收到调用完成通知后,删除内存中缓存的该智能合约调用的相关数据。
在其他实施例中,在执行步骤S427后,第一分区链中的第三节点等待智能合约调用涉及的第二分区链反馈调用完成信息,若超时未收到反馈信息,则第一分区链中的第三节点从内存中读取缓存的该智能合约调用的数据,再次发送至相应的第二分区链。
需要指出的是,图5-8所示的流程图中,并不必然包括图中所示的所有步骤,也不限于图中所示的步骤。此外,有关区块链系统的常规处理步骤,可以根据实际应用场景纳入本发明。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (18)

1.一种区块链交易处理方法,其特征在于,该方法包括:
接收步骤:接收客户端用户发起的交易请求,所述交易请求包括智能合约调用请求;及
处理步骤:将交易请求分发到若干个结构相同的分区链中并行处理,其中所述若干个分区链包括智能合约分区链。
2.如权利要求1所述的区块链交易处理方法,其特征在于,在所述区块链中,按照业务场景划分智能合约分区链,每个所述智能合约分区链对应一个或一系列智能合约。
3.如权利要求1所述的区块链交易处理方法,其特征在于,所述处理步骤包括:
将各个交易请求方的地址与分区链的总分区数分别进行取模运算得到第一取模值,根据第一取模值与分区链的对应关系将各个交易请求分发至相应的第一分区链。
4.如权利要求1-3任一项所述的区块链交易处理方法,其特征在于,所述处理步骤还包括:
第一分区链每接收到一个交易请求时,验证该交易请求的合法性和交易的有效性;
当验证交易请求合法且交易有效时,第一分区链将交易打包成区块,在第一分区链的节点间达成共识;
第一分区链判断区块中的交易是否涉及跨链交易。
5.如权利要求4所述的区块链交易处理方法,其特征在于,所述处理步骤还包括:
当判断涉及跨链交易时,第一分区链根据交易接收方的地址与总分区数的第二取模值将跨链交易请求分别发送至相应的第二分区链;
第二分区链验证接收到的跨链交易请求的合法性和该跨链交易的有效性;
当验证跨链交易请求合法且跨链交易有效时,第二分区链将跨链交易打包成区块,在第二分区链的节点间达成共识,完成交易后反馈信息给相应的第一分区链。
6.如权利要求4所述的区块链交易处理方法,其特征在于:
所述第一分区链验证该交易请求是否合法是通过判断该交易请求方的地址与分区链的总分区数的第一取模值是否对应于该第一分区链;
所述第一分区链判断区块中的一个交易是否涉及跨链交易是通过判断该交易接收方的地址与分区链的总分区数的第二取模值是否对应于该第一分区链,当该第二取模值对应的不是该第一分区链时,判断该交易涉及跨链交易。
7.如权利要求5所述的区块链交易处理方法,其特征在于,所述第二分区链验证接收到的一个跨链交易请求是否合法是通过判断该跨链交易接收方的地址与分区链的总分区数的第二取模值是否对应于该第二分区链。
8.如权利要求5所述的区块链交易处理方法,其特征在于,所述第一分区链将跨链交易请求分别发送至相应的第二分区链之前或之后,还执行以下操作:
将跨链交易请求缓存至该第一分区链的内存。
9.如权利要求8所述的区块链交易处理方法,其特征在于,所述第一分区链将跨链交易请求分别发送至相应的第二分区链之后,还执行以下操作:
当超时未接收到该第二分区链发送的反馈信息时,从内存中读取该跨链交易请求重新发送至该第二分区链。
10.如权利要求8所述的区块链交易处理方法,其特征在于,所述第一分区链将跨链交易请求分别发送至相应的第二分区链之后,还执行以下操作:
当接收到该第二分区链发送的反馈信息时,从内存中删除该跨链交易请求。
11.一种电子装置,该电子装置包括存储器及处理器,其特征在于,所述存储器上存储有区块链交易处理程序,该区块链交易处理程序被处理器执行时,实现如下步骤:
接收步骤:接收客户端用户发起的交易请求,所述交易请求包括智能合约调用请求;及
处理步骤:将交易请求分发到若干个结构相同的分区链中并行处理,其中所述若干个分区链包括智能合约分区链。
12.如权利要求11所述的电子装置,其特征在于,在所述区块链中,按照业务场景划分智能合约分区链,每个所述智能合约分区链对应一个或一系列智能合约。
13.如权利要求11所述的电子装置,其特征在于,所述处理步骤包括:
将各个交易请求方的地址与分区链的总分区数分别进行取模运算得到第一取模值,根据第一取模值与分区链的对应关系将各个交易请求分发至相应的第一分区链。
14.如权利要求11-13任一项所述的电子装置,其特征在于,所述处理步骤还包括:
第一分区链每接收到一个交易请求时,验证该交易请求的合法性和交易的有效性;
当验证交易请求合法且交易有效时,第一分区链将交易打包成区块,在第一分区链的节点间达成共识;
第一分区链判断区块中的交易是否涉及跨链交易。
15.如权利要求14所述的电子装置,其特征在于,所述处理步骤还包括:
当判断涉及跨链交易时,第一分区链根据交易接收方的地址与总分区数的第二取模值将跨链交易请求分别发送至相应的第二分区链;
第二分区链验证接收到的跨链交易请求的合法性和该跨链交易的有效性;
当验证跨链交易请求合法且跨链交易有效时,第二分区链将跨链交易打包成区块,在第二分区链的节点间达成共识,完成交易后反馈信息给相应的第一分区链。
16.如权利要求15所述的电子装置,其特征在于,其特征在于,所述第一分区链将跨链交易请求分别发送至相应的第二分区链之前或之后,还执行以下操作:
将跨链交易请求缓存至该第一分区链的内存。
17.如权利要求16所述的电子装置,其特征在于,所述第一分区链将跨链交易请求分别发送至相应的第二分区链之后,还执行以下操作:
当超时未接收到该第二分区链发送的反馈信息时,从内存中读取该跨链交易请求重新发送至该第二分区链;
当接收到该第二分区链发送的反馈信息时,从内存中删除该跨链交易请求。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中包括区块链交易处理程序,所述区块链交易处理程序被处理器执行时,可实现如权利要求1至10中任一项所述的区块链交易处理方法的步骤。
CN201810241990.6A 2018-03-22 2018-03-22 区块链交易处理方法、装置及存储介质 Pending CN108596613A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810241990.6A CN108596613A (zh) 2018-03-22 2018-03-22 区块链交易处理方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810241990.6A CN108596613A (zh) 2018-03-22 2018-03-22 区块链交易处理方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN108596613A true CN108596613A (zh) 2018-09-28

Family

ID=63627167

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810241990.6A Pending CN108596613A (zh) 2018-03-22 2018-03-22 区块链交易处理方法、装置及存储介质

Country Status (1)

Country Link
CN (1) CN108596613A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109064337A (zh) * 2018-10-18 2018-12-21 尚维斯 一种基于区块链的跨链记账方法
CN109359992A (zh) * 2018-10-09 2019-02-19 北京彩球世纪科技有限公司 一种新型的区块链分区分片方式和装置
CN109389469A (zh) * 2018-09-30 2019-02-26 中链科技有限公司 基于区块链的登机牌交易方法以及装置
CN109710694A (zh) * 2018-12-26 2019-05-03 深圳市网心科技有限公司 数据处理方法、设备、存储介质和区块链系统
CN109889498A (zh) * 2019-01-16 2019-06-14 余炀 基于区块链的计算验证方法及系统
CN110060064A (zh) * 2019-04-26 2019-07-26 深圳市网心科技有限公司 一种交易信息验证方法及相关装置
WO2019179192A1 (zh) * 2018-03-22 2019-09-26 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质
CN110352445A (zh) * 2018-11-27 2019-10-18 阿里巴巴集团控股有限公司 使用智能合约执行多方交易
CN110827037A (zh) * 2019-11-07 2020-02-21 北京海益同展信息科技有限公司 基于区块链的数据交互方法和装置
CN110910135A (zh) * 2019-10-29 2020-03-24 腾讯科技(深圳)有限公司 一种应用资源转移的方法、装置、电子设备和存储介质
CN111010441A (zh) * 2019-12-18 2020-04-14 深圳市网心科技有限公司 一种区块链跨链方法、系统及电子设备
CN111028077A (zh) * 2019-11-20 2020-04-17 华中科技大学 一种基于输入过滤器的智能合约防护方法及系统
WO2020077579A1 (zh) * 2018-10-18 2020-04-23 北京兆信通能科技有限公司 区块链能源交易平台中的交易任务并行处理的方法与系统
CN111126958A (zh) * 2019-12-23 2020-05-08 腾讯科技(深圳)有限公司 日程创建方法、装置、设备及存储介质
CN111507706A (zh) * 2019-01-31 2020-08-07 华为技术有限公司 数据浏览、存储的方法、装置、计算机设备以及存储介质
WO2020191935A1 (zh) * 2019-03-22 2020-10-01 深圳市网心科技有限公司 一种区块链跨链通信方法、系统、电子设备及存储介质
CN112783975A (zh) * 2020-12-31 2021-05-11 杭州趣链科技有限公司 区块链分区管理及跨分区交易方法与装置
CN113205424A (zh) * 2020-10-28 2021-08-03 支付宝(杭州)信息技术有限公司 在区块链中部署和调用合约的方法和装置
US11743045B2 (en) 2018-04-27 2023-08-29 Nchain Licensing Ag Partitioning a blockchain network

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107241279A (zh) * 2017-06-22 2017-10-10 北京天德科技有限公司 一种基于多级缓冲队列的区块链交易限流方法
CN107392608A (zh) * 2017-07-11 2017-11-24 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
CN107241279A (zh) * 2017-06-22 2017-10-10 北京天德科技有限公司 一种基于多级缓冲队列的区块链交易限流方法
CN107392608A (zh) * 2017-07-11 2017-11-24 北京博晨技术有限公司 基于区块链系统的数字资产交易方法及区块链系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
邵奇峰 等: "区块链技术:架构及进展", 《计算机学报》 *

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019179192A1 (zh) * 2018-03-22 2019-09-26 深圳市网心科技有限公司 区块链交易处理方法、装置及存储介质
US11856100B2 (en) 2018-04-27 2023-12-26 Nchain Licensing Ag Partitioning a blockchain network
US12028453B2 (en) 2018-04-27 2024-07-02 Nchain Licensing Ag Partitioning a blockchain network
US11973869B2 (en) 2018-04-27 2024-04-30 Nchain Licensing Ag Maintaining blocks of a blockchain in a partitioned blockchain network
US11743045B2 (en) 2018-04-27 2023-08-29 Nchain Licensing Ag Partitioning a blockchain network
CN109389469A (zh) * 2018-09-30 2019-02-26 中链科技有限公司 基于区块链的登机牌交易方法以及装置
CN109359992A (zh) * 2018-10-09 2019-02-19 北京彩球世纪科技有限公司 一种新型的区块链分区分片方式和装置
CN109064337A (zh) * 2018-10-18 2018-12-21 尚维斯 一种基于区块链的跨链记账方法
WO2020077579A1 (zh) * 2018-10-18 2020-04-23 北京兆信通能科技有限公司 区块链能源交易平台中的交易任务并行处理的方法与系统
CN110352445A (zh) * 2018-11-27 2019-10-18 阿里巴巴集团控股有限公司 使用智能合约执行多方交易
CN110352445B (zh) * 2018-11-27 2023-08-22 创新先进技术有限公司 使用智能合约执行多方交易
CN109710694A (zh) * 2018-12-26 2019-05-03 深圳市网心科技有限公司 数据处理方法、设备、存储介质和区块链系统
CN109889498A (zh) * 2019-01-16 2019-06-14 余炀 基于区块链的计算验证方法及系统
CN109889498B (zh) * 2019-01-16 2021-10-29 余炀 基于区块链的计算验证方法及系统
CN111507706A (zh) * 2019-01-31 2020-08-07 华为技术有限公司 数据浏览、存储的方法、装置、计算机设备以及存储介质
CN111507706B (zh) * 2019-01-31 2024-04-26 华为技术有限公司 数据浏览、存储的方法、装置、计算机设备以及存储介质
WO2020191935A1 (zh) * 2019-03-22 2020-10-01 深圳市网心科技有限公司 一种区块链跨链通信方法、系统、电子设备及存储介质
CN110060064A (zh) * 2019-04-26 2019-07-26 深圳市网心科技有限公司 一种交易信息验证方法及相关装置
CN110910135A (zh) * 2019-10-29 2020-03-24 腾讯科技(深圳)有限公司 一种应用资源转移的方法、装置、电子设备和存储介质
CN110827037A (zh) * 2019-11-07 2020-02-21 北京海益同展信息科技有限公司 基于区块链的数据交互方法和装置
CN111028077B (zh) * 2019-11-20 2023-04-11 华中科技大学 一种基于输入过滤器的智能合约防护方法及系统
CN111028077A (zh) * 2019-11-20 2020-04-17 华中科技大学 一种基于输入过滤器的智能合约防护方法及系统
CN111010441A (zh) * 2019-12-18 2020-04-14 深圳市网心科技有限公司 一种区块链跨链方法、系统及电子设备
CN111126958A (zh) * 2019-12-23 2020-05-08 腾讯科技(深圳)有限公司 日程创建方法、装置、设备及存储介质
CN111126958B (zh) * 2019-12-23 2023-09-26 腾讯科技(深圳)有限公司 日程创建方法、装置、设备及存储介质
CN113205424B (zh) * 2020-10-28 2023-08-25 支付宝(杭州)信息技术有限公司 在区块链中部署和调用合约的方法和装置
CN113205424A (zh) * 2020-10-28 2021-08-03 支付宝(杭州)信息技术有限公司 在区块链中部署和调用合约的方法和装置
CN112783975A (zh) * 2020-12-31 2021-05-11 杭州趣链科技有限公司 区块链分区管理及跨分区交易方法与装置

Similar Documents

Publication Publication Date Title
CN108596613A (zh) 区块链交易处理方法、装置及存储介质
CN108399572A (zh) 区块链交易处理方法、装置及存储介质
CN104917749B (zh) 帐号注册方法及装置
CN108600315A (zh) 区块链路由处理方法、装置及存储介质
CN109840591A (zh) 模型训练系统、方法和存储介质
CN108711006B (zh) 收入管理方法、管理节点、系统及存储设备
CN110213215A (zh) 一种资源访问方法、装置、终端和存储介质
CN103313429B (zh) 一种识别伪造wifi热点的处理方法
US10430569B2 (en) Multicomputer system for user data authentication and processing
CN111476670B (zh) 区块链回滚保险方法、设备和存储介质
CN106411950A (zh) 基于区块链交易id的认证方法、装置及系统
CN106228367A (zh) 支付验证的方法和装置
CN106529955A (zh) 一种支付方法及装置
CN107248995A (zh) 账号验证方法及装置
CN106357694A (zh) 一种访问请求处理方法及装置
CN108259618A (zh) 一种同步的数据交互处理方法及装置
CN110149336A (zh) 单点登录方法、装置以及信息系统
CN101122985A (zh) 一种身份认证方法及其系统
CN106971304A (zh) 一种银行账号真实性验证的方法及系统
CN110098920A (zh) 一种减少节点碰撞的区块链节点负载均衡方法及装置
CN108009406A (zh) 一种账号冻结方法、账号解冻方法及服务器
CN116703395B (zh) 一种数字人民币的支付方法、装置、设备、系统及介质
CN109118338A (zh) 共享单车状态监控方法和装置
CN103188084B (zh) 一种广播用户图片的方法、系统及广播服务器
CN110689424B (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20211019

Address after: 518000 21 / f-23 / F, block B, building 12, Shenzhen Bay science and technology ecological park, No. 18, South Keji Road, high tech community, Yuehai street, Nanshan District, Shenzhen City, Guangdong Province

Applicant after: Xunlei Networking Technologies, Ltd.

Applicant after: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

Address before: 518000 Room 201, building A, 1 front Bay Road, Shenzhen Qianhai cooperation zone, Shenzhen, Guangdong

Applicant before: SHENZHEN ONETHING TECHNOLOGIES Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180928