CN110741342A - 区块链交易提交排序 - Google Patents

区块链交易提交排序 Download PDF

Info

Publication number
CN110741342A
CN110741342A CN201880034711.7A CN201880034711A CN110741342A CN 110741342 A CN110741342 A CN 110741342A CN 201880034711 A CN201880034711 A CN 201880034711A CN 110741342 A CN110741342 A CN 110741342A
Authority
CN
China
Prior art keywords
instructions
transactions
new transactions
transaction
data
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
CN201880034711.7A
Other languages
English (en)
Other versions
CN110741342B (zh
Inventor
R.阿达谢夫
N.高尔
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN110741342A publication Critical patent/CN110741342A/zh
Application granted granted Critical
Publication of CN110741342B publication Critical patent/CN110741342B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/466Transaction processing
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/219Managing data history or versioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration 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
    • 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
    • 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/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • 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/12Accounting
    • 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
    • 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
    • H04L9/3247Cryptographic 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 involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

区块链功能可以包括以下一项或多项:识别要提交给区块链的多个新交易,确定多个新交易中的任何一个是否包括与多个新交易中的任何其他交易的数据依赖性,以及响应于确定,发送提供对多个新交易的确认的多个消息。

Description

区块链交易提交排序
技术领域
本申请总体上涉及交易排序,更具体地,涉及区块链交易提交排序。
背景技术
区块链可被用作公共分类帐来存储任何类型的信息。尽管区块链主要用于金融交易,但它可将包括资产(即,产品、包裹、服务、状态等)的任何类型的信息存储在其不可改变的分类帐中。去中心化方案将权限和信任转移到分散网络,并使其节点能够连续地和顺序地将其交易记录在公共“块”上,从而创建被称为区块链的唯一"链"。经由散列码的密码学用于确保交易源的身份验证,并且消除了对中央中介的需求。
密码学和区块链技术的组合一起确保了不会存在相同交易的重复记录。现代处理器可以无序地执行指令(OoO),然而,这个概念和处理器所做的是两个不同的主题,因为即使所有需要执行的是数据依赖性的降低,处理器必须总是保持有序执行的架构假象。
发明内容
一个示例实施例可以包括以下一个或多个:识别要提交(committed)给区块链的多个新交易;确定多个新交易中的任何一个是否包括与多个新交易中的任何其他交易的数据依赖性;以及响应于该确定,发送提供对多个新交易的验证的多个消息。
另一示例实施例可以包括一种设备,该设备包括处理器,被配置为执行以下一个或多个:识别要提交给区块链的多个新交易,确定多个新交易中的任何一个是否包括与多个新交易中的任何其他交易的数据依赖性;以及发射机,被配置成响应于该确定而发送指示继续进行多个新交易的验证的多个消息。
另一示例实施例可以包括一种非暂时性计算机可读存储介质,其被配置为存储指令,该指令在被执行时使处理器执行以下一个或多个:识别要提交给区块链的多个新交易,确定多个新交易中的任何一个是否包括与多个新交易中的任何其他交易的数据依赖关系,以及响应于该确定,发送指示继续进行多个新交易的验证的多个消息。
附图说明
图1示出了交易处理配置,该交易处理配置示出了根据示例实施例的用于区块链中的交易的无序指令时序与非无序指令时序之间的差异;
图2示出了根据示例实施例的交易排序逻辑配置;
图3示出了根据示例实施例的交易排序计算设备、排序模块和区块链之间的交互的系统消息图;
图4A示出了根据示例实施例的在区块链中管理交易排序的示例方法的流程图;
图4B示出了根据示例实施例的在区块链中管理交易排序的示例方法的另一流程图;
图5示出了被配置为支持一个或多个示例实施例的示例网络实体。
具体实施方式
将容易地理解,如本文的一般性描述和附图中示出的,即时组件可以以多种不同的配置来布置和设计。因此,对方法、设备、非暂时性计算机可读介质和系统中的至少一个的实施例的以下详细描述,如附图所示,并非旨在限制所要求保护的本申请的范围,而是仅代表所选实施例。
在整个说明书中描述的即时特征、结构或特性可以在一个或多个实施例中以任何合适的方式组合。例如,在整个说明书中,短语“示例实施例”,“一些实施例”或其他类似语言的使用是指结合该实施例描述的特定特征、结构或特性可以包括在至少一个实施例中的事实。因此,在整个说明书中,短语“示例实施例”,“在一些实施例中”,“在其他实施例中”或其他类似语言的出现不一定都指同一组实施例,并且所描述的特征、结构或者特性,可以以任何合适的方式组合在一个或多个实施例中。
另外,尽管在实施例的描述中可能已经使用术语“消息”,但是本申请可以应用于许多类型的网络数据,诸如分组、帧、数据包等。术语“消息”还包括分组、帧、数据包及其任何等同形式。此外,尽管在示例性实施例中可以描绘某些类型的消息和信令,但是它们不限于特定类型的消息,并且本申请不限于特定类型的信令。
在一个实施例中,本申请涉及区块链交易排序的管理,并且在另一实施例中,涉及识别待处理的交易并确定交易之间的关系以优化交易提交排序。
示例实施例提供了用于区块链网络架构的新模块,该架构将使区块链网络能够有效地运行,而与待处理交易之间的数据依赖性无关,以优化网络速度、处理效率和其他计算资源。根据一个示例,排序模块可以是交易服务器的一部分,该交易服务器接收交易并缓存交易以及用于分析那些交易之间的数据依赖性的待处理指令。如果没有识别出数据依赖性,则指令继续进行以同时转发用于验证的指令,并且可以无序执行交易的提交。这种方法优化了指令处理时间。
图1示出了交易处理配置,该交易处理配置示出了根据示例实施例的用于区块链中的交易的无序指令时序与非无序指令时序之间的差异。参照图1,配置100包括有序(非无序)和无序交易处理的示例。参考具有交易112-124(A-F)的示例,无序指令允许在继续处理其他指令之前绕过那些等待先前的指令首先提交交易。在图100中,指令的大小不反映指令的数量,因为该大小仅是用于说明花费在该特定交易/指令上的时间的指示器。“有序”指令的大小与它们在相似的时间内被顺序处理的时间大小大致相同,而无序指令则是重叠且异步的,执行时间可能会有所不同。在“无序”模型中,因为待处理排序模块用于处理交易(请参见图1),F 124的指令需要等待交易B 114的指令完成。此外,分析数据依赖性,并且如果在D 118和F 124的指令之间存在数据依赖性,则使用信号来等待所有先前的指令提交。在这种情况下,B 114的指令是继续进行提交之前要等待的最后一条指令。在有序方法中或在没有无序指令序列的情况下,用于交易A 132,B 134和C 136的指令是按顺序处理的,而无需任何类型的并行处理、异步处理和/或同时用于提交交易的处理。各种交易可以根据它们与数据有关的指令进行标识并进行修改。例如,待处理排序模块检测到与某些数据有关的交易A到E的指令,但只有D和F被检测到有数据冲突。
如果没有OoO处理,则按以下顺序提交交易:A、B、C、D、E、F。应用OoO交易管理支持,按以下顺序提交交易:A、C、E、D、B、F。使用OoO的交易可以遵循以下过程:对等节点将交易的开始以及周围数据中受该交易影响的数据发布给下一个对等节点。交易经过对等节点的共识,一旦获得批准,便会在本地添加到区块链中。哈希实现或具体如何无序链接交易,而区块链的“总体”结果相同,将因实现而不同。
图2示出了根据示例实施例的交易排序逻辑配置。参照图2,示例图示200提供了排序模块212,其将用于提交交易的提交指令214提供给待处理排序模块222。待处理排序模块222的提交指令224可以与原始交易的排序模块212不同。所有其他节点250也能够将指令传送到待处理排序模块222。待处理排序模块222跟踪所有待处理指令及其状态(例如,待处理发送以达成共识,待处理共识,待处理提交到区块链)。待处理发送是最不成熟的状态,待处理共识是第二,待处理提交到区块链是已达成共识并正在等待最后定案的内容。
排序模块212跟踪所有已经存在的先前提交的指令的状态。指令根据用户输入开始生命周期,以执行一些预定义的操作(例如,请求入股、转让汽车、购买房屋、输入抵押信息等)。然后,这些命令通过智能合约转换为区块链指令,并且指令包括具有明确定义的数据位置的读取和/或写入数据位置,然后将其输入到待处理排序模块222中。在待处理排序模块222中,分析指令的数据位置以得到数据依赖性。如果清除了指令以继续进行,则将它们按顺序发送出去以达成共识,然后无序返回,并以无特定顺序提交给区块链。如果存在数据依赖性,则将指令标记为白后续指令之前,等待所有先前的指令先提交。
有两类数据相关性,包括:读取后写入和写入后写入。读取后写入指令最终读取旧数据,因为已将更新的指令分派到其他节点,但尚未通过共识机制返回。结果,较新的指令错误地读取了旧的值,并且在提交了较旧的指令后,较新的指令可能会继续执行。在写入后写入依赖关系中,以正确的顺序分派了两条指令,但较年轻的/较新的指令先提交并写入,然后再执行较旧的指令。在这种情况下,如果两条指令都写入相同的数据位置,则会发生数据不规则的情况。为了处理数据依赖性,可以命令较年轻的指令等待与它们冲突的较旧的指令首先提交,该较旧的指令包括以下所有指令。如图1所示,在指令B 114和F 124之间存在数据依赖性,或更具体地说,指令F 124从指令B 114写入的数据位置读取。结果,指令F124被迫等待指令B 114和所有后序的指令才能提交。
通常,当存在数据依赖性时,指令被标记为在提交之前等待所有先前的指令提交。如果数据指令相关或相互影响的数据之间存在冲突,例如上述例子中D与F之间的冲突,则F在提交D之前不会进入“待处理发送共识”阶段。这样,我们避免了潜在的共识问题。当客户端将交易提交给对等节点时,对等节点使待处理排序模块能够扫描数据依赖关系,并且如果当前处于待处理共识或提交状态的任何交易之间不存在数据依赖关系,则该交易也会发出共识和提交,这些提交可能会无序提交。如果新交易确实与任何“正在处理”的交易/指令冲突(由于交易包括可辨别的指令,这些术语可以互换使用),然后将该交易添加到队列中以等待所有“正在处理”的指令完成。提交所有“处理中”的交易后,将检索排队的交易以进行提交,并且整个过程将重新启动。可以提供排序的一个示例:如果A向位置1234写入并且B从位置1234读取,则A必须“等待”,以便在开始B之前完全接受共识和提交,因为B从1234开始读取,并且共识将基于从1234读取的结果。这种OoO考虑是当有多于一个交易待提交时可能发生的许多可能性之一。
图3示出了根据示例实施例的交易排序计算设备、排序模块和区块链之间的交互的系统消息图300。参照图3,系统300可以包括多个组件或模块,其可以包括软件、硬件或两者的组合。组件可以包括第一组件,例如交易服务器310,其可以是负责输出交易、指令或其他通信信号的机器。第二组件,例如排序模块320,可以是图2的模块之一或两者,并且可以是交易服务器310的一部分。排序模块320的目的是管理用于交易管理和提交的指令。在操作中,新的交易312可以被识别并排队等待处理。可以将交易连同用于寻求共识、对交易进行排序、识别依赖关系并将交易提交给第三组件(诸如区块链330)的指令一起进行缓存。首先根据交易的接收顺序来对交易进行缓存314。该排序和指令可能会规定各种重新排序程序。下一操作是识别交易之间的数据依赖性316。从每个交易中识别动作318,并且将彼此依赖的那些动作识别为具有依赖性。然后创建排序或重新排序指令324并将其转发324到排序模块320,以便可以提交交易326并转发328到区块链330。
在一个实施例中,第一组件、第二组件和第三组件可以是单独的设备,例如服务器、计算机或其他计算设备,或者可以是单个设备。在其他实施例中,第一组件和第二组件可以被封装为单个设备或作为单个设备执行,第一组件和第三组件可以被封装为单个设备或作为单个设备执行,并且第二组件和第二组件可以封装为单个设备或作为单个设备执行。组件或设备310、320和330可以以有线或无线方式直接连接或可通信地彼此耦合,并且可以位于本地和/或远程。
图4A示出了根据示例实施例的示例的流程图400,该示例的流程图400可以包括管理区块链中的交易排序。参照图4A,该示例可以包括以下一项或多项:识别要提交给区块链的多个新交易412;确定多个新交易中的任何一个是否包括与多个新交易中的任何其他交易的数据依赖性414。响应于确定在任何新交易之间不存在数据依赖性,发送指示继续进行多个新交易的验证的多个消息416。可以同时发送多个消息。该方法可以包括:响应于确定在任何新交易之间不存在数据依赖性,在包括存储器以存储多个新交易的排序模块中,按照时间顺序对多个新交易进行缓存,以及对多个新交易中的一个或多个其他交易以时间顺序提交一个或多个新交易。该方法还可以包括:识别从多个区块链交易中识别出的一个或多个动作;以及创建与一个或多个动作相对应的一条或多条指令。该方法还可以提供将一条或多条指令转发到排序模块,以使得一条或多条指令包括读取和写入数据位置,并且基于一条或多条指令来提交多个交易。该方法还可以包括:识别多个交易之间的一个或多个数据依赖性;以及标记一条或多条指令以等待直到所有先前创建的指令与提交的交易相关联的时间。数据依赖关系包括在两个或多个交易中识别的同一产品中的一个或多个,以及后续交易的共同方。
图4B示出了根据示例实施例的示例的另一流程图450,其可以包括管理区块链中的交易排序。该示例可以包括以下一项或多项:识别要提交给区块链的多个新交易452;确定多个新交易中的任何一个是否包括与多个新交易中的任何其他交易的数据依赖性454。响应于确定在多个交易中的两个或多个之间存在至少一个数据依赖性,提交具有至少一个数据依赖性的两个或多个交易中较早的时间戳交易456,并拒绝具有至少一个数据相关性的两个或多个交易中较晚的时间戳的交易458。
在该示例中,标识了数据依赖性并且还标识了交易的时间顺序。结果,当两个或多个交易具有数据依赖性并且没有共同的时间戳(即不同的创建时间)时,允许较早排队或接收的交易被提交,并且共享相同数据依赖性的任何其他交易将被暂停或拒绝,以等待有额外资源可用于满足交易需求的证据。
以上实施例可以以硬件、以处理器执行的计算机程序、以固件或以上述的组合来实现。计算机程序可以嵌入在诸如存储介质的计算机可读介质上。例如,计算机程序可以驻留在随机存取存储器(“RAM”)、闪存、只读存储器(“ROM”)、可擦除可编程只读存储器(“EPROM”)、电可擦除可编程只读存储器(“EEPROM”)、寄存器、硬盘、可移动磁盘、光盘只读存储器(“CD-ROM”)或本领域已知的任何其他形式的存储介质中。
示例性存储介质可以被耦合到处理器,使得处理器可以从该存储介质读取信息,并且可以向该存储介质写入信息。或者,存储介质可以与处理器集成在一起。处理器和存储介质可以驻留在专用集成电路(“ASIC”)中。在替代方案中,处理器和存储介质可作为分立组件驻留。例如,图5示出了示例性网络元件500,其可以表示或集成在任何上述组件等中。
如图5所示,存储器510和处理器520可以是网络实体500的分立组件,用于执行如本文所述和所示的应用程序或一组操作。可以用处理器520理解的计算机语言以软件对应用程序进行编码,并且将其存储在诸如存储器510之类的计算机可读介质中。计算机可读介质可以是包括有形硬件组件的非暂时性计算机可读介质,例如可以存储软件的内存。此外,软件模块530可以是作为网络实体500的一部分的另一分立实体,并且其包含可以由处理器520执行以实现本文描述的一个或多个功能的软件指令。除了网络实体500的上述组件之外,网络实体500还可具有被配置为接收和发送通信信号(未示出)的发射机和接收机对。
尽管在附图中示出并在前述详细描述中描述了系统、方法和非暂时性计算机可读介质中的至少一个的示例性实施例,但是应当理解,本申请不限于所述公开的实施例,而且能够进行如所附权利要求书所阐述和定义的许多重新布置、修改和替换。例如,各个附图的系统的能力可以由本文描述的模块或组件中的一个或多个或以分布式架构来执行,并且可以包括发射机、接收机或两者的对。例如,由各个模块执行的全部或部分功能可以由这些模块中的一个或多个来执行。此外,本文描述的功能可以在模块或组件内部或外部的各种时间并且与各种事件相关地执行。而且,可以经由以下各项中的至少一项在各个模块之间发送各种模块之间发送的信息:数据网络、互联网、语音网络、互联网协议网络、无线设备、有线设备和/或通过多种协议。而且,由任何模块发送或接收的消息可以直接和/或经由一个或多个其他模块发送或接收。
本领域技术人员将理解,本发明的“系统”或一个或多个组件或元件可以体现为个人计算机、服务器、控制台、个人数字助理(PDA)、蜂窝电话、平板电脑计算设备、智能手机或任何其他合适的计算设备或设备组合。将上述功能呈现为由“系统”执行并不旨在以任何方式限制本申请的范围,而是旨在提供许多实施例的一个示例。实际上,可以以与计算技术一致的局部和分布式形式来实现本文公开的方法、系统和装置。
应该注意的是,在本说明书中描述的一些系统特征已经作为模块呈现,以便更具体地强调它们的实现独立性。例如,模块可以被实现为包括定制超大规模集成电路(VLSI)电路或门阵列,诸如逻辑芯片、晶体管或其他分立组件的现成半导体的硬件电路。模块也可以在诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备、图形处理单元等的可编程硬件设备中实现。
模块也可以至少部分地以软件来实现以由各种类型的处理器执行。所标识的可执行代码单元可以例如包括计算机指令的一个或多个物理或逻辑块,其可以例如被组织为对象、过程或功能。然而,所标识的模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置的不同指令,当这些指令在逻辑上结合在一起时,就包括该模块并实现该模块的所述目的。此外,模块可以存储在计算机可读介质上,该计算机可读介质可以是例如硬盘驱动器、闪存设备、随机存取存储器(RAM)、磁带或用于存储数据的任何其他介质。
实际上,可执行代码的模块可以是单个指令或多个指令,并且甚至可以分布在多个不同的代码段、不同的程序之间以及跨多个存储设备。类似地,操作数据可以在这里在模块内被识别和示出,并且可以以任何合适的形式来体现并且可以组织在任何合适的类型的数据结构内。操作数据可以被收集为单个数据集,或者可以分布在包括不同存储设备的不同位置上,并且可以至少部分地仅作为系统或网络上的电子信号存在。
将容易理解,如本文的一般性描述和附图中示出的,本申请的组件可以以各种不同的配置来布置和设计。因此,实施例的详细描述并非旨在限制本申请所要求保护的范围,而仅是本申请的所选实施例的代表。
本领域的普通技术人员将容易地理解,可以用不同顺序的步骤、组合的步骤、省略的步骤和/或与配置不同于已公开的硬件元件来实践上述内容。因此,尽管已经基于这些优选实施例描述了本申请,但是对于本领域技术人员显而易见的是,某些修改、变型和替代构造将是显而易见的。
尽管已经描述了本申请的优选实施例,但是应该理解,所描述的实施例仅是说明性的,并且在一个实施例中,当以对其等同物和修改(例如协议、硬件设备、软件平台等)的全范围考虑时,本申请的范围应由所附权利要求书限定。

Claims (9)

1.一种方法,包括:
识别要提交给区块链的多个新交易;
确定所述多个新交易中的任何一个是否包括与所述多个新交易中的任何其他交易的数据依赖性;以及
响应于该确定,发送提供对所述多个新交易的验证的多个消息。
2.如权利要求1所述的方法,其中,所述多个消息被同时发送。
3.如权利要求1所述的方法,还包括:
在包括存储所述多个新交易的存储器的排序模块中,按照时间顺序缓冲所述多个新交易;以及
响应于该确定,与所述多个新交易中的一个或多个其他交易不按时间顺序提交所述新交易中的一个或多个。
4.如权利要求3所述的方法,还包括:
从提交给所述区块链的所述多个新交易中识别识别出的一个或多个动作;以及
创建与所述一个或多个动作相对应的一条或多条指令。
5.如权利要求4所述的方法,还包括:
将所述一条或多条指令转发给所述排序模块,其中,所述一条或多条指令包括读写数据位置;以及
基于所述一条或多条指令来提交所述多个新交易。
6.如权利要求5所述的方法,还包括:
识别所述多个新交易中的一个或多个数据依赖性;以及
标记所述一条或多条指令,直到所有先前创建的指令与已提交的交易相关联为止。
7.如权利要求6所述的方法,其中所述一个或多个数据依赖性包括在两个或多个交易中标识的一个或多个相同产品以及后续交易的共同方。
8.一种设备,包括用于执行根据任何前述方法权利要求的方法的所有步骤的装置。
9.一种计算机程序,包括指令,当在计算机系统上执行所述计算机程序时,所述指令用于执行根据任何前述方法权利要求的方法的所有步骤。
CN201880034711.7A 2017-06-26 2018-06-18 区块链交易提交排序 Active CN110741342B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/633,357 US10679210B2 (en) 2017-06-26 2017-06-26 Blockchain transaction commitment ordering
US15/633,357 2017-06-26
PCT/EP2018/066146 WO2019002004A1 (en) 2017-06-26 2018-06-18 ORDERING TRANSACTION COMMITMENT BY BLOCK CHAIN

Publications (2)

Publication Number Publication Date
CN110741342A true CN110741342A (zh) 2020-01-31
CN110741342B CN110741342B (zh) 2023-10-31

Family

ID=62636221

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880034711.7A Active CN110741342B (zh) 2017-06-26 2018-06-18 区块链交易提交排序

Country Status (4)

Country Link
US (1) US10679210B2 (zh)
CN (1) CN110741342B (zh)
BR (1) BR112019027873B1 (zh)
WO (1) WO2019002004A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256476A (zh) * 2020-09-27 2021-01-22 陕西医链区块链集团有限公司 基于区块链的数据操作方法、装置、设备及介质
CN112287400A (zh) * 2020-09-29 2021-01-29 卓尔智联(武汉)研究院有限公司 超级账本中的交易排序方法、装置和计算机设备

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102130062B1 (ko) * 2018-09-18 2020-07-03 엔에이치엔 주식회사 블록체인 네트워크의 노드들 간의 합의를 이루는 방법 및 블록체인 시스템
US20200142693A1 (en) * 2018-11-07 2020-05-07 International Business Machines Corporation Transparent code processing
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
CN110520882B (zh) 2018-12-28 2023-07-14 创新先进技术有限公司 在区块链网络中并行执行交易
CN110321219A (zh) * 2019-05-06 2019-10-11 百度在线网络技术(北京)有限公司 一种事务请求的并行执行方法、装置、设备和介质
US11586614B2 (en) 2019-07-30 2023-02-21 Oracle International Corporation Native persistent store support for blockchains
CN113435885A (zh) * 2019-08-30 2021-09-24 创新先进技术有限公司 在区块链中并发执行交易的方法和装置
US11640391B2 (en) 2019-09-11 2023-05-02 Oracle International Corporation Supporting blockchain collections in a database
CN110597466B (zh) * 2019-09-16 2021-10-26 腾讯科技(深圳)有限公司 区块链节点的控制方法、装置、存储介质和计算机设备
CN111506783B (zh) * 2020-04-08 2023-12-22 百度在线网络技术(北京)有限公司 区块链中事务请求处理方法、装置、设备和介质
CN111640020B (zh) * 2020-05-22 2023-09-19 百度在线网络技术(北京)有限公司 区块链中事务请求处理方法、装置、设备和介质
WO2022010289A1 (ko) * 2020-07-10 2022-01-13 주식회사 미디움 하이퍼레저 패브릭 구조에서 피어 단말기에 수신된 블록 데이터를 처리하는 방법
US11875178B2 (en) * 2020-07-30 2024-01-16 Oracle International Corporation Using multiple blockchains for applying transactions to a set of persistent data objects in persistent storage systems
US11356506B2 (en) 2020-10-01 2022-06-07 Bank Of America Corporation System for optimizing data acceptance and data storage in a distributed computing network
US11743327B2 (en) * 2021-02-05 2023-08-29 International Business Machines Corporation Topological ordering of blockchain associated proposals
US11494347B1 (en) 2021-05-05 2022-11-08 Oracle International Corporation Efficient update-anywhere replication of queue operations on a replicated message queue
RU210695U1 (ru) * 2022-02-18 2022-04-27 Общество с ограниченной ответственностью "Сектор Энерго" Траверса сборная изоляционная
CN114979148B (zh) * 2022-06-16 2023-07-14 中国联合网络通信集团有限公司 数据传输方法、装置及计算机可读存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956772A (en) * 1981-04-01 1990-09-11 Teradata Corporation Methods of selecting simultaneously transmitted messages in a multiprocessor system
US6272515B1 (en) * 1996-07-11 2001-08-07 Alstom Method of scheduling distributed transactions
US20160261404A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
WO2017027648A1 (en) * 2015-08-11 2017-02-16 Jeff Stollman System and methods to ensure asset and supply chain integrity
US20170109734A1 (en) * 2015-10-15 2017-04-20 Paypal, Inc. Crypto currency chargeback system
US20170149819A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network
WO2017098519A1 (en) * 2015-12-08 2017-06-15 Tallysticks Limited A system and method for automated financial transaction validation, processing and settlement using blockchain smart contracts

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5655096A (en) * 1990-10-12 1997-08-05 Branigin; Michael H. Method and apparatus for dynamic scheduling of instructions to ensure sequentially coherent data in a processor employing out-of-order execution
US6061449A (en) 1997-10-10 2000-05-09 General Instrument Corporation Secure processor with external memory using block chaining and block re-ordering
US6988183B1 (en) 1998-06-26 2006-01-17 Derek Chi-Lan Wong Methods for increasing instruction-level parallelism in microprocessors and digital system
US9875510B1 (en) * 2015-02-03 2018-01-23 Lance Kasper Consensus system for tracking peer-to-peer digital records
AU2016307202A1 (en) 2015-05-26 2017-12-07 Tzero Ip, Llc Obfuscation of intent in transactions using cryptographic techniques
WO2017021155A1 (en) * 2015-07-31 2017-02-09 British Telecommunications Public Limited Company Controlled resource provisioning in distributed computing environments
US11625785B2 (en) * 2017-06-05 2023-04-11 Chicago Mercantile Exchange Inc. Secure electronic tokens in an electronic tokening system

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4956772A (en) * 1981-04-01 1990-09-11 Teradata Corporation Methods of selecting simultaneously transmitted messages in a multiprocessor system
US6272515B1 (en) * 1996-07-11 2001-08-07 Alstom Method of scheduling distributed transactions
US20160261404A1 (en) * 2015-03-02 2016-09-08 Dell Products L.P. Methods and systems for obfuscating data and computations defined in a secure distributed transaction ledger
WO2017027648A1 (en) * 2015-08-11 2017-02-16 Jeff Stollman System and methods to ensure asset and supply chain integrity
US20170109734A1 (en) * 2015-10-15 2017-04-20 Paypal, Inc. Crypto currency chargeback system
US20170149819A1 (en) * 2015-11-25 2017-05-25 International Business Machines Corporation Resisting replay attacks efficiently in a permissioned and privacy- preserving blockchain network
WO2017098519A1 (en) * 2015-12-08 2017-06-15 Tallysticks Limited A system and method for automated financial transaction validation, processing and settlement using blockchain smart contracts

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ANDREAS M. ANTONOPOULOS: "Mastering Bitcoin - Unlocking Digital Cryptocurrencies", pages: 173 - 214 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112256476A (zh) * 2020-09-27 2021-01-22 陕西医链区块链集团有限公司 基于区块链的数据操作方法、装置、设备及介质
CN112256476B (zh) * 2020-09-27 2024-04-16 陕西医链区块链集团有限公司 基于区块链的数据操作方法、装置、设备及介质
CN112287400A (zh) * 2020-09-29 2021-01-29 卓尔智联(武汉)研究院有限公司 超级账本中的交易排序方法、装置和计算机设备

Also Published As

Publication number Publication date
US10679210B2 (en) 2020-06-09
BR112019027873B1 (pt) 2021-12-21
US20180374086A1 (en) 2018-12-27
CN110741342B (zh) 2023-10-31
WO2019002004A1 (en) 2019-01-03
BR112019027873A2 (pt) 2020-07-07

Similar Documents

Publication Publication Date Title
CN110741342A (zh) 区块链交易提交排序
US11042873B2 (en) Blockchain: automatic fork protection
JP7059370B2 (ja) ブロックチェーン上の大量トランザクション性能を最適化するための方法、装置、コンピュータ・プログラムおよびコンピュータ・プログラムを記録したコンピュータ可読記憶媒体
US11327814B2 (en) Semaphores for serverless computing
US10360191B2 (en) Establishing overlay trust consensus for blockchain trust validation system
CN108055343B (zh) 用于机房的数据同步方法及装置
US8904393B2 (en) Transaction aggregation to increase transaction processing throughput
US7546393B2 (en) System for asynchronous DMA command completion notification wherein the DMA command comprising a tag belongs to a plurality of tag groups
US8572614B2 (en) Processing workloads using a processor hierarchy system
CN104049955A (zh) Cache一致性多级流水线处理方法及装置
US11341842B2 (en) Metering data management system and computer readable recording medium
US20150363414A1 (en) Processing large xml files by splitting and hierarchical ordering
CN111857995A (zh) 进程调度方法和装置、存储介质及电子装置
US20190050275A1 (en) Method for managing control-loss processing during critical processing sections while maintaining transaction scope integrity
CN112764897B (zh) 任务请求的处理方法、装置、系统及计算机可读存储介质
US11061720B2 (en) Processing system and method of detecting congestion in processing system
US11150902B2 (en) Processor pipeline management during cache misses using next-best ticket identifier for sleep and wakeup
US9678748B2 (en) Methods, systems and computer-readable media for managing a local stack
US10528253B2 (en) Increased bandwidth of ordered stores in a non-uniform memory subsystem
KR20100054734A (ko) 리퀘스트 순서 제어 시스템, 리퀘스트 순서 제어 방법 및 리퀘스트 순서 제어 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
US20240098036A1 (en) Staggered payload relayer for pipelining digital payloads across network services
US11194665B2 (en) Systems and methods for seamless redelivery of missing data
US20170090998A1 (en) Accomodating synchronous operations in an asynchronous system
JP2017091213A (ja) データベース更新処理システムおよびデータベース更新処理方法
CN115098281A (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