[go: up one dir, main page]

CN110603559A - 用于并行验证区块链交易的系统和方法 - Google Patents

用于并行验证区块链交易的系统和方法 Download PDF

Info

Publication number
CN110603559A
CN110603559A CN201880030110.9A CN201880030110A CN110603559A CN 110603559 A CN110603559 A CN 110603559A CN 201880030110 A CN201880030110 A CN 201880030110A CN 110603559 A CN110603559 A CN 110603559A
Authority
CN
China
Prior art keywords
transaction
block
transactions
blockchain
network
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
Application number
CN201880030110.9A
Other languages
English (en)
Other versions
CN110603559B (zh
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.)
Nchain Holdings Ltd
Original Assignee
Nchain Holdings 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 Nchain Holdings Ltd filed Critical Nchain Holdings Ltd
Publication of CN110603559A publication Critical patent/CN110603559A/zh
Application granted granted Critical
Publication of CN110603559B publication Critical patent/CN110603559B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0658Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed locally
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic 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)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Strategic Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种计算机实现的方法,用于验证节点的网络中节点处的区块,所述节点实现符合区块链协议的区块链。区块链协议可以是比特币协议或其它。所述方法包括:串行地确定在多个交易的每个交易中,每个被引用为输入的未花费的交易输出是唯一的,并且基于所述确定,将所述多个交易中的每个交易分配到两个及两个以上并行处理器中的一个,以及由两个及两个以上并行处理器并行地验证所述多个交易中的交易是否符合交易级验证标准。所述节点还确定所述区块满足区块级验证标准。如果所述交易符合所述交易级验证标准,并且所述区块符合所述区块级验证标准,则所述区块被视为有效,并且所述节点将所述区块转发到网络中的一个或多个对等节点。

Description

用于并行验证区块链交易的系统和方法
技术领域
本发明主要涉及区块链交易,具体涉及能够在区块链网络中快速验证和传播区块的方法和设备。
背景技术
在本文中,使用术语“区块链(blockchain)”来包括所有形式的电子的、基于计算机的分布式分类账(distributed ledgers),包括但不限于区块链和交易链技术、许可及未许可的分类账、共享分类账及其变型。虽然也已经提出并开发了其他区块链实施方案,但是区块链技术最广为人知的应用是比特币分类账(Bitcoin ledger)。虽然出于方便和说明的目的,本文中涉及的是比特币(Bitcoin),但应当指出的是,本发明不限于与比特币区块链一起使用,其他的区块链实现和协议也落入本发明的范围内。
区块链是基于共识的电子分类账,该分类账实现为由区块组成的基于计算机的去中心化的分布式系统,而区块由交易组成。每个交易(TX)是对区块链系统中参与者之间的数字资产的控制的转移进行编码的数据结构,包括至少一个输入和至少一个输出。每个区块包含前一区块的散列,如此,这些区块被链接在一起,以创建一个永久的、不可更改的所有交易的记录,这些交易自区块链诞生之始写入区块链。交易包含小程序,这些小程序称为脚本,嵌入至所述交易的输入和输出中,这些小程序指定了如何以及由谁来访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
接收新交易的网络节点将迅速尝试将该交易推送到网络中的其他节点。在将新交易传输到其他节点之前,它会被“验证(validated)”,这意味着将根据一组标准对新交易进行检查,以确保该交易符合根据适用协议进行适当交易的基本要求。
为了将交易写入区块链,节点(“矿工(miner)”)将该交易合并到一个区块中,该节点旨在收集交易并将所述交易形成区块。然后,矿工试图完成与该区块相关的“工作量证明(proof of work,简称“PoW”)”。整个区块链网络中的矿工竞相成为第一个收集交易区块并完成该区块相关工作量证明的人。成功的矿工将其已确认的区块添加到区块链中,并且该区块通过网络传播,以便维护区块链副本的其他节点可以更新其记录。接收区块的节点还“验证”该区块及其中的所有交易,以确保其符合协议的正式要求。例如,接收新区块的节点可以检查以确认区块数据结构遵守适用的句法规则,该区块具有符合年限要求的时间戳,该区块在规定的大小限制内,以及其他此类标准。所述节点还确认该区块中的每个交易都是有效的。在比特币核心客户端的检查区块(CheckBlock)和检查区块头(CheckBlockHeader)功能中定义了适用于比特币协议的示例标准。
验证交易的标准可能很长。例如,比特币协议中适用的条款可以在比特币参考客户端的接受存储池(AcceptToMemoryPool)、检查交易(CheckTransaction)和检查输入(CheckInputs)功能中详细查看。
与区块链实施相关的潜在瓶颈之一是节点完成区块验证(包括验证区块中的所有交易)所花费的时间。延迟可能会妨碍并阻碍使用区块链进行快速、大量的处理。此外,当工作量证明(PoW)网络中的矿工在完成自己的工作量证明之前收到区块已经完成的通知时,该矿工放弃努力并开始尝试构建下一区块。因此,缓慢的验证意味着矿工继续努力,而这种继续努力是不必要的。挖掘(mining)是一种处理器和能源密集型活动,因此浪费的挖掘工作在资源方面是昂贵的。
因此,存在与验证区块链交易相关的技术问题,这些问题包括验证区块过程中涉及的速度、效率和资源要求。区块的验证和随后的传播需要网络中节点的能量、时间和努力,并且对过程的改进不仅在网络性能和速度方面,而且在与所需资源量的关系方面都将是非常有益的。期望提供能够在比特币网络中更快传播区块的改进的方法和设备。现在已经设计出这种改进的解决方案。
发明内容
因此,根据本发明,提供了如所附权利要求中限定的方法和设备。
本申请提供了一种改进的设备和方法。该方法可以是用于验证区块的方法。这些区块可以是区块链交易的区块。本发明可以更快地决定区块是有效还是无效。更快的验证可减少资源的浪费,因为区块会更快地通过系统传播。此外,对于这些最终会陷入冲突,并输给更早的区块的竞争区块,在验证和传播上将浪费更少的时间和资源。本发明可以实现一些交易级验证操作的并行化。区块中所有交易独有的未花费的交易输出(unspenttransaction outputs,简称“UXTOs”)的确认可能无法并行化,以避免并行处理器之间代价高昂的同步。
另外或可选地,本申请可以描述一种计算机实现的方法。该方法可以描述为一种验证方法。该方法可包括用于验证实现区块链的节点的网络中的区块的方法。区块链可以符合区块链协议,或者与区块链协议相关联地操作。区块可包括多个(区块链)交易。该方法可包括:确定所述区块符合区块级验证标准;并且串行地确定在所述多个交易的每个交易中,每个被引用为输入的未花费的交易输出(UTXO)是唯一的,并且基于所述确定,将所述多个交易中的每个交易分配到两个及两个以上并行处理器种的一个,以及由所述两个及两个以上并行处理器并行地验证所述多个交易中的交易符合交易级验证标准。
所述方法还可包括,如果所述交易符合交易级验证标准,并且所述区块符合区块级验证标准,则将所述区块转发到网络中的一个或多个对等节点。
在一些实施中,交易级验证标准包括由区块链协议规定的交易特征,并且每个交易必须具有被视为有效的交易特征。相似地,在一些实施中,区块级验证标准是由区块链协议规定的区块特征,并且每个区块必须具有被视为有效的区块特征。
在一些实施中,将多个交易中的每个交易分配到两个及两个以上并行处理器中的一个,包括使用随机分配方案或确定性分配方案来分配交易。在一个示例中,方案包括使用先来先服务(first-come first-serve)算法在两个及两个以上并行处理器之间分配交易。在一些示例实施中,分配包括确定与每个交易相关联的处理成本,并且分配交易以在两个及两个以上并行处理器之间进行处理成本的负载平衡。每个交易的处理成本可基于该交易中脚本操作的数量。每个交易的处理成本还可基于脚本操作的加权和,其中,每个脚本操作都具有基于脚本操作计算复杂度的相关联的权重。
在一些实施中,所述方法可包括,通过确定每个未花费的交易输出仅作为多个交易中的输入出现一次,串行地确定在多个交易的每个交易中,每个被引用为输入的未花费的交易输出是唯一的。
另外或可选地,本申请描述了一种实现区块链的节点的网络内的计算设备,该计算设备用于验证符合区块链协议的区块,该区块包含多个交易。计算设备可包括:网络接口,用于向实现区块链的节点的网络提供网络连接,并接收区块,该区块符合区块链协议并包含多个交易;区块级验证模块,用于确定区块符合区块级验证标准;输入唯一性确认模块,用于串行地确定在多个交易的每个交易中,每个被引用为输入的未花费的交易输出是唯一的;两个及两个以上并行处理器,用于并行验证多个交易中的交易是否符合交易级验证标准;和交易分配单元,用于在两个及两个以上并行处理器之间分配多个交易中的交易以进行验证。如果交易符合交易级验证标准,并且区块符合区块级验证标准,则网络接口将区块转发到网络中的一个或多个对等节点。
两外或可选地,本申请可描述一种存储有处理器可执行指令的非暂时性处理器可读介质,该处理器可执行指令在被执行时,使一个或多个处理器执行本文所述的过程和/或操作中的一个或多个。
附图说明
关于本发明的一个方面或实施例描述的任何特征还可以适用于一个或多个其他方面或实施例。参考本文所述的实施例,本发明的这些和其他方面将变得清晰并得以阐明。现在将仅通过示例并参考附图来描述本发明的实施例,其中:
图1示出了节点的示例区块链网络;
图2示意性地示出了节点中的示例区块验证过程;
图3以流程图的形式示出了区块验证方法的一个示例;和
图4示出了用于验证区块链网络中区块的节点的框图。
具体实施方式
在本申请中,术语“和/或”旨在涵盖所列元素的所有可能的组合和子组合,包括任何一个单独列出的元素、任何子组合或所有元素,并且不一定排除附加元素。
在本申请中,短语“……或……中的至少一个”旨在覆盖任何一个或多个所列元素,包括任何一个单独列出的元素、任何子组合、或所有元素,不一定排除任何其他元素,并且不一定要求具有所有元素。
首先参考图1,图1以框图形式示出了与区块链相关联的示例区块链网络100。区块链网络是一个点对点(peer-to-peer)的开放式会员网络,任何人都可以加入,无需邀请,无需经其他会员同意。运行区块链协议(区块链网络100在区块链协议下运行)实例的分布式电子设备可以参与区块链网络100。这种分布式电子设备可以称为节点102。例如,区块链协议可以是比特币协议或其他加密货币。
运行区块链协议并形成区块链网络100的节点102的电子设备可以是各种类型的,包括例如计算机(如台式计算机、笔记本电脑、平板电脑)、服务器、移动设备(如智能手机)、可穿戴计算机(如智能手表)、或其他电子设备。
区块链网络100的节点102使用合适的通信技术彼此连接,该通信技术可以包括有线和无线通信技术。在许多情况下,区块链网络100至少部分地在互联网上实现,并且一些单个节点102可以位于地理上分散的位置。
节点102维护区块链上所有交易的全局分类账。全局分类账是分布式分类账,每个节点102可以存储全局分类账的完整副本或部分副本。节点102影响全局分类账的交易由其他节点102验证,从而保持全局分类账的有效性。本领域的普通技术人员将会理解实现和操作(例如使用比特币协议)区块链网络的细节。
每个交易通常具有一个或多个输入和一个或多个输出。嵌入到输入和输出中的脚本指定了如何以及谁可以访问交易的输出。交易的输出可以是作为交易结果的值被转移到的地址。然后,该值与该输出地址相关联,作为未花费的交易输出。随后的交易可以将该地址作为输入,以花费或分散该值。
如上所述,挖掘节点(“矿工”)竞相在区块链创建下一个区块。为了收集区块,矿工将区块构建为来自未确认交易池(“存储池(mempool)”)的一组交易。然后,矿工试图完成与其所收集的区块相关的工作量证明。如果矿工在收到任何其他矿工已成功生成区块并完成其工作量证明的通知之前已经完成工作量证明,则该矿工通过将区块发送到网络上的对等节点来传播其区块。这些节点验证区块,然后将区块在网络中进一步发送到其他节点。如果矿工在完成自己的工作量证明之前收到另一个区块已完成的通知,则该矿工放弃努力并开始尝试构建下一区块。
因此,区块的快速传播有助于避免浪费矿工和验证节点的努力。通过提供一种能够更快验证并因此传播区块的解决方案,本发明提供了增强的网络性能。该解决方案减少了所需的计算时间和工作量,从而减少了网络所需的能量。该解决方案提供了在资源和时间方面更高效的网络,最终提供了一个改进的(区块链)网络。
在区块链的当前实施中,例如比特币网络,每个接收区块的节点首先验证该区块,然后将区块发送到其他节点。验证区块所需的时间减慢了区块在网络中的传播。注意,包括现有协议的演进的区块链的一些实施,可以仅由节点的子集而不是网络中的每个节点提供区块验证。然而,大多数节点上的区块验证仍然可能是任何区块链实施的特征,以防止无效区块通过网络传播。
验证区块涉及确认区块是否符合适用区块链协议设定的规定标准。在比特币核心客户端的检查区块(CheckBlock)和检查区块头(CheckBlockHeader)功能中定义了适用于比特币协议的示例标准。除了确认区块本身符合规定的标准外,还可以评估区块内的每个交易是否符合交易级标准。例如,比特币协议中应用的交易级标准可以在接受存储池(AcceptToMemoryPool)、检查交易(CheckTransaction)和检查输入(CheckInputs)功能中详细查看。
基于比特币协议的区块级标准的具体示例包括:
·区块数据结构在语法上是有效的。
·区块头散列小于目标难度(加强工作量证明)。
·区块时间戳为未来不到两个小时内(允许时间误差)。
·区块大小在可接受的范围内。
·第一个交易(也只有第一个)是币库(coinbase)生成交易。
·区块内的所有交易均有效。
基于比特币协议的交易级标准的具体示例包括:
·交易的句法和数据结构必须正确。
·输入和输出列表都不是空的。
·每个输出值x以及所有输出的总和必须在0<x<21·106的范围内。
·没有一个输入具有空值散列。
·nLockTime小于或等于INT_MAX。
·以字节为单位的交易大小大于或等于最小值,且小于最大值。
·签名操作的数量小于签名操作的限制。
·解锁脚本scriptSig只能将数字压入堆栈,而锁定脚本scriptPubkey必须与isStandard形式匹配。
·对于每个输入,如果引用的输出存在于池中的任何其他交易中,则必须拒绝该交易。
·对于每个输入,如果引用的输出交易是一个币库输出,则必须具有至少COINBASE_MATURITY(100)确认。
·对于每个输入,引用的输出必须存在并且不能已被花费。
·使用参考的输出交易获取输入值,检查每个输入值以及总和是否在值x的允许范围内,即0<x<21·106
·池中或主分支中的区块中必须存在匹配的交易。
·输入值的总和必须等于或大于输出值的总和。
·交易费用必须足以进入空白区块。
·每个输入的解锁脚本必须根据相应的输出锁定脚本进行验证。
这些示例标准是说明性的,并且不应解释为对于所有实施例都是充分或必要的,因为规定的标准可能在不同的协议中有所不同,并且如果对协议进行了更改,则对于给定的协议可能会随时间而变化。通常,交易级验证标准是在适用的区块链协议下交易必须具有从而被视为有效的规定特征。同样,区块级验证标准是在适用的区块链协议下区块必须具有从而被视为有效的规定特征。
根据本申请,描述了加速区块验证以便于区块在网络中更快传播的方法和设备。
一方面,本申请描述了一种节点,该节点被构造为通过并行执行各个交易的交易级验证来验证区块。但是,某些交易级标准不能并行评估。特别地,未花费的交易输出(UTXOs,unspent transaction outputs)的唯一性应按串行进行评估。因此,该节点被构造或设置成在将交易在两个或更多并行处理器的集合中分配以用于验证其余交易级标准之前,确认交易的引用输入(UTXOs)的唯一性。
当结合本文中对并行处理器的描述使用术语“处理器(processor)”时,不一定意味着物理上不同的微处理器,并且可以包括使能并行处理资源的任何硬件或软件实施方式,这些并行处理资源能够独立且并行地执行处理器功能。并行处理器可包括一个具有多个内核的处理器。在一些示例中,并行处理器可包括多个独立的处理单元。并行处理器可以共享也可以不共享物理存储器。无论如何实施,每个并行处理器都具有用于发信号的软件或硬件机制,例如响应于识别无效交易而输出信号。并行处理器的实施还包括以软件和/或硬件提供必要的数据传输机制,以将分配的交易数据路由到相应的处理器用于本地处理。
现在参考图2,图2示意性地示出了区块链网络节点中的区块验证过程200的简化示例。过程200包括区块级验证阶段202,在该阶段,按照区块级标准测试输入的新区块。与区块内的交易相反,示例区块级标准如上所述,通常涉及适用于区块本身的规定格式要求和特征或限制。示例包括区块大小、区块头结构或内容以及类似的标准。
过程200还包括UTXO唯一性确认模块204,该模块评估新区块中交易的每个输入,即每个UTXO,是否唯一。如果相同的UTXO在新区块中作为输入多次出现,则表明存在潜在的双重花费(double-spending)问题,违反了UTXO唯一性标准。如果UTXO唯一性确认模块204识别出在新区块中的交易输入中被不止一次引用的UTXO,则该模块输出错误信号或其他中断以指示该区块将被拒绝。
假设新区块没有被拒绝,即所有UTXO输入是唯一的,则各个交易交易由分配单元206在一组并行处理器208中分配。交易分配单元206可采用多种可能的分配方案中的任何一种,用于在各个处理器208之间划分区块中的交易。在某些示例中,分配方案的目标可能是负载平衡。该分配可以表征为“作业车间调度(job shop scheduling)”,其中,在一组机器/处理器208中分配具有不同处理时间的一组作业,每个机器/处理器208具有其自己的处理能力或功率,同时试图最小化处理器208中最长处理时间的长度。下文提供了进一步的示例细节。
各个处理器208根据交易级验证标准来验证已经分配给它们的交易。处理器208不需要它们之间的同步模式。处理器208各自独立地验证其已分配到的交易是否有效。每个处理器208输出确认其分配到的交易的有效性的结果,并且将结果相加以确认该区块中的所有交易都是有效的。在处理器208之一识别出不合规交易,即无效交易,的情况下,该处理器可以发出输出(例如中断或其他信号),以指示存在无效交易。可以将该中断或信号发送到其他处理器208,以使其他处理器可以立即停止测试其各自的交易,并且不会在即将被拒绝的区块内验证交易上浪费更多的资源。
注意,在示例过程200中示出的区块级标准首先被测试。然而,应当理解的是,区块级验证阶段202可以在交易级验证测试之后发生,或者在某些示例中与交易级验证测试并行发生。
现将参考图3,图3以流程图的形式示出了验证区块链网络中的区块的一个示例方法300。该区块包含多个交易,每个交易引用一个或多个输入,并且每个输入是UXTO(币库生成交易的情况除外)。方法300使用区块链网络上的节点内合适的硬件和处理器可执行指令来实施。
在操作302中,节点接收新区块。可以从生成新区块并完成工作量证明的挖掘节点接收新区块。可以从网络中的另一个(非挖掘)节点接收新区块。在将新区块转发到网络中的任何其他节点之前,当前节点验证该区块。如上所述,对新区块的验证包括确认该区块是否满足某些区块级标准,并确认该区块中的每个交易是否有效。
在操作304中,节点评估新区块是否满足区块级标准。如前所述,在一些实施方式中,该操作304可以稍后在方法300中执行,并且在一些情况下,可以与其他操作并行执行。区块级标准可包括确认区块结构是否满足句法要求,时间戳是否满足货币要求,以及区块大小是否在规定的限度内,等等。
如果新区块满足这些区块级标准,则在操作306中,节点评估对各个交易的输入是否唯一。也就是说,节点确定作为输入引用的任何UXTOs是否在区块中出现多次。如果是,则UXTOs不是唯一的,该区块将被拒绝。如果不在并行处理单元之间使用计算上昂贵的同步模式,则不能并行执行UXTOs唯一性的确定。因此,操作306串行地执行。
在一个示例实施中,可以使用交易输入中的引用输出(UXTO)的散列表,其中每个UXTO具有初始化为假(false)的布尔值(Boolean value)。如果再次引用散列值已设置为真(true)的给定散列表条目,则会发生双重花费攻击。在这种情况下,UXTO不是唯一的,并且整个区块可以被认为是无效的,并且过程300被中止。
在另一示例实施中,可以使用二叉搜索树,例如通过C++中的地图数据结构(mapstructure data)。地图是关联容器,按照特定顺序存储由键值(key value)和地图值(mapped value)的组合形成的元素。给定n个交易,搜索、插入和删除时间复杂度平均为O(logn),最坏情况下为O(n)。
如果新区块中的UXTOs是唯一的,则在操作308中,节点在并行处理器之间分配交易。
在操作306的串行处理期间,可以使用附加的散列表来跟踪依赖于区块内其他交易的交易。在一个实施中,标识符iddep(从零开始)被分配到当前分析的交易。如果一个交易从属于另一个交易,则将为该交易分配与其所依赖的交易相同的标识符。也就是说,两个及以上从属交易将具有相同的标识符,并且每个不从属于任何未看到的交易的新交易将具有增加的iddep值。每组从属交易将被预先分配到相同的处理单元,例如idCPU=iddep moduloN,其中N是并行处理单元的数量。从属交易是例如输入是其所依赖交易的输出的交易。
在最简单的实施中,处理器之间的交易分配基于处理器的数量和交易的数量,而不考虑处理器需求和/或容量的差异。然而,为了更好地平衡可用处理器之间的处理负载,在一些实施中,节点可考虑交易的复杂性,特别是验证每个交易的复杂性。处理负载的一种度量(或代理)是交易中涉及的脚本操作的数量。也就是说,可以认为验证单个交易j所需的时间与所涉及的脚本操作的数量cj成正比。例如,在P2PKH交易的情况下,cj是签名脚本(输入)中的操作数和公钥脚本(引用的输出)中的操作数的总和。
在另一示例中,可以将不同的权重w分配到不同的脚本操作。例如,OP_HASH160和OP_CHECKSIG比简单的OP_EQUAL操作复杂几个数量级。因此,用于验证交易j的总成本cj定义为其M个单独的加权脚本操作wj的总和:
权重wj可基于由适用的区块链协议规定或定义的脚本操作的复杂性进行硬编码(hard-coded)。
为了防止对节点计算资源进行某种形式的攻击,可以设置阈值T。如果对于任何交易j来说cj>T,则节点可以确定不会验证该区块。T的值可以直接与本地验证节点中的单个处理单元的计算能力成正比,以赫兹或每秒指令数为单位。
调度方案S在CPU之间分配交易验证列表{cj},0≤j<n。这个问题被称为作业车间调度(job shop scheduling):不同处理时间的n个作业{J1,J2,…,Jn}需要在具有不同处理能力的N台机器上调度,同时试图最小化调度U(完成时间(makespan))的总长度,即完成并行处理所需的时间。在一些实施中,处理器之间的交易分配可根据随机分配方案来进行。在一些实施中,分配可根据确定性分配方案来进行。
两种示例调度方案包括:
·FCFS(先来先服务,First Come First Served)以循环方式将交易顺序分配到可用的处理单元。这是一种随机分配方案。给定从区块顶部开始的第t个交易,带有ID t moduloN的内核将负责验证。此调度程序的计算复杂度最低。
·LPT(最长处理时间,Longest Processing Time)贪心算法(greedy algorithm)提供了更有效的负载平衡解决方案,并且是确定性分配方案的一个示例。作业(交易)可以首先按其各自的处理时间(脚本操作的数量,或基于加权脚本操作的总和的“成本”)进行排序,然后分配到迄今为止结束时间最早的机器上,以便平衡每个处理器的计算负载。
在一些实施中,FCFS方案可能会受到利用验证节点的并行度N的恶意攻击,例如,每N或N/2个交易构建一个具有高要求脚本(demanding scripts)的区块。为了避免这种情景,可以使用真正随机的交易验证分配,无需额外成本。
LPT算法相对于理论最优值U0实现了以下上限U:
注意,排序算法,如归并排序(Mergesort),以O(nlogn)最差和平均时间复杂度为特征。但是,可以在对cj值进行排序的同时执行操作306的UTXO唯一性评估,从而避免任何额外的计算成本。
如操作310所示,在并行处理器之间分配了交易之后,方法300包括那些处理器中的每一个独立地验证已分配的交易的相应集合。一旦所有单个交易被验证为有效,则如操作312所示,节点能够接受该区块为有效。基于该区块的有效性,接受或指定区块为有效可导致附加功能,例如将有效区块转发给区块链网络上一个或多个其他对等节点。在某些情况下,方法300可包括将区块添加到当前节点本地存储的区块链副本中。
如果任何处理器检测到无效交易,则处理器中断验证方法300,并且如操作314所示,节点区块视为无效而拒绝。
因此,本发明为现有技术中的至少一个技术问题提供了一种或多种技术方案。例如,已知的区块链布置没有教导在并行处理器之间的交易分配之前串行地验证所有交易中未花费的交易输出(UTXO)的有效性的技术。例如,2014年10月8日的比特币论坛帖子建议构建一个新的数据结构(输出集),并尝试通过检查输出集结构(https://bitcointalk.org/ index.php?topic=816199.0[06/10/2017]“寻找分叉核心钱包,以使用并行计算来验证区块”),来防止并行交易验证过程中的双重支出。
现将参考图4,图4以框图形式示出了节点400的简化示例。节点400包括多个处理器402,处理器402可包括两个或两个以上微处理器、专用集成芯片(ASICs)、微控制器或类似的计算机处理设备。处理器402可包括多核处理器。
节点400还包括存储器404和网络接口406,存储器404可包括持久和非持久存储器,以存储值、变量,并且在某些示例中包括处理器可执行程序指令,网络接口406通过有线或无线网络提供网络连接。
节点400包括处理器可执行区块链应用408,所述处理器可执行区块链应用408包含处理器可执行指令,所述处理器可执行指令在被执行时使处理器402执行本文所述的功能或操作中的一个或多个。
应当理解的是,本文描述的设备和过程以及实现所描述的用于配置区块链节点的方法/过程的任何模块、例程、过程、线程、应用或其他软件组件可使用标准计算机编程技术和语言来实现。本申请不限于特定处理器、计算机语言、计算机编程协定、数据结构和其他这类实施细节。
应当说明的是,上述实施例说明而非限制本发明,在不脱离本发明的由所附权利要求限定的范围的情况下,本领域技术人员将能够设计出许多替代性实施例。在权利要求中,括号中的任何附图标记不应解释为对权利要求的限制。词语“包括(comprising)”和“包括(comprises)”等并非在整体上排除其他元件和步骤的存在,尽管这些元件和步骤并没有在任何权利要求或说明书中列出。在本说明书中,“包括(comprises)”意指“包括(includes)或由......组成(consists of)”,“包括(comprising)”意指“包括(including)或由......组成(consisting of)”。元件的单数引用不意味着排除这些元件的复数引用,反之亦然。本发明可以借助包括若干不同元件的硬件,以及借助适当编程的计算机来实施。在列举了若干装置的设备权利要求中,这些装置中的若干个可以由硬件的同一个部件来体现。不争的事实是,在相互不同的从属权利要求中列举了某些方法,并不代表这些方法的结合不能获得有益效果。

Claims (17)

1.一种用于在实现符合区块链协议的区块链的节点的网络中的验证区块的计算机实现的方法,所述区块包含多个交易,所述方法包括:
确定所述区块符合区块级验证标准;
串行地确定在所述多个交易的每个交易中,每个被引用为输入的未花费的交易输出是唯一的,并且基于所述确定:
将所述多个交易中的每个交易分配到两个及两个以上并行处理器中的一个,以及
由所述两个及两个以上并行处理器并行地验证所述多个交易中的交易符合交易级验证标准;
如果所述交易符合所述交易级验证标准,并且所述区块符合所述区块级验证标准,则将所述区块转发到所述网络中的一个或多个对等节点。
2.根据权利要求1所述的方法,其中,所述交易级验证标准包括由所述区块链协议规定的交易特征,并且其中,每个交易必须具有被视为有效的所述交易特征。
3.根据权利要求1或2所述的方法,其中,所述区块级验证标准包括由所述区块链协议规定的区块特征,并且其中,每个区块必须具有被视为有效的所述区块特征。
4.根据权利要求1至3中的任一项所述的方法,其中,将所述多个交易中的每个交易分配到所述两个及两个以上并行处理器中的一个,包括使用随机分配方案或确定性分配方案来分配所述交易。
5.根据权利要求4所述的方法,其中,分配所述交易包括使用先来先服务算法在所述两个及两个以上并行处理器之间分配所述交易。
6.根据前述权利要求中任一项所述的方法,其中,将所述多个交易中的每个交易分配到所述两个及两个以上并行处理器中的一个包括确定与每个交易相关联的处理成本,并且分配所述交易以在所述两个及两个以上并行处理器之间对所述处理成本进行负载平衡。
7.根据权利要求6所述的方法,其中,所述每个交易的处理成本基于该交易中脚本操作的数量,并且可选地,其中,所述每个交易的处理成本还基于脚本操作的加权和,其中,每个脚本操作都具有基于所述脚本操作的计算复杂度的相关联的权重。
8.根据前述权利要求中任一项所述的方法,其中,所述串行地确定在所述多个交易的每个交易中,每个被引用为输入的未花费的交易输出是唯一的,包括确定每个未花费的交易输出仅作为所述多个交易中的输入出现一次。
9.一种实现区块链的节点的网络内的计算设备,所述计算设备用于验证符合区块链协议的区块,所述区块包含多个交易,所述计算设备包括:
网络接口,用于提供到实现区块链的节点的网络的网络连接,并接收区块,所述区块符合区块链协议并包含多个交易;
区块级验证模块,用于确定所述区块符合区块级验证标准;
输入唯一性确认模块,用于串行地确定在所述多个交易的每个交易中,每个被引用为输入的未花费的交易输出是唯一的;
两个及两个以上并行处理器,用于并行地验证所述多个交易中的交易符合交易级验证标准;和
交易分配单元,用于在所述两个及两个以上个并行处理器之间分配所述多个交易中的交易以进行验证,
其中,如果所述交易符合所述交易级验证标准,并且所述区块符合所述区块级验证标准,则所述网络接口将所述区块转发到网络中的一个或多个对等节点。
10.根据权利要求9所述的计算设备,其中,所述交易级验证标准包括由所述区块链协议规定的交易特征,并且其中,每个交易必须具有被视为有效的所述交易特征。
11.根据权利要求9或10所述的计算设备,其中,所述区块级验证标准包括由所述区块链协议规定的区块特征,并且其中,每个区块必须具有被视为有效的所述区块特征。
12.根据权利要求9至11中任一项所述的计算设备,其中,所述交易分配单元使用随机分配方案或确定性分配方案来在所述两个及两个以上并行处理器中分配所述交易。
13.根据权利要求12所述的计算设备,其中,分配所述交易包括使用先来先服务算法来分配所述交易。
14.根据权利要求9至13中任一项所述的计算设备,其中,所述交易分配单元通过确定与每个交易相关联的处理成本,并且通过分配所述交易以在所述两个及两个以上并行处理器之间对所述处理成本进行负载平衡来分配交易。
15.根据权利要求14所述的计算设备,其中,所述每个交易的处理成本基于该交易中脚本操作的数量,并且可选地,其中,所述每个交易的处理成本还基于脚本操作的加权和,其中,每个脚本操作都具有基于所述脚本操作的计算复杂度的相关联的权重。
16.根据权利要求9至15中任一项所述的计算设备,其中,所述输入唯一性确认模块通过确定每个未花费的交易输出仅作为所述多个交易中的输入出现一次,以串行地确定在所述多个交易中被引用为输入的所述每个未花费的交易输出是唯一的。
17.一种在实现区块链的节点的网络内存储处理器可执行指令的非暂时性处理器可读介质,其中,所述指令用于验证符合区块链协议的区块,所述区块包含多个交易,并且其中,所述指令使两个及两个以上处理器执行根据权利要求1至8中任一项所述的方法。
CN201880030110.9A 2017-05-08 2018-05-04 用于并行验证区块链交易的系统和方法 Active CN110603559B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1707296.8A GB201707296D0 (en) 2017-05-08 2017-05-08 Computer-implemented system and method
GB1707296.8 2017-05-08
PCT/IB2018/053110 WO2018207064A1 (en) 2017-05-08 2018-05-04 Systems and Methods For Parallel Verification of Blockchain Transactions

Publications (2)

Publication Number Publication Date
CN110603559A true CN110603559A (zh) 2019-12-20
CN110603559B CN110603559B (zh) 2025-03-25

Family

ID=59065610

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880030110.9A Active CN110603559B (zh) 2017-05-08 2018-05-04 用于并行验证区块链交易的系统和方法

Country Status (6)

Country Link
US (2) US11902441B2 (zh)
EP (2) EP3622463B1 (zh)
JP (3) JP7114629B2 (zh)
CN (1) CN110603559B (zh)
GB (1) GB201707296D0 (zh)
WO (1) WO2018207064A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887437A (zh) * 2021-04-28 2021-06-01 支付宝(杭州)信息技术有限公司 区块链交易处理方法、区块链节点和区块链
CN113988857A (zh) * 2021-11-08 2022-01-28 福建博泉哈希科技有限公司 Nft交易方法、交易系统、计算机可读存储介质及终端设备

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7201622B2 (ja) * 2017-05-26 2023-01-10 エヌチェーン ライセンシング アーゲー スクリプトに基づくブロックチェーン相互作用
EP3468095A1 (en) * 2017-10-06 2019-04-10 Siemens Aktiengesellschaft Transaction selection device for selecting blockchain transactions
US11606190B2 (en) * 2017-12-26 2023-03-14 Akamai Technologies, Inc. High performance distributed system of record with cryptographic service support
US11018850B2 (en) * 2017-12-26 2021-05-25 Akamai Technologies, Inc. Concurrent transaction processing in a high performance distributed system of record
CN109377215B (zh) 2018-08-06 2020-04-21 阿里巴巴集团控股有限公司 区块链交易方法及装置、电子设备
US11048689B2 (en) * 2018-11-08 2021-06-29 International Business Machines Corporation Consensus transaction scheduler
CN109544160B (zh) * 2018-11-20 2020-06-30 杭州呯嘭智能技术有限公司 一种基于区块链和智能合约的交易真实性验证方法及系统
US10700850B2 (en) 2018-11-27 2020-06-30 Alibaba Group Holding Limited System and method for information protection
JP6714156B2 (ja) 2018-11-27 2020-06-24 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 情報保護のためのシステム及び方法
MY197480A (en) 2018-11-27 2023-06-19 Advanced New Technologies Co Ltd System and method for information protection
KR102170346B1 (ko) 2018-11-27 2020-10-28 알리바바 그룹 홀딩 리미티드 정보 보호를 위한 시스템 및 방법
KR102128210B1 (ko) 2018-11-27 2020-06-30 알리바바 그룹 홀딩 리미티드 정보 보호를 위한 시스템 및 방법
CA3040791C (en) 2018-11-27 2020-12-15 Alibaba Group Holding Limited System and method for information protection
US20200175503A1 (en) 2018-11-29 2020-06-04 Paypal, Inc. Resource-based distributed public ledger system
CN109685657B (zh) * 2018-12-25 2023-07-21 众安信息技术服务有限公司 在区块链网络中处理交易的方法和节点设备以及存储介质
BR112019016064A2 (pt) 2018-12-28 2020-03-31 Alibaba Group Holding Limited Método implementado por computador, meio de armazenamento legível e sistema
SG11201907243UA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Parallel execution of transactions in a blockchain network based on smart contract whitelists
US11765225B2 (en) * 2019-03-18 2023-09-19 Reliance Jio Infocomm Limited Systems and methods for microservice execution load balancing in virtual distributed ledger networks
US11159308B2 (en) * 2019-03-20 2021-10-26 PolySign, Inc. Preventing an erroneous transmission of a copy of a record of data to a distributed ledger system
CN111095325B (zh) 2019-04-12 2023-10-27 创新先进技术有限公司 在分布式账本系统中进行交易的并行执行
CN111095324B (zh) 2019-04-12 2023-12-12 创新先进技术有限公司 在分布式账本系统中执行交易的并行执行
US11115188B2 (en) * 2019-04-29 2021-09-07 Advanced New Technologies Co., Ltd. Blockchain-based data processing method, apparatus, and blockchain node
WO2019137567A2 (en) * 2019-04-30 2019-07-18 Alibaba Group Holding Limited Method and device for avoiding double-spending problem in read-write set-model-based blockchain technology
CN111767337B (zh) * 2019-05-24 2024-04-05 北京沃东天骏信息技术有限公司 区块的验证方法、装置及设备
US11539527B2 (en) 2019-05-29 2022-12-27 International Business Machines Corporation Peer node recovery via approximate hash verification
US11516000B2 (en) * 2019-05-29 2022-11-29 International Business Machines Corporation Approximate hash verification of unused blockchain output
US11711202B2 (en) 2019-05-29 2023-07-25 International Business Machines Corporation Committing data to blockchain based on approximate hash verification
US11429738B2 (en) 2019-05-29 2022-08-30 International Business Machines Corporation Blockchain endorsement with approximate hash verification
US11570002B2 (en) 2019-05-29 2023-01-31 International Business Machines Corporation Reduced-step blockchain verification of media file
CN110493148B (zh) * 2019-08-12 2022-04-01 深圳前海微众银行股份有限公司 一种区块处理、区块共识和区块同步方法及装置
DE102019216744A1 (de) * 2019-10-30 2021-05-06 Robert Bosch Gmbh Granulare Speicherverwaltung für einen Distributed Ledger
US10805069B1 (en) * 2019-11-12 2020-10-13 Xage Security, Inc. Multi-layer ledgers for multi-party secure data governance
CN111159197A (zh) * 2019-12-31 2020-05-15 深圳市网心科技有限公司 一种数据存储方法、装置、设备及可读存储介质
US11403281B2 (en) * 2020-01-09 2022-08-02 Eternal Paradise Limited Parallel blockchain processing
CN113222590B (zh) * 2020-01-21 2023-10-31 富联精密电子(天津)有限公司 预防双花攻击的方法、装置及计算机可读存储介质
CN111507723A (zh) * 2020-06-18 2020-08-07 海南安迈云网络技术有限公司 一种数字资产管理交易加密的方法
EP3945378A1 (de) * 2020-07-27 2022-02-02 Siemens Aktiengesellschaft Digital-twin basierte prozesssteuerung in einem internet-of-things-netzwerk
US11563559B2 (en) * 2020-07-29 2023-01-24 International Business Machines Corporation Parallel processing of blockchain procedures
US20250150290A1 (en) * 2021-10-28 2025-05-08 Nchain Licensing Ag Methods and systems for distributed blockchain functionalities
US20250094972A1 (en) * 2023-09-15 2025-03-20 Paypal, Inc. Computational processing based on selected criteria

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299959A (zh) * 2011-08-22 2011-12-28 北京邮电大学 一种数据库集群系统的负载均衡实现方法和装置
CN106406896A (zh) * 2016-09-27 2017-02-15 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法
US20170212781A1 (en) * 2016-01-26 2017-07-27 International Business Machines Corporation Parallel execution of blockchain transactions
US20180089641A1 (en) * 2016-09-27 2018-03-29 The Toronto-Dominion Bank Processing network architecture with companion database

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6438741B1 (en) * 1998-09-28 2002-08-20 Compaq Computer Corporation System and method for eliminating compile time explosion in a top down rule based system using selective sampling
US7672981B1 (en) * 2007-02-28 2010-03-02 Emc Corporation Object classification and indexing of very large name spaces using grid technology
CN101719258B (zh) * 2009-12-08 2012-08-08 交通银行股份有限公司 基于大型机的远距离双中心交易信息的处理方法和系统
US9015708B2 (en) * 2011-07-28 2015-04-21 International Business Machines Corporation System for improving the performance of high performance computing applications on cloud using integrated load balancing
CN102681902A (zh) * 2012-05-15 2012-09-19 浙江大学 一种基于多核系统任务分配的负载均衡方法
CN103942102A (zh) * 2014-04-14 2014-07-23 桂林电子科技大学 基于双优先级的实时任务调度方法
CA2981586C (en) * 2015-04-05 2024-06-18 Donald R. Wilson, Jr. Digital asset intermediary electronic settlement platform
JP5858507B1 (ja) * 2015-05-18 2016-02-10 株式会社Orb 仮想通貨管理プログラム、及び仮想通貨管理方法
US9735958B2 (en) 2015-05-19 2017-08-15 Coinbase, Inc. Key ceremony of a security system forming part of a host computer for cryptographic transactions
GB2540975A (en) 2015-07-31 2017-02-08 British Telecomm Mitigating blockchain attack
US20170091726A1 (en) * 2015-09-07 2017-03-30 NXT-ID, Inc. Low bandwidth crypto currency transaction execution and synchronization method and system
CN106528280B (zh) * 2015-09-15 2019-10-29 阿里巴巴集团控股有限公司 一种任务分配方法和系统
US9811391B1 (en) * 2016-03-04 2017-11-07 Color Genomics, Inc. Load balancing and conflict processing in workflow with task dependencies
US20170300318A1 (en) * 2016-04-18 2017-10-19 Accenture Global Solutions Limited Identifying low-quality code
US10521775B2 (en) * 2016-04-18 2019-12-31 R3 Ltd. Secure processing of electronic transactions by a decentralized, distributed ledger system
WO2017206151A1 (zh) * 2016-06-02 2017-12-07 百富计算机技术(深圳)有限公司 在单任务系统中实现多任务的方法、装置及单任务系统
US20180158034A1 (en) * 2016-12-07 2018-06-07 International Business Machines Corporation Dynamic reordering of blockchain transactions to optimize performance and scalability
US10552381B2 (en) * 2016-12-16 2020-02-04 International Business Machines Corporation Shared document editing in the blockchain
CN106980649B (zh) * 2017-02-28 2020-07-10 创新先进技术有限公司 写入区块链业务数据的方法和装置及业务子集合确定方法
US11036765B1 (en) * 2017-03-15 2021-06-15 Jpmorgan Chase Bank, N.A. System and method for dynamic data ingestion
CN111614655A (zh) * 2017-03-24 2020-09-01 创新先进技术有限公司 一种共识校验的方法及装置
CN107360206B (zh) * 2017-03-29 2020-03-27 创新先进技术有限公司 一种区块链共识方法、设备及系统
US10769532B2 (en) * 2017-04-05 2020-09-08 Accenture Global Solutions Limited Network rating prediction engine

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102299959A (zh) * 2011-08-22 2011-12-28 北京邮电大学 一种数据库集群系统的负载均衡实现方法和装置
US20170212781A1 (en) * 2016-01-26 2017-07-27 International Business Machines Corporation Parallel execution of blockchain transactions
CN106406896A (zh) * 2016-09-27 2017-02-15 北京天德科技有限公司 一种并行PipeLine技术的区块链建块方法
US20180089641A1 (en) * 2016-09-27 2018-03-29 The Toronto-Dominion Bank Processing network architecture with companion database

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黎江;何京汉;: "区块链、分布式账本技术解读", 金融电子化, no. 03, 31 March 2016 (2016-03-31) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887437A (zh) * 2021-04-28 2021-06-01 支付宝(杭州)信息技术有限公司 区块链交易处理方法、区块链节点和区块链
CN113988857A (zh) * 2021-11-08 2022-01-28 福建博泉哈希科技有限公司 Nft交易方法、交易系统、计算机可读存储介质及终端设备

Also Published As

Publication number Publication date
US20240195621A1 (en) 2024-06-13
JP7114629B2 (ja) 2022-08-08
GB201707296D0 (en) 2017-06-21
JP2020518907A (ja) 2020-06-25
JP2024036578A (ja) 2024-03-15
JP7728058B2 (ja) 2025-08-22
JP2022136219A (ja) 2022-09-15
EP4481660A2 (en) 2024-12-25
EP4481660A3 (en) 2025-03-26
CN110603559B (zh) 2025-03-25
WO2018207064A1 (en) 2018-11-15
US11902441B2 (en) 2024-02-13
EP3622463B1 (en) 2024-11-20
EP3622463A1 (en) 2020-03-18
US20200074424A1 (en) 2020-03-05
JP7434448B2 (ja) 2024-02-20

Similar Documents

Publication Publication Date Title
JP7728058B2 (ja) ブロックチェーントランザクションの並列検証のためのシステム及び方法
JP7472333B2 (ja) バリデータノードにより提供されるブロックチェーントランザクションをマイニングする方法及びシステム
US12093247B2 (en) Blockchain system and method
TWI848945B (zh) 驗證區塊鏈交易之運算系統、非暫時性電腦可讀儲存媒體及電腦實施型方法
CN110771127B (zh) 用于区块链网络中一致分布式内存池的方法和系统
CN113037824B (zh) 一种面向云计算的高性能区块链的构建方法
CN111478795B (zh) 一种基于混合拜占庭容错的联盟区块链网络共识方法
WO2025000917A1 (zh) 数据处理方法、计算机设备及存储介质
Chen et al. Enhancing blockchain performance via on-chain and off-chain collaboration
CN116805947B (zh) 区块链数据处理方法、装置、设备及计算机可读存储介质
US20250392477A1 (en) Data processing method, computer device, and storage medium
Li et al. A Novel Epoch‐Based Transaction Consistency Sorting Protocol for DAG Distributed Ledger
Ferreira Hyflexchain: A Permissionless Decentralized Ledger with Hybrid and Flexible Consensus Plane
CN120198123A (zh) 基于区块链的数据处理方法、装置、设备及可读介质
Cheng et al. A malicious-resilient protocol for consistent scheduling problem in the cloud computing environment

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