CN112838930A - 区块链交易的执行方法及装置、电子设备、存储介质 - Google Patents
区块链交易的执行方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN112838930A CN112838930A CN202110101351.1A CN202110101351A CN112838930A CN 112838930 A CN112838930 A CN 112838930A CN 202110101351 A CN202110101351 A CN 202110101351A CN 112838930 A CN112838930 A CN 112838930A
- Authority
- CN
- China
- Prior art keywords
- transaction
- consensus
- node
- candidate
- 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.)
- Granted
Links
Images
Classifications
-
- 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/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0442—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- 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)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Technology Law (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Power Engineering (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本申请提供一种区块链交易的执行方法及装置、电子设备、计算机可读存储介质,方法包括:交易池节点接收到交易拉取请求后,可以从待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至共识节点;共识节点可以针对交易列表执行共识,并在共识成功后,向交易池节点发送共识成功请求;交易池节点可以依据共识成功请求中的交易哈希,移除待共识交易队列中与交易哈希对应的候选交易,并向客户端返回交易成功消息。由于区块链节点中执行共识的共识模块和执行广播、验签功能的交易池分别部署在不同物理设备上,搭载共识模块的共识节点可以充分利用本地计算资源执行共识功能,从而提升整个区块链的运转效率。
Description
技术领域
本申请涉及区块链数据处理技术领域,特别涉及一种区块链交易的执行方法及装置、电子设备、计算机可读存储介质。
背景技术
在区块链技术中,一个区块链节点通常承担着交易的广播、验签和共识等功能。对交易进行共识需要大量的计算资源,而验签过程同样需要计算工作,因此,验签在一定程度上会影响区块链节点的共识性能,从而降低整个区块链运转效率。
发明内容
本申请实施例的目的在于提供一种区块链交易的执行方法及装置、电子设备、计算机可读存储介质,用于在交易池与共识节点分离的架构下执行区块链交易。
一方面,本申请提供了一种区块链交易的执行方法,应用于交易池节点,包括:
接收共识节点发送的交易拉取请求;
响应于所述交易拉取请求,从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至所述共识节点;其中,所述交易列表包括被拉取的候选交易;
当接收到所述共识节点返回的针对所述交易列表的共识成功请求时,依据所述共识成功请求中的交易哈希,从所述待共识交易队列中移除与所述交易哈希对应的候选交易;
针对每一被移除的候选交易,向发起所述候选交易的客户端返回交易成功消息。
在一实施例中,在从所述待共识交易队列中拉取候选交易之前,所述方法还包括:
为本地的待检查交易队列中候选交易生成交易哈希列表;其中,所述交易哈希列表包括每一候选交易的交易哈希;
向所述共识节点发送防双花检查请求;其中,所述防双花检查请求包括所述交易哈希列表;
接收所述共识节点返回的防双花检查结果;其中,所述防双花检查结果包括重复交易列表和非重复交易列表;
依据所述防双花检查结果,将非重复的候选交易放入所述待共识交易队列;
将非重复的候选交易广播至其它交易池节点。
在一实施例中,在接收到所述防双花检查结果之后,所述方法还包括:
向发起重复的候选交易的客户端返回交易重复提示消息。
在一实施例中,在为所述待检查交易队列中候选交易生成交易哈希列表之前,所述方法还包括:
接收客户端发起的候选交易;
对所述候选交易进行验签;
如果所述候选交易验签通过,将所述候选交易放入本地的待检查交易队列。
在一实施例中,在接收所述候选交易之前,所述方法还包括:
通过预设的连接信息,与所述共识节点建立连接;
向已建立连接的所述共识节点发送给私钥验证请求;
接收所述共识节点返回的私钥确认消息,确定与所述共识节点连接成功。
另一方面,本申请还提供了一种区块链交易的执行方法,应用于共识节点,包括:
向交易池节点发送交易拉取请求;
接收所述交易池节点返回的交易列表;其中,所述交易列表包括多个候选交易;
针对所述交易列表执行共识;
如果共识成功,向所述交易池节点发送共识成功请求。
在一实施例中,在发送所述交易拉取请求之前,所述方法还包括:
接收所述交易池节点发送的防双花检查请求;其中,所述防双花检查请求包括交易哈希列表,所述交易哈希列表包括多个候选交易的交易哈希;
针对所述交易哈希列表中每一候选交易的交易哈希,进行防双花检查,获得对应于所述防双花检查请求的防双花检查结果;
向所述交易池节点发送所述防双花检查结果。
在一实施例中,所述接收所述交易池节点发送的防双花检查请求之前,所述方法还包括:
与所述交易池节点建立连接;
接收所述交易池节点发送的私钥验证请求;
基于所述私钥验证请求,判断所述交易池节点与自身是否使用同一私钥;
如果是,向所述交易池节点发送私钥确认消息。
另一方面,本申请还提供了一种区块链交易的执行装置,应用于交易池节点,包括:
接收模块,用于接收共识节点发送的交易拉取请求;
打包模块,用于响应于所述交易拉取请求,从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至所述共识节点;其中,所述交易列表包括被拉取的候选交易;
更新模块,用于当接收到所述共识节点返回的针对所述交易列表的共识成功请求时,依据所述共识成功请求中的交易哈希,从所述待共识交易队列中移除与所述交易哈希对应的候选交易;
通告模块,用于针对每一被移除的候选交易,向发起所述候选交易的客户端返回交易成功消息。
另一方面,本申请还提供了一种区块链交易的执行装置,应用于共识节点,包括:
发送模块,用于向交易池节点发送交易拉取请求;
获取模块,用于接收所述交易池节点返回的交易列表;其中,所述交易列表包括多个候选交易;
计算模块,用于针对所述交易列表执行共识;
通知模块,用于如果共识成功,向所述交易池节点发送共识成功请求。
进一步的,本申请还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述应用于交易池节点的区块链交易的执行方法。
进一步的,本申请还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述应用于共识节点的区块链交易的执行方法。
另外,本申请还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述应用于交易池节点的区块链交易的执行方法。
另外,本申请还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述应用于共识节点的区块链交易的执行方法。
在本申请实施例中,交易池节点接收到交易拉取请求后,可以从待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至共识节点;共识节点可以针对交易列表执行共识,并在共识成功后,向交易池节点发送共识成功请求;交易池节点可以依据共识成功请求中的交易哈希,移除待共识交易队列中与交易哈希对应的候选交易,并向客户端返回交易成功消息;
由于区块链节点中执行共识的共识模块和执行广播、验签功能的交易池分别部署在不同物理设备上,搭载共识模块的共识节点可以充分利用本地计算资源执行共识功能。在这种架构下,整个区块链的运转效率可以显著提升。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1为本申请一实施例提供的区块链交易的执行方法的应用场景示意图;
图2为本申请一实施例提供的电子设备的结构示意图;
图3为本申请另一实施例提供的电子设备的结构示意图;
图4为本申请一实施例提供的区块链交易的执行方法的流程示意图;
图5为本申请一实施例提供的防双花检查方法的流程示意图;
图6为本申请一实施例提供的交易池节点与共识节点建立连接的流程示意图;
图7为本申请一实施例提供的区块链交易的执行装置的框图;
图8为本申请一实施例提供的区块链交易的执行装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本申请实施例提供的区块链交易的执行方法的应用场景示意图。如图1所示,该应用场景包括交易池节点30和共识节点40,交易池节点30可以是区块链网络中搭载区块链节点中交易池的计算机主机,用于承担交易的广播和验签工作;共识节点40可以是区块链网络中搭载区块链节点中共识模块的计算机主机,用于承担交易的共识工作。
如图2所示,本实施例提供一种电子设备1,包括:至少一个处理器11和存储器12,图2中以一个处理器11为例。处理器11和存储器12通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备1可以是上述交易池节点30。
存储器12可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器11执行以完成本申请提供的应用于交易池节点的区块链交易的执行方法。
如图3所示,本实施例提供一种电子设备2,包括:至少一个处理器21和存储器22,图3中以一个处理器21为例。处理器21和存储器22通过总线20连接,存储器22存储有可被处理器21执行的指令,指令被处理器21执行,以使电子设备2可执行下述的实施例中方法的全部或部分流程。在一实施例中,电子设备2可以是上述共识节点40。
存储器22可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器,电可擦除可编程只读存储器,可擦除可编程只读存储器,可编程只读存储器,只读存储器,磁存储器,快闪存储器,磁盘或光盘。
本申请还提供了一种计算机可读存储介质,存储介质存储有计算机程序,计算机程序可由处理器21执行以完成本申请提供的应用于共识节点的区块链交易的执行方法。
参见图4,为本申请一实施例提供的区块链交易的执行方法的流程示意图,如图4所示,该方法可以包括以下步骤410-步骤460。
步骤410:共识节点向交易池节点发送交易拉取请求。
步骤420:交易池节点响应于交易拉取请求,从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至共识节点;其中,交易列表包括被拉取的候选交易。
其中,交易拉取请求用于获取候选交易。在一实施例中,交易拉取请求可以指定交易池节点拉取的候选交易的数量。
待共识交易队列用于存储尚未被区块链中各区块链节点共同认可的候选交易,换而言之,候选交易实际上是未执行完成的交易。
共识节点在依据区块链的共识机制执行共识时,可以向对应的交易池节点发送交易拉取请求。交易池节点接收高交易拉取请求后,可以从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至共识节点。
步骤430:共识节点针对交易列表执行共识。
共识节点接收到交易列表后,可以基于交易列表中的候选交易构建候选区块,并基于共识机制执行共识。其中,区块链的共识机制可以是工作量证明(Proof of Work,PoW)、权益证明(Proof of Stake,PoS)、委托权益证明(Delegated Proof of Stake,DPOS)等共识机制中的任意一种。
当共识达成后,共识节点可以将候选区块添加至区块链,此时,该候选区块中的候选交易执行完成,换而言之,该候选区块中的交易被区块链中其它区块链节点接受。
步骤440:如果共识成功,共识节点向交易池节点发送共识成功请求。
当共识达成后,共识节点可以基于上述交易列表中所有交易的交易哈希,生成共识成功请求。该共识成功请求表示其携带的交易哈希对应的交易被执行完成。共识节点可以向交易池节点发送该共识成功请求。
步骤450:交易池节点依据共识成功请求中的交易哈希,从待共识交易队列中移除与交易哈希对应的候选交易。
交易池节点接收到共识成功请求后,从中解析出多个交易哈希,并可确定上述交易哈希对应的候选交易已经被执行。交易池节点可以从待共识交易队列中移除与交易哈希对应候选交易。
步骤460:针对每一被移除的候选交易,交易池节点向发起候选交易的客户端返回交易成功消息。
其中,客户端是可以向区块链发起交易的用户终端。示例性的,客户端可以是搭载区块链钱包应用的手机。
当交易池节点确定候选交易已被执行,除了从待共识交易队列中移除上述候选交易以外,还可以向发起该候选交易的客户端返回交易成功消息。该交易成功消息表示交易已被执行。
由于区块链节点中执行共识的共识模块和执行广播、验签功能的交易池分别部署在不同物理设备上,搭载共识模块的共识节点可以充分利用本地计算资源执行共识功能。在这种架构下,整个区块链的运转效率可以显著提升。
在一实施例中,交易池节点在从待共识交易队列拉取候选交易打包之前,需要向待共识交易队列放入候选交易。在将候选交易放入待共识交易队列之前,可以对候选交易进行防双花检查,避免将重复的交易放入待共识交易队列。参见图5,为本申请一实施例提供的防双花检查方法的流程示意图,如图5所示,该方法可以包括以下步骤510-步骤560。
步骤510:交易池节点为本地的待检查交易队列中候选交易生成交易哈希列表;其中,交易哈希列表包括每一候选交易的交易哈希。
其中,待检查交易队列用于存储需要接受防双花检查的候选交易。
交易池节点可以获取待检查交易队列中所有候选交易的交易哈希,并生成交易哈希列表。
步骤520:交易池节点向共识节点发送防双花检查请求;其中,防双花检查请求包括交易哈希列表。
交易池节点可以基于交易哈希列表生成防双花检查请求,该防双花检查请求用于请求对交易哈希列表中每一交易哈希对应的候选交易进行防双花检查。交易池节点可以向共识节点发送上述防双花检查请求。
步骤530:共识节点针对交易哈希列表中每一候选交易的交易哈希,进行防双花检查,获得对应于防双花检查请求的防双花检查结果。
步骤540:共识节点向交易池节点发送防双花检查结果。
共识节点接收到防双花检查请求后,从中解析出交易哈希列表,并针对交易哈希列表中每一候选交易的交易哈希,进行防双花检查,确定每一候选交易是否是重复的交易,从而获得对应于防双花检查请求的防双花检查结果。其中,防双花检查结果包括重复交易列表和非重复交易列表,重复交易列表包括与重复的候选交易对应的交易哈希,非重复交易列表包括与非重复的候选交易对应的交易哈希。共识节点可以向交易池节点发送防双花检查结果。
步骤550:交易池节点依据防双花检查结果,将非重复的候选交易放入待共识交易队列。
交易池节点接收上述防双花检查结果之后,可以从中解析出重复交易列表和非重复交易列表,并依据非重复交易列表中每一交易哈希,将对应的非重复的候选交易放入待共识交易队列。
步骤560:交易池节点将非重复的候选交易广播至其它交易池节点。
交易池节点可以将非重复的候选交易广播至其它交易池节点,使得其它交易池节点可以将非重复的候选交易放入自身的待共识交易队列。
相应的,交易池节点可以接收其它交易池节点发送的非重复的候选交易,并放入本地的待共识交易队列,以便后续从待共识交易队列中选择用于构建候选区块的候选交易。
在一实施例中,交易池节点在接收到上述防双花检查结果之后,可以依据重复交易列表确定重复的候选交易。交易池节点可以向发起重复的候选交易的客户端返回交易重复提示消息。该交易重复提示消息可以携带重复的候选交易的交易哈希,用于向客户端提示候选交易未通过防双花检查。
在一实施例中,交易池节点在接收到上述防双花检查结果之后,可以从待检查交易队列中删除已经进行防双花检查的候选交易,从而避免后续对同一候选交易执行多次防双花检查、浪费计算资源。
在一实施例中,在为待检查交易队列中候选交易生成交易哈希列表之前,需向待检查交易队列放入候选交易。
交易池节点可以接收客户端发起的候选交易,并对候选交易进行验签,从而确认候选交易合法。如果候选交易验签通过,交易池节点可以将候选交易放入本地的待检查交易队列。
通过该措施,交易池节点可以独立地执行验签功能,无需占用共识节点的计算资源,使得共识节点可以充分利用计算资源执行共识。
在一实施例中,属于同一区块链节点的交易池节点和共识节点在启动时可以建立连接关系。参见图6,为本申请一实施例提供的交易池节点与共识节点建立连接的流程示意图,如图6所示,该方法可以包括以下步骤610-步骤650。
步骤610:交易池节点通过预设的连接信息,与共识节点建立连接。
其中,连接信息可以包括共识节点的IP(Internet Protocol Address,互联网协议地址)地址、MAC(Media Access Control Address,媒体存取控制位址)地址、端口号等信息。
交易池节点上预配置同属一个区块链节点的共识节点的连接信息,在启动时,交易池节点可以通过上述连接信息,与共识节点建立连接。在一实施例中,交易池节点可以通过TCP(Transmission Control Protocol,传输控制协议)三次握手与共识节点建立TCP连接。
步骤620:交易池节点向已建立连接的共识节点发送私钥验证请求。
步骤630:共识节点基于私钥验证请求,判断交易池节点与自身是否使用同一私钥。
其中,私钥验证请求用于要求共识节点验证两者的私钥是否一致。
交易池节点可以向已建立连接的共识节点发送私钥验证请求。共识节点接收该私钥验证请求后,可以判断交易池节点与自身是否使用同一私钥。
在一实施例中,私钥验证请求可以携带交易池节点所属区块链节点的私钥。共识节点接收到私钥验证请求后,从中解析出该私钥,并与自身的私钥进行比对。一方面,如果两者不同,说明发送私钥验证请求的交易池节点与共识节点不属于同一区块链节点,在这种情况下,共识节点可以断开与交易池节点之间的连接。另一方面,如果两者相同,说明发送私钥验证请求的交易池节点与共识节点属于同一区块链节点。
在一实施例中,交易池节点可以通过本地的私钥对指定数据进行加密,获得加密结果。其中,指定数据可以是用于验证交易池节点与共识节点是否属于同一区块链节点的数据,属于同一区块链节点的交易池节点和共识节点上可以预配置相同的指定数据。示例性的,指定数据可以是共识节点的MAC地址。
交易池节点可以将加密结果添加至私钥验证请求,并向共识节点发送该私钥验证请求。共识节点接收到私钥验证请求后,从中解析出加密结果,并通过本地的公钥对加密结果进行解密,获得解密结果。共识节点可以比对该解密结果是否与指定数据相同。一方面,如果两者不同,说明发送私钥验证请求的交易池节点与共识节点不属于同一区块链节点,在这种情况下,共识节点可以断开与交易池节点之间的连接。另一方面,如果两者相同,说明发送私钥验证请求的交易池节点与共识节点属于同一区块链节点,共识节点与交易池节点使用同一私钥。
步骤640:如果是,共识节点向交易池节点发送私钥确认消息。
步骤650:交易池节点接收私钥确认消息,确定与共识节点连接成功。
当交易池节点与共识节点使用同一私钥时,共识节点可以向交易池节点发送私钥确认消息,该私钥确认消息表示两者使用相同的私钥。交易池节点接收到私钥确认消息后,可以确定与同属一个区块链节点的共识节点连接成功。当交易池节点与共识节点连接成功后,后续可以作为一个完整的区块链节点在区块链中执行交易的广播、验签和共识能功能。
图7是本发明一实施例提供的区块链交易的执行装置的框图,该装置应用于交易池节点,如图7所示,该装置可以包括:
接收模块710,用于接收共识节点发送的交易拉取请求;
打包模块720,用于响应于所述交易拉取请求,从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至所述共识节点;其中,所述交易列表包括被拉取的候选交易;
更新模块730,用于当接收到所述共识节点返回的针对所述交易列表的共识成功请求时,依据所述共识成功请求中的交易哈希,从所述待共识交易队列中移除与所述交易哈希对应的候选交易;
通告模块740,用于针对每一被移除的候选交易,向发起所述候选交易的客户端返回交易成功消息。
图8是本发明一实施例提供的区块链交易的执行装置的框图,该装置应用于共识节点,如图8所示,该装置可以包括:
发送模块810,用于向交易池节点发送交易拉取请求;
获取模块820,用于接收所述交易池节点返回的交易列表;其中,所述交易列表包括多个候选交易;
计算模块830,用于针对所述交易列表执行共识;
通知模块840,用于如果共识成功,向所述交易池节点发送共识成功请求。
上述装置中各个模块的功能和作用的实现过程具体详见上述区块链交易的执行方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (14)
1.一种区块链交易的执行方法,应用于交易池节点,其特征在于,包括:
接收共识节点发送的交易拉取请求;
响应于所述交易拉取请求,从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至所述共识节点;其中,所述交易列表包括被拉取的候选交易;
当接收到所述共识节点返回的针对所述交易列表的共识成功请求时,依据所述共识成功请求中的交易哈希,从所述待共识交易队列中移除与所述交易哈希对应的候选交易;
针对每一被移除的候选交易,向发起所述候选交易的客户端返回交易成功消息。
2.根据权利要求1所述的方法,其特征在于,在从所述待共识交易队列中拉取候选交易之前,所述方法还包括:
为本地的待检查交易队列中候选交易生成交易哈希列表;其中,所述交易哈希列表包括每一候选交易的交易哈希;
向所述共识节点发送防双花检查请求;其中,所述防双花检查请求包括所述交易哈希列表;
接收所述共识节点返回的防双花检查结果;其中,所述防双花检查结果包括重复交易列表和非重复交易列表;
依据所述防双花检查结果,将非重复的候选交易放入所述待共识交易队列;
将非重复的候选交易广播至其它交易池节点。
3.根据权利要求2所述的方法,其特征在于,在接收到所述防双花检查结果之后,所述方法还包括:
向发起重复的候选交易的客户端返回交易重复提示消息。
4.根据权利要求2所述的方法,其特征在于,在为所述待检查交易队列中候选交易生成交易哈希列表之前,所述方法还包括:
接收客户端发起的候选交易;
对所述候选交易进行验签;
如果所述候选交易验签通过,将所述候选交易放入本地的待检查交易队列。
5.根据权利要求4所述的方法,其特征在于,在接收所述候选交易之前,所述方法还包括:
通过预设的连接信息,与所述共识节点建立连接;
向已建立连接的所述共识节点发送给私钥验证请求;
接收所述共识节点返回的私钥确认消息,确定与所述共识节点连接成功。
6.一种区块链交易的执行方法,应用于共识节点,其特征在于,包括:
向交易池节点发送交易拉取请求;
接收所述交易池节点返回的交易列表;其中,所述交易列表包括多个候选交易;
针对所述交易列表执行共识;
如果共识成功,向所述交易池节点发送共识成功请求。
7.根据权利要求6所述的方法,其特征在于,在发送所述交易拉取请求之前,所述方法还包括:
接收所述交易池节点发送的防双花检查请求;其中,所述防双花检查请求包括交易哈希列表,所述交易哈希列表包括多个候选交易的交易哈希;
针对所述交易哈希列表中每一候选交易的交易哈希,进行防双花检查,获得对应于所述防双花检查请求的防双花检查结果;
向所述交易池节点发送所述防双花检查结果。
8.根据权利要求7所述的方法,其特征在于,所述接收所述交易池节点发送的防双花检查请求之前,所述方法还包括:
与所述交易池节点建立连接;
接收所述交易池节点发送的私钥验证请求;
基于所述私钥验证请求,判断所述交易池节点与自身是否使用同一私钥;
如果是,向所述交易池节点发送私钥确认消息。
9.一种区块链交易的执行装置,应用于交易池节点,其特征在于,包括:
接收模块,用于接收共识节点发送的交易拉取请求;
打包模块,用于响应于所述交易拉取请求,从本地的待共识交易队列中拉取多个候选交易进行打包,并将打包后的交易列表发送至所述共识节点;其中,所述交易列表包括被拉取的候选交易;
更新模块,用于当接收到所述共识节点返回的针对所述交易列表的共识成功请求时,依据所述共识成功请求中的交易哈希,从所述待共识交易队列中移除与所述交易哈希对应的候选交易;
通告模块,用于针对每一被移除的候选交易,向发起所述候选交易的客户端返回交易成功消息。
10.一种区块链交易的执行装置,应用于共识节点,其特征在于,包括:
发送模块,用于向交易池节点发送交易拉取请求;
获取模块,用于接收所述交易池节点返回的交易列表;其中,所述交易列表包括多个候选交易;
计算模块,用于针对所述交易列表执行共识;
通知模块,用于如果共识成功,向所述交易池节点发送共识成功请求。
11.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-5任意一项所述的区块链交易的执行方法。
12.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求6-8任意一项所述的区块链交易的执行方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-5任意一项所述的区块链交易的执行方法。
14.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求6-8任意一项所述的区块链交易的执行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110101351.1A CN112838930B (zh) | 2021-01-25 | 2021-01-25 | 区块链交易的执行方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110101351.1A CN112838930B (zh) | 2021-01-25 | 2021-01-25 | 区块链交易的执行方法及装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112838930A true CN112838930A (zh) | 2021-05-25 |
CN112838930B CN112838930B (zh) | 2022-12-06 |
Family
ID=75931554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110101351.1A Active CN112838930B (zh) | 2021-01-25 | 2021-01-25 | 区块链交易的执行方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112838930B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656509A (zh) * | 2021-08-26 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN114416765A (zh) * | 2022-03-28 | 2022-04-29 | 北京微芯感知科技有限公司 | 一种区块链交易无级预测执行方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009917A (zh) * | 2017-10-13 | 2018-05-08 | 中国银联股份有限公司 | 数字货币的交易验证和登记方法及系统 |
CN108023729A (zh) * | 2017-10-13 | 2018-05-11 | 中国银联股份有限公司 | 区块链网络及其交易方法 |
US20180276668A1 (en) * | 2017-03-24 | 2018-09-27 | Alibaba Group Holding Limited | Method and apparatus for consensus verification |
CN109087098A (zh) * | 2018-07-27 | 2018-12-25 | 杭州复杂美科技有限公司 | 一种许可链的交易处理方法、系统、设备和存储介质 |
CN109150598A (zh) * | 2018-08-10 | 2019-01-04 | 上交所技术有限责任公司 | 一种基于块片的bft共识算法带宽使用率改进方法 |
CN109660601A (zh) * | 2018-11-26 | 2019-04-19 | 北京瑞卓喜投科技发展有限公司 | 一种区块链共识方法及区块链共识装置 |
WO2019193363A1 (en) * | 2018-04-05 | 2019-10-10 | Electroneum Ltd | Hybrid blockchain transaction system |
CN110691077A (zh) * | 2019-09-24 | 2020-01-14 | 支付宝(杭州)信息技术有限公司 | 一种联盟链的业务校验方法及联盟链系统 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
CN110992035A (zh) * | 2019-12-13 | 2020-04-10 | 中国工商银行股份有限公司 | 区块链节点管理方法、装置及系统 |
CN111460504A (zh) * | 2020-03-31 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置、节点设备及存储介质 |
CN111506655A (zh) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 区块链系统的同步处理方法、装置及智能设备、存储介质 |
CN111522822A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 一种区块链共识方法、装置及电子设备 |
CN112232957A (zh) * | 2020-10-16 | 2021-01-15 | 网易(杭州)网络有限公司 | 交易共识方法、装置和电子设备 |
-
2021
- 2021-01-25 CN CN202110101351.1A patent/CN112838930B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180276668A1 (en) * | 2017-03-24 | 2018-09-27 | Alibaba Group Holding Limited | Method and apparatus for consensus verification |
CN108023729A (zh) * | 2017-10-13 | 2018-05-11 | 中国银联股份有限公司 | 区块链网络及其交易方法 |
CN108009917A (zh) * | 2017-10-13 | 2018-05-08 | 中国银联股份有限公司 | 数字货币的交易验证和登记方法及系统 |
WO2019193363A1 (en) * | 2018-04-05 | 2019-10-10 | Electroneum Ltd | Hybrid blockchain transaction system |
CN109087098A (zh) * | 2018-07-27 | 2018-12-25 | 杭州复杂美科技有限公司 | 一种许可链的交易处理方法、系统、设备和存储介质 |
CN109150598A (zh) * | 2018-08-10 | 2019-01-04 | 上交所技术有限责任公司 | 一种基于块片的bft共识算法带宽使用率改进方法 |
CN109660601A (zh) * | 2018-11-26 | 2019-04-19 | 北京瑞卓喜投科技发展有限公司 | 一种区块链共识方法及区块链共识装置 |
CN110691077A (zh) * | 2019-09-24 | 2020-01-14 | 支付宝(杭州)信息技术有限公司 | 一种联盟链的业务校验方法及联盟链系统 |
CN110796547A (zh) * | 2019-10-30 | 2020-02-14 | 桂林电子科技大学 | 一种基于联盟区块链的改进的实用拜占庭容错系统 |
CN110992035A (zh) * | 2019-12-13 | 2020-04-10 | 中国工商银行股份有限公司 | 区块链节点管理方法、装置及系统 |
CN111460504A (zh) * | 2020-03-31 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 业务处理方法、装置、节点设备及存储介质 |
CN111506655A (zh) * | 2020-04-20 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 区块链系统的同步处理方法、装置及智能设备、存储介质 |
CN111522822A (zh) * | 2020-07-03 | 2020-08-11 | 支付宝(杭州)信息技术有限公司 | 一种区块链共识方法、装置及电子设备 |
CN112232957A (zh) * | 2020-10-16 | 2021-01-15 | 网易(杭州)网络有限公司 | 交易共识方法、装置和电子设备 |
Non-Patent Citations (1)
Title |
---|
郝莹 等: "《大学计算机基础》", 31 August 2009 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113656509A (zh) * | 2021-08-26 | 2021-11-16 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN113656509B (zh) * | 2021-08-26 | 2024-05-31 | 支付宝(杭州)信息技术有限公司 | 区块链系统中执行交易的方法及装置 |
CN114416765A (zh) * | 2022-03-28 | 2022-04-29 | 北京微芯感知科技有限公司 | 一种区块链交易无级预测执行方法及系统 |
CN114416765B (zh) * | 2022-03-28 | 2022-06-14 | 北京微芯感知科技有限公司 | 一种区块链交易无级预测执行方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112838930B (zh) | 2022-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109936457B (zh) | 区块链多方见证方法、装置、设备及计算机可读存储介质 | |
CN110570196B (zh) | 交易数据处理方法、装置、终端设备以及存储介质 | |
CN106534160B (zh) | 基于区块链的身份认证方法及系统 | |
US20220239496A1 (en) | Blockchain consensus method, device and system | |
CN109309685B (zh) | 信息传输方法和装置 | |
CN111182525B (zh) | 一种存储数据的方法和装置 | |
CN112788036B (zh) | 身份验证方法及装置 | |
CN112838930B (zh) | 区块链交易的执行方法及装置、电子设备、存储介质 | |
CN110597918B (zh) | 一种账户管理方法、装置及计算机可读存储介质 | |
CN110222085B (zh) | 一种存证数据的处理方法、装置及存储介质 | |
CN106779705B (zh) | 一种动态支付方法及系统 | |
CN109067746B (zh) | 客户端与服务器之间的通信方法及装置 | |
CN111314172A (zh) | 基于区块链的数据处理方法、装置、设备及存储介质 | |
CN111461720A (zh) | 基于区块链的身份验证方法、装置、存储介质及电子设备 | |
CN110619022B (zh) | 基于区块链网络的节点检测方法、装置、设备及存储介质 | |
CN111597537A (zh) | 基于区块链网络的证书签发方法、相关设备及介质 | |
CN113132406B (zh) | 一种基于ssh流量发现网络威胁的检测方法、设备及介质 | |
CN113987062A (zh) | 一种数据上链存储方法、系统、装置以及存储介质 | |
CN112732676B (zh) | 基于区块链的数据迁移方法、装置、设备及存储介质 | |
CN111771357B (zh) | Tls证书认证方法、装置、设备及存储介质 | |
CN113360575A (zh) | 联盟链中交易数据的监管方法、装置、设备及存储介质 | |
CN113079023A (zh) | 一种文件分发管理方法、装置以及相关设备 | |
CN107704557B (zh) | 操作互斥数据的处理方法、装置、计算机设备和存储介质 | |
CN111695113A (zh) | 终端软件安装合规性检测方法、装置和计算机设备 | |
CN113922953B (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |