CN113841359A - 用于在区块链网络中传播区块的方法和装置 - Google Patents

用于在区块链网络中传播区块的方法和装置 Download PDF

Info

Publication number
CN113841359A
CN113841359A CN202080035859.XA CN202080035859A CN113841359A CN 113841359 A CN113841359 A CN 113841359A CN 202080035859 A CN202080035859 A CN 202080035859A CN 113841359 A CN113841359 A CN 113841359A
Authority
CN
China
Prior art keywords
transactions
block
mining
message
transaction
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
CN202080035859.XA
Other languages
English (en)
Inventor
A·麦凯
张伟
C·S·赖特
S·P·科赫兰
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 CN113841359A publication Critical patent/CN113841359A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/3236Cryptographic 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
    • 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/3827Use of message hashing
    • 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
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • 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/22Payment schemes or models
    • G06Q20/223Payment schemes or models based on the use of peer-to-peer networks
    • 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/3825Use of electronic signatures
    • 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/3236Cryptographic 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
    • H04L9/3239Cryptographic 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 involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3265Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate chains, trees or paths; Hierarchical trust model
    • 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
    • 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

Abstract

用于在区块链网络中传播区块的方法和装置。在挖矿节点处,在对第一候选区块的第一区块头进行哈希处理时,挖矿节点向其他挖矿节点发送第一消息,该第一消息指定包含在第一候选区块中的交易的第一有序集中的交易及其顺序。挖掘还接收第二消息,该第二消息指定包含在由第二挖矿节点正在挖掘的第二候选区块中的第二有序集中的交易及其顺序。如果挖矿节点成功挖掘到候选区块,它会通过向其他挖矿节点提供创币交易、哈希值和时间戳来通知其他挖矿节点。如果另一个挖矿节点成功,则该挖矿节点接收来自其他挖矿节点的信息,该挖矿节点可以根据该信息结合第二消息的组装第二候选区块并对其进行验证。

Description

用于在区块链网络中传播区块的方法和装置
技术领域
本公开涉及区块链网络,尤其涉及区块在矿工节点之间的传播。
背景技术
在工作量证明区块链系统中,矿工在发现有效区块时,试图将其成功快速传送给所有其他矿工。这涉及通过区块链网络向所有挖矿节点传播有关该区块的信息。在某些情况下,这可能涉及发送完整的区块数据。在某些情况下,这可能涉及发送区块头和交易列表信息。接收矿工通过哈希处理区块头并确认它与成功的矿工提供的哈希值匹配来验证新区块。
随着区块的大小和交易数量的增加,区块传播中的延迟会加剧临时分叉和孤块的问题。这些情况对矿工和整个系统来说都是代价高昂的。
附图说明
现在将通过示例的方式参考示出本申请的示例实施例的附图,其中:
图1示出了区块链网络的示例区块结构;
图2示出了区块传播的示例方法的流程图;
图3A-3I示意性地示出了根据本申请的区块传播的示例实现方式中的消息和操作的序列;以及
图4以框图形式示出了挖矿节点的简化示例。
在附图中使用相同的附图标记来表示相同的元素和特征。
具体实现方式
在一个方面,可以提供一种在区块链网络中进行区块传播的计算机实现的方法。该方法可以包括:在第一挖矿节点处对第一候选区块的第一区块头进行哈希处理的同时,向其他挖矿节点发送第一消息,该第一消息指定包含在第一候选区块中的第一有序集中的交易及其顺序;以及接收第二消息,该第二消息标识包含在由第二挖矿节点正在挖掘的第二候选区块中的第二有序集中的交易及其顺序。
在一些实现方式中,接收第二消息包括将交易的第二有序集与第二挖矿节点标识符相关联地存储在第一挖矿节点处的存储器中。
在一些实现方式中,该方法还可以包括:从第二挖矿节点接收用于指示成功完成关于第二候选区块的工作量证明的创币交易和第二区块头信息,其中,该第二区块头信息至少包括时间戳和随机数;基于交易的第二有序集、创币交易和第二区块头信息组装第二区块头;以及通过对第二区块头进行哈希处理以验证工作量证明来验证第二候选区块。在某些情况下,组装包括:从交易的第二有序集和创币交易确定默克尔(Merkle)根。
在一些实现方式中,该方法还可以包括:通过对第一区块头进行哈希处理以产生小于难度阈值的哈希值来找到与第一候选区块的第一区块头中的随机数相关联的工作量证明,从而向其他挖矿节点发送来自第一候选区块的创币交易和第一区块头信息,其中,第一区块头信息至少包括时间戳和随机数;以及将第一候选区块添加到区块链的本地副本。在某些情况下,第一区块头信息至少排除一些区块头字段。在某些情况下,第一挖矿节点在找到工作量证明后不会将交易的第一有序集重新发送到其他挖矿节点。
在一些实现方式中,该方法可以包括:首先通过从内存池中选择交易并对其进行排序以创建交易的第一有序集并添加创币交易来构建第一候选区块。
在一些实现方式中,第一消息包括基于第一挖矿节点标识符和区块级别指示符的第一模板标识符。在一些示例中,第一模板标识符是从如下串连的哈希运算中获得的:(a)第一挖矿节点标识符和(b)与区块链中的前一个区块相关联的哈希值的串连。
在一些实现方式中,第一消息和第二消息包含压缩的交易标识符,其用于指定交易的第一有序集中的交易和交易的第二有序集中的交易。在一些示例中,压缩的交易标识符是截断的交易标识符。
在一些实现方式中,第一消息中交易的第一有序集被加密,并且其中,仅当第一挖矿节点找到针对第一候选区块的工作量证明时才向其他矿工提供用于解密交易的第一有序集的解密密钥。
在另一方面,可以提供一种实现用于在区块链上挖掘区块的第一挖矿节点的计算装置。该计算装置可以包括存储器、一个或多个处理器和计算机可执行指令,该计算机可执行指令在被执行时,使处理器执行本文中描述的方法中的一种或多种。
在又一方面,可以提供一种计算机可读介质,其存储用于实现用于在区块链网络上挖掘区块的第一挖矿节点的处理器可执行指令,该处理器可执行指令包括在由一个或多个处理器执行时,使处理器执行本文描述的至少一种方法的指令。
通过结合附图审阅以下详细描述,本公开的其他示例实施例对于本领域普通技术人员而言将是显而易见的。
在本申请中,术语“和/或”旨在涵盖列出的元素的所有可能组合和子组合,包括单独列出的元素中的任何一个、任何子组合或所有元素,并且不必排除附加元素。
在本申请中,短语“…或…中的至少一个”旨在涵盖列出的元素中的任何一个或多个,包括单独列出的元素中的任何一个、任何子组合或所有元素,而不必排除任何附加元素,也不必需要所有元素。
本申请将涉及哈希处理或哈希函数,其旨在包括多个加密哈希函数中的任何一个,这些加密哈希函数在应用于任意的数据或“消息”集合时,确定性地产生唯一的固定长度的字母数字字符串。哈希函数的结果可以称为哈希值、指纹、哈希结果或等价物。示例包括但不限于SHA-2、SHA-3和BLAKE2。以下任何提及“矿工对区块或候选区块进行哈希处理”将被理解为意味着将加密哈希函数应用于候选区块的区块头部分。
在本文档中,术语“区块链”被理解为包括所有形式的电子的基于计算机的分布式账本(ledger)。这些包括基于共识的区块链和交易链技术、许可的和未被许可的账本、共享账本及其变型。尽管已经提出并开发了其他区块链实现方式,但是区块链技术最广为人知的应用是比特币账本。尽管为了方便和说明的目的在本文中可能提及比特币,如通过比特币SV协议进行示例说明,但是应当注意,本发明不限于与比特币区块链一起使用,并且替代的区块链实现和协议落入本发明的范围内。
区块链是一种点对点的电子分类帐,其实现为基于计算机的去中心化的分布式系统,该系统由区块组成,而区块又由交易组成。每个交易是一种数据结构,该数据结构对区块链系统中参与者之间的数字资产的控制权的转移进行编码,并包括至少一个输入和至少一个输出。每个区块都包含前一个区块的哈希值,因此区块被链接在一起来创建所有交易的永久、不可更改的记录,这些交易自其开始就已经被写入区块链。交易包含嵌入到其输入和输出中的称为脚本的小程序,这些小程序指定如何以及由谁可以访问交易的输出。在比特币平台上,这些脚本是使用基于堆栈的脚本语言编写的。
区块链是在节点网络上实现的。每个节点都是具有网络连接性和执行软件的计算装置,该软件执行适用的区块链协议。节点验证交易并将它们传播到网络中的其他节点。专门的网络节点(称为“挖矿节点”或“矿工”)将未确认的交易(即,待定交易)的集合收集到区块中并尝试“挖掘”该区块。在这些示例中,挖掘是指在网络中的任何其他矿工成功解答其相应的区块的工作量证明之前解答工作量证明(POW)。在比特币示例中,POW涉及对包含随机数的区块头进行哈希处理,直到结果小于通过难度参数设置的阈值。反复地递增随机数并重复哈希处理,直到结果小于阈值为止或直到矿工接收到另一个矿工已经成功的通知为止。挖掘过程的变化对于本领域普通技术人员来说是熟悉的。
典型的区块包含两个数据结构:区块头和交易。图1以图表方式示出了来自比特币协议的示例区块结构100。区块结构100包括区块头102和有效载荷(payload)104。该示例中的区块头102包括针对版本号106、前一个区块哈希值108、默克尔根110、时间戳112、目标难度参数114和随机数116的字段。前一个区块哈希值108将该区块链接到链中的前一个区块,从而产生“区块链”结构,其通过加密哈希将相继的区块链接在一起。默克尔根110指的是基于区块中包含的所有交易的默克尔树结构。随机数116是任意值,挖矿节点可以重复递增或递减该任意值来改变区块头102的内容,以便在挖掘时产生不同的哈希结果。
有效载荷104包括交易计数值118和交易列表120。在一些实现方式中,交易列表120可以是交易ID号的列表。
当挖矿节点成功找到产生小于阈值的哈希结果的区块头时,它继续使用包括成功的哈希结果值的更新后的库存消息(inventory message)通知其他节点。然后其他节点请求新区块的副本并独立地验证其有效性。
区块链生态系统日益成熟以通过交易量的大量增加以及由此区块大小的大量增加来提供增加的可用性。随着区块变得更大(在某些情况下超过128MB),将成功挖掘到的新区块传播到整个网络的其他节点花费更多的时间。传播的延迟是有代价的。首先,不知道已成功挖掘到的区块已被创建的矿工将继续尝试挖掘他们自己的候选区块,如果新区块被证明是有效的,这会白费力气。其次,传播和验证的延迟可能导致(临时)分叉和孤块的可能性增加。
将理解的是,在许多区块链协议中,矿工不发送区块的完整副本,而是在库存消息中发送哈希结果。接收挖矿节点确定他们尚未看到这个所谓的新区块并向成功的矿工发送GETBLOCK或GETDATA消息。成功的矿工不会发送区块的完整副本,而是发送区块头、来自有效载荷的交易计数字段以及区块中包括的有序的交易列表。有序列表可以包括交易的完整交易ID号(TXID)的集合。在一些实施例中,TXID可以是固定长度的交易哈希。例如,TXID可以是通过使用SHA-256对交易进行哈希处理获得的256位(32字节)编号。接收节点可以通过其TXID从内存池中检索标识出的交易来重组完整区块。
然而,随着现代的区块大小增长到128MB并且超过要传输的数据的大小,如果交易的计数很大,则其可能仍然是想到数量的。例如,包含50万笔交易的区块将具有16MB的TXID有序列表。
因此,一方面,本申请描述了用于区块链网络的方法和系统,其中挖矿节点在对其候选区块进行哈希处理的同时向其他矿工提供关于其相应的候选区块的信息。以这种方式,每个矿工利用发现成功的区块之间的时间延迟向其他矿工提供有关候选区块结构和内容的详细信息,在比特币的示例中该时间延迟约为10分钟。通过提前提供该信息,当找到成功的区块时,成功的矿工只需要发送来自区块头的信息,在某些情况下,还需要发送创币交易,以确保所有其他节点可以组装和验证完整的新区块。该数据可能只有几百字节。这提高了成功的新区块传播通过全网络的速度。
将理解的是,未确认的交易通过包括在有效区块中而在被确认之前通过节点网络传播和验证。在该未确认的状态期间,未确认的交易保存在存储器中。该存储器可称为“内存池”。在某些实现方式中,每个矿工可以维护自己的内存池副本,可以从中选择交易集来组装候选区块。在一些替代架构中,内存池可以实现为跨多个节点的分布式内存池。在某些架构中,区块链网络可采用专门的节点来管理内存池并为挖矿节点提供交易,以将交易包括在候选区块中。本申请考虑了将描述的方法和装置与区块链网络架构中的任何此类变化一起使用。为了解释的简单起见,这里假设每个挖矿节点都维护自己的未确认的交易的内存池。
挖矿节点将内存池用作用于构建候选区块的新交易的来源。挖矿节点还可以在验证来自另一个矿工的新区块时使用内存池,因为每个区块都包含有序的交易列表。有序列表可以通过唯一的交易标识符(如,TXID)来标识交易。因此,接收挖矿节点从有序列表检索交易,根据区块级别标准验证区块,并根据交易级别标准验证交易。通过这种方式,矿工防止双重支付(double-spend)攻击和其他攻击。
为了说明本申请的一个方面,现在参考图2,其以流程图的形式示出了区块链挖掘的一个示例方法200。该方法200由挖矿节点实现。挖矿节点可以在计算装置上实现,该计算装置可以包括一个或多个处理单元。如本领域技术人员将理解的,处理单元可以包括具有专用硬件的专用处理单元,该专用硬件被设计为以显著的速度和效率执行与区块链挖掘相关联的计算操作。然而,处理单元也可以或替代地包括通用计算装置。该计算装置包括处理器可执行软件,该软件包括在被执行时使一个或多个处理单元执行描述的操作的处理器可读指令。计算装置包括存储器和与关联的硬件和软件的网络连接,该网络连接用于根据适用的网络协议获得网络连接并发送和接收消息。
该方法200包括:在操作202中,从未确认的交易的内存池选择交易集以构建候选区块。该选择可以基于交易的年代、为挖掘交易而应付的费用或任何其他因素。这些交易形成有序的交易列表。挖矿节点还基于有序的交易列表确定默克尔根并形成区块头,包括为区块头中的随机数设置初始值。
在操作204中,作为搜索满足难度设置条件的POW的一部分,挖矿节点开始对区块头进行重复哈希处理并开始对随机数进行递增。在针对其候选区块搜索POW的同时,挖矿节点将有关其有序的交易列表的信息发送到其他挖矿节点,如操作206所示。在操作204进行的同时,挖矿节点还接收来自其他挖矿节点的消息,其包括关于这些挖矿节点正在处理的候选区块中的相应的有序的交易列表的信息,如操作208所示。应当理解,虽然依次示出了操作204、206和208,但它们通常并行发生。从其他矿工接收到的有关相应的有序的交易列表的信息由挖矿节点存储在本地。挖矿节点可以将信息存储在表中或其他数据结构中。
继续搜索POW,直到挖矿节点成功地找到POW为止(如操作210所示),或者直到从另一个挖矿节点接收到其已找到POW的通知为止(如操作212所示)。如果挖矿节点找到POW,则在操作214中,它向其他挖矿节点发送一些区块头信息以传播该区块详细信息。值得注意的是,不需要发送有效载荷。但是,可以发送创币交易(coinbase)。
如果挖矿节点接收到来自另一个挖矿节点的区块头信息,则在操作216中,其基于存储的该挖矿节点的有序的交易列表组装新区块。如果接收到创币交易,则该交易被添加到区块,挖矿节点可以构造默克尔树以确认默克尔根有效。然后在操作218中,挖矿节点验证新区块,如果无效,它可以丢弃新区块并继续搜索它自己的POW。请注意,可能存在某些有效性检查,如果失败,可以提示挖矿节点采取其他动作,例如从成功的挖矿节点请求附加数据,如后文所述。如果该区块被验证通过,则在操作220中,将其添加到区块链并传播到其他挖矿节点。然后,挖矿节点返回到操作202以构建新的候选区块并重新开始搜索。
将理解的是,描述的预分发候选区块信息以便每个矿工知道各个其他矿工的有序的交易列表的方法确保在找到POW之后仅需要传播最少量的信息。这确保了挖矿节点尽快获得验证新区块所需的信息,从而在另一个矿工已经成功的情况下减少浪费在搜索POW上的时间。挖矿节点具有充分的动机尽可能快地传播和验证新区块,以便他们可以继续搜索下一个区块。在相继区块之间的大约10分钟的时间段期间预分发有序的交易列表时,由于网络延迟而导致的潜在延迟不太受到关注。
在一个示例实现方式中,可以通过将排序信息添加到交易数据包将来自候选区块的有序的交易列表传送给另一个矿工。每个矿工都能够唯一地标识各个其他矿工。在一个示例实现方式中,可以发送如下消息,该消息唯一地标识矿工和矿工正在工作的区块级别,并按顺序列出该矿工的候选区块的TXID。
在另一个示例实现方式中,消息传递协议可以提供将交易附加到矿工的有序列表、从有序列表移除或删除交易、用另一个交易替换交易或对交易进行重新排序。在正常过程中,矿工很可能只使用指定有序的交易列表的“添加”消息。但是,存在矿工可能希望移除或替换交易的一些情况。例如,后续接收到的信息可能指示与交易之一有关的潜在双重支付或与其有效性有关的一些其他潜在问题。作为另一个示例,矿工可能循环遍历随机数的所有增量,并且可能希望重新排序或以其他方式调整交易以改变默克尔根,从而改变区块头以继续挖掘区块。消息结构的精确格式可能因实现方式而异。
可以通过缩短TXID字符串来实现区块传播消息的进一步压缩。在一些示例中,TXID是32字节的字符串。然而,在某些情况下,可以使用压缩的TXID,其依赖于仅发送TXID的一部分。在一个示例中,仅发送前八个字节。
尽管不能保证TXID的前8个字节唯一地标识交易,但是两个TXID冲突的可能性,无论是在单个消息中还是在一般情况下都是很小的。鉴于SHA256输出的是伪随机256位字符串,两个随机TXID冲突的确切可能性,即,任意两个TXID具有相同的前4个字节的可能性为:
Figure BDA0003352463720000081
其中,TXIDi[0:n]表示‘TXIDi的前n个字节’。此外,包含N个压缩的TXID的消息将包含一个或多个冲突的可能性可以表示为:
Figure BDA0003352463720000082
作为示例,如果区块包含一百万个交易,使得消息包含一百万个压缩的TXID(N=1,000,000),那么冲突的可能性是:
P(1,000,000TxIDs中>0个冲突)=0.0000000271
该概率非常小,即使发生冲突,消息接收方也可以简单地请求未压缩形式的同一消息。或者,发送挖矿节点可以在发送之前首先进行检查以确认压缩的TXID的有序集合不包含任何冲突,如果检测到任何冲突,则发送具有未压缩的TXID的消息。消息中的标志或其他信号可以指示有效载荷中的TXID是压缩格式还是未压缩格式。
根据本文描述的过程,区块链网络中涉及的每个矿工可以接收来自各个其他矿工的消息,该消息指定包含该其他矿工的候选区块的有序的交易列表。为了跟踪该信息,每个矿工可以存储与相应的矿工身份相关联的有序列表。矿工身份可以由IP地址或某个其他的唯一标识符确定。在一个示例实现方式中,每个矿工维护表或类似的数据结构,其中每一行与内存池中的交易之一相关联,而每一列与网络中的矿工相关联。然后,可以将顺序信息存储在表的单元格中,为每个矿工指示矿工在其候选区块中排列交易的顺序。将理解的是,并非所有交易都具有顺序值,因为并非所有交易都包括在每个候选区块中。下表示出了矿工排序数据表的一个简化示例:
TXID矿工ID A B C D
TX<sub>1</sub> 1 2 1 1
TX<sub>2</sub> 2 1 3 4
TX<sub>3</sub> 3 3 2 2
TX<sub>4</sub> 4 4 4 5
TX<sub>5</sub> 5 5 5 3
在这个简化的示例表中,有矿工ID为A、B、C和D的四个矿工。每个矿工都接收到并验证了交易TX1、TX2、TX2、TX3、TX4和TX5。可以更新该表以将交易添加到矿工的有序列表,将顺序中的交易替换为另一个交易,或者从有序列表中删除交易,这可能导致调整该有序列表中剩余交易的排序。
当矿工(例如,矿工A)接收来自例如矿工C的、指示已经找到区块的区块头消息时,矿工A基于TXID和为矿工C指定的顺序构建默克尔树。矿工A对该区块头进行哈希处理以验证哈希值。如果区块被验证通过,则矿工A以指定的顺序构造具有交易数据的完整区块,将其添加到区块链,并构建新的候选区块以继续挖掘。
在一些示例实现方式中,成功的矿工发送的区块头不包含所有字段。例如,成功的矿工发送的区块头可能只包含随机数和时间戳以及矿工C在对完整区块头进行哈希处理时获得的哈希值。接收矿工可以添加缺失的字段,例如版本、prev_block哈希、矿工已经计算出的默克尔根和难度设置。然后,可以通过对重建的区块头进行哈希处理并将其与接收到的哈希值进行比较来验证重建的区块头。
在一些示例实现方式中,一旦构建了候选区块,就自动发送来自矿工的、指示他们相应的候选区块的有序的交易列表的消息。在一些其他示例实现方式中,响应于来自另一个矿工的请求而提供有序列表信息。
在一些实现方式中,可以定义模板标识符TmID。模板标识符特定于矿工和区块级别,以便有效地指代特定的候选区块,即,特定的交易有序列表。来自矿工的与其有序的交易列表相关的任何消息都可以包括模板标识符,以确保接收矿工将改变与正确的特定有序交易列表相关联。在一个实现方式中,模板标识符可以是区块头中的矿工标识符(minerID)和前一个区块(prev_block)字段的哈希,即,前一个区块的哈希:
TmID=H(prev block||miner ID)
这将模板标识符与区块级别和特定矿工联系起来。
与有序的交易列表相关的每个消息可以包括模板标识符,并且还可以包括序列号。序列号可以是无符号整数值,用于指示来自一个矿工的消息相对于彼此的顺序。排序有助于消息接收方在某些消息未接收到或被无序接收的情况下唯一地确定针对特定矿工的TXID定序。
如上所述,矿工ID可以是挖矿节点的IP地址或挖矿节点的某个其他唯一标识符。在一些实施例中,当矿工连接到网络时,可能发生初始认证操作,这导致将唯一的矿工ID与该挖矿节点相关联。认证操作可以包括握手操作,其中每个矿工提供公钥和数字签名。认证与数字签名的验证有关。在某些情况下,矿工ID可以基于公钥、数字签名或其某个组合。
在某些情况下,认证阶段的握手操作可能包括在矿工之间建立共享密钥。存在许多用于建立共享密钥的技术。后续的消息传递(例如,与有序的交易列表相关的消息传递)可以被加密,以用于机密性并减少中间人对挖掘过程的攻击的可能性。
在一些实施例中,挖矿节点在加入网络并打开彼此的对等连接之后执行认证程序。认证程序可以涉及发送认证质询消息以及接收认证响应。未能接收到有效的认证响应可能导致挖矿节点关闭或断开到其他挖矿节点的连接。在某些情况下,挖矿节点可以具有不同于其通常的公共网络连接的针对经认证的连接的端点。
在一个示例实现方式中,认证质询消息包括请求挖矿节点向响应挖矿节点发送消息。该消息是响应挖矿节点先前没有看到的消息。在某些情况下,该消息可能是随机代码或字符串。消息的内容并不重要,但响应挖矿节点之前应该没有看到该内容,因此响应挖矿节点无法重复使用先前生成的材料。
在接收到认证质询消息时,响应挖矿节点将接收到的消息与随机数值串接起来。随机数值可以由响应挖矿节点使用任何伪随机过程生成。然后,响应挖矿节点使用先前发布的公钥-私钥对的私钥对串连的随机数和消息进行签署。在这些示例中,公钥-私钥对与矿工身份相关。在某些情况下,公钥可以是区块链网络上的通信中使用的矿工ID。请求挖矿节点可以具有加入区块链网络的挖矿节点的矿工ID(公钥)的白名单或其他记录。
一旦响应挖矿节点使用其私钥对串连的随机数和消息进行了签署,它就生成并发送认证响应消息。认证响应消息可以包括公钥(例如,矿工ID)、使用的随机数值和生成的数字签名。请求挖矿节点接收认证响应消息,并可以使用公钥验证该挖矿节点是该公钥的所有者,并且该公钥与对应于特定挖矿节点的白名单上的密钥匹配。
认证响应消息可以与对应的认证质询消息一起发送,以便响应挖矿节点可以反向认证请求挖矿节点的身份。
在一个示例中,认证质询消息的格式可以是以下形式:
###‘authchallenge’
version:varint,
message_length:varint,
message:byte[]
在一个示例中,认证响应消息的格式可以采用以下形式:
###‘authresponse’
public_key_length:byte,
public_key:byte[],
client_nonce:byte[32],
signature_length:byte,
signature:byte[]
在一些实现方式中,公钥是secp256k1椭圆曲线上的ECDSA密钥。签名可以是来自认证质询消息的随机数值和消息字段的内容的串连上的签名。取决于实现方式,串连可以是(随机数|消息)或(消息|随机数)。
现在参考图3A-3I,图3A-3I示意性地示出了根据本申请的实现方式的两个矿工的示例操作状态及其之间的消息传递流。
在图3A中,将看到第一矿工302(即,矿工A)和第二矿工304(即,矿工B)是区块链网络的一部分,并且存在现有的区块链306。在该示例中,第一矿工302和第二矿工304两者都具有区块链306的本地存储副本。区块链306具有特定的“高度”或区块级别。
如图3B所示,矿工302、304均从它们相应的内存池中选择交易集来构建候选区块。具体地,第一矿工302构建包含第一有序交易集的第一候选区块308,第二矿工304构建包含第二有序交易集的第二候选区块310。第一有序集和第二有序集可能包含或可能不包含相同的交易,并且可能使或可能不使交易具有相同或部分相同的顺序,这是因为矿工302、304可以自由地从内存池中选择他们希望的任何交易并按照他们希望的任何顺序对交易分组。
如图3C所示,矿工302、304开始挖掘相应的候选区块308、310,以尝试找到如下随机数,该随机数将导致区块头的哈希小于通过难度设置的阈值。
在搜索成功的工作量证明期间,矿工302、304交换关于其相应的候选区块308、310中的有序交易集的信息。如图3D所示,第一矿工302可以将“添加”消息312发送到第二矿工304,提供来自第一候选区块308的第一有序交易列表。根据该信息,第二矿工304可以构建第一候选区块308的模板314。在一些示例实现方式中,模板314可能是TXID形式的第一有序交易列表。在一些示例实现方式中,模板314可以是表,上面提供了其示例。在其他示例实现方式中,模板314可以是完整候选区块的副本,不包括某些不可用的头字段,但包括完整的交易数据。
以类似的方式,第二矿工304可以将包含来自第二候选区块310的第二有序交易列表的“添加”消息316发送至第一矿工302,如图3E所示。根据该数据,第一矿工302构建第二候选区块310的模板318。现在每个矿工具有他们各自继续挖掘的他们自己的候选区块,以及另一个矿工正在处理的候选区块的模板。
图3F示出了第一矿工302已成功找到满足工作量证明要求的区块头哈希。因此,在其区块头中具有最近测试的随机数的第一候选区块308产生有效区块。然后,图3G和图3H示出了第一矿工302将新区块322添加到区块链306并发送包含创币交易320的消息和包含区块头信息324的消息。区块头信息324至少包括随机数和时间戳。区块头信息可能会还包括或可能不会包括其他区块头字段,例如,默克尔_根(merkle_root)字段。在某些情况下,这可以作为区块头信息324的一部分发送,尽管它可以由第二矿工304计算,以使第二矿工304能够双重检查其默克尔根计算。在某些情况下,第一矿工302向第二矿工304发送新区块322的完整区块头。第一矿工302也可以向第二矿工304发送从对区块头进行哈希处理获得的哈希值,以便第二矿工304可以不仅验证哈希小于难度阈值,而且验证它与第一矿工302声称已经找到的哈希匹配。哈希值可以在创币交易消息320、区块头信息消息324或单独的消息中发送。
一旦第二矿工304具有创币交易,它就可以完成第一候选区块的模板314的交易部分,因此可以计算默克尔根。根据该计算,它可以验证merkle_root字段是否准确,该字段是否包括在区块头信息消息324中。如果没有,则它可以完成merkle_root字段和任何其他缺失的字段,例如版本、prev_block值和位字段,以便针对新区块322组装区块头326。区块头326的其他字段(如随机数和时间戳)由区块头信息消息324提供。然后,第二矿工304可以通过对组装后的区块头326进行哈希处理来验证新区块。
假设第二矿工304处组装后的区块被验证通过,则第二矿工304将该新区块322添加到其区块链306的副本,如图3I所示。
虽然上述序列示出了在区块头信息消息324之前发送创币交易消息320,但是将理解的是,在一些实现方式中,可以首先发送区块头信息消息324,或者两个消息可以组合成单个消息。可以在不改变描述的系统和方法的整体功能操作的情况下对特定实例的操作顺序或实现细节进行其他变化。
区块链网络领域的技术人员可以理解的是,在某些情况下,可以比预期更早地挖掘区块。例如,在比特币中,难度设置提供大约每十分钟发现有效区块,但该定时不确定。有可能更早地找到有效区块。此外,传播交易或交易排序信息的一些消息在通过网络传播时可能遇到网络延迟。
因此,尽管不太可能,但以下这样的可能性仍然存在:矿工找到有效区块并将区块头信息发送到其他矿工,但这些矿工中的至少一个不具有该区块中包括的所有交易或具有成功的矿工的不完整或不正确的有序的交易列表。当该矿工尝试验证新区块头的默克尔根字段时,将发现不匹配,因此该区块被视为无效。一个选择是矿工认为该区块无效并丢弃它。然而,在另一个实施例中,矿工可以向成功的矿工发送针对默克尔叶集(即,TXID的有序列表)的请求消息。在接收到发送的叶子后,矿工于是可以确定默克尔根计算中的错误发生在哪里。如果原因是不正确或不完整的交易排序,则矿工可以更新排序并验证新区块。如果原因是交易缺失,则矿工可以请求新交易并继续验证过程。请注意,在一些实施例中,如果接收另一个矿工的候选区块的有序的交易列表的矿工发现其内存池中没有TXID之一,则可以在成功发现区块之前检测到缺失的交易。在这种情况下,接收矿工可以请求该交易的副本并更新其内存池。
在一些实现方式中,一个或多个矿工可能希望保持对其交易选择和排序一定的机密性。在这样的实现方式中,矿工在挖掘阶段期间分发有序的交易列表时有可能对其进行加密。如果找到有效区块,则矿工将解密密钥与区块头信息和/或创币交易一起分发,从而允许接收矿工解密有序的交易列表并验证新区块。
下表描述了针对用于在矿工之间传播有序交易列表的消息传递的一个说明性实现方式的一个示例消息集:
Figure BDA0003352463720000141
Figure BDA0003352463720000151
Figure BDA0003352463720000161
接收矿工修改与消息中的模板标识符对应的候选区块模板。对于特定模板标识符,可以对根据序列号无序接收到的消息排队,直到接收到干预消息为止。
很可能,接收矿工在其内存池中具有对应于TXID的适用交易,但如果交易缺失,则它可以请求任何缺失交易的副本。
应当理解,上述说明性消息传递协议是一个示例实现方式。
应当理解,各种上述示例方法的上述操作中的一些或全部可以按照不同于所示出的顺序执行和/或可以在不改变那些方法的整体操作的情况下同时执行。
现在参考图4,其以框图形式示出了根据本申请的示例的简化挖矿节点400。该挖矿节点400包括处理器402,其可以包括一个或多个微处理器、专用集成电路(ASIC)、微控制器或类似的计算机处理装置。该挖矿节点400还可以包括存储器404和网络接口606,该存储器可以包括持久性和非持久性存储器以存储值、变量以及在某些情况下还包括处理器可执行程序指令。
挖矿节点800可以包括处理器可执行区块链应用408,其包含处理器可执行指令,这些指令在被执行时使处理器402执行本文所述的一个或多个功能或操作。
以上呈现的各种实施例仅是示例并且绝不意味着限制本申请的范围。本文描述的创新的变化对于本领域普通技术人员来说将是显而易见的,这样的变化在本申请的预期范围内。特别地,可以选择来自上述示例实施例中的一个或多个的特征来创建替代示例实施例,其包括可能未在上文明确描述的特征的子组合。此外,可以从一个或多个上述示例实施例中选择特征并将其组合以创建替代示例实施例,其包括上面可能没有明确描述的特征的组合。本领域技术人员在整体审阅本申请时将容易明白适合于这种组合和子组合的特征。本文和引述的权利要求中描述的主题旨在涵盖和包含所有合适的技术变化。

Claims (15)

1.一种在区块链网络中进行区块传播的计算机实现的方法,包括:
在第一挖矿节点处对第一候选区块的第一区块头进行哈希处理的同时向其他挖矿节点发送第一消息,所述第一消息指定所述第一候选区块中包含的第一有序集中的交易及交易的顺序;以及
接收第二消息,所述第二消息标识第二挖矿节点正在挖掘的第二候选区块中包含的第二有序集中的交易及交易的顺序。
2.根据权利要求1所述的方法,其中,接收所述第二消息包括将交易的第二有序集与第二挖矿节点标识符相关联地存储在所述第一挖矿节点处的存储器中。
3.根据权利要求1或2所述的方法,还包括:
从所述第二挖矿节点接收用于指示成功完成关于所述第二候选区块的工作量证明的创币交易和第二区块头信息,其中,所述第二区块头信息至少包括时间戳和随机数;
基于所述交易的第二有序集、所述创币交易和所述第二区块头信息组装第二区块头;以及
通过对所述第二区块头进行哈希处理以验证工作量证明,来验证所述第二候选区块。
4.根据权利要求3所述的方法,其中,所述组装包括:根据所述交易的第二有序集和所述创币交易确定默克尔根。
5.根据权利要求1所述的方法,还包括首先如下构建所述第一候选区块:从内存池中选择交易并对交易进行排序以创建所述交易的第一有序集,以及添加创币交易。
6.根据权利要求1所述的方法,还包括:
通过对所述第一候选区块的所述第一区块头进行哈希处理以产生小于难度阈值的哈希值,来找到与所述第一区块头中的随机数相关联的工作量证明,从而:
向其他挖矿节点发送来自所述第一候选区块的创币交易和第一区块头信息,其中,所述第一区块头信息至少包括时间戳和所述随机数;以及
将所述第一候选区块添加到所述区块链的本地副本。
7.根据权利要求6所述的方法,其中,所述第一区块头信息至少排除一些区块头字段。
8.根据权利要求6或7所述的方法,其中,所述第一挖矿节点在找到工作量证明后不将所述交易的第一有序集重新发送到其他挖矿节点。
9.根据权利要求1至8中任一项所述的方法,其中,所述第一消息包括基于第一挖矿节点标识符和区块级别指示符的第一模板标识符。
10.根据权利要求9所述的方法,其中,所述第一模板标识符是从如下串连的哈希运算获得的:(a)所述第一挖矿节点标识符和(b)与区块链中的前一个区块相关联的哈希值的串连。
11.根据权利要求1所述的方法,其中,所述第一消息和所述第二消息包含压缩的交易标识符,用于指定交易的第一有序集中的交易和交易的第二有序集中的交易。
12.根据权利要求11所述的方法,其中,所述压缩的交易标识符是截断的交易标识符。
13.根据权利要求1至12中任一项所述的方法,其中,所述第一消息中交易的第一有序集被加密,并且其中,仅当所述第一挖矿节点找到针对所述第一候选区块的工作量证明时才向其他矿工提供用于解密交易的第一有序集的解密密钥。
14.一种计算装置,实现用于在区块链上挖掘区块的第一挖矿节点,所述计算装置包括:
一个或多个处理器;
存储器;
存储在所述存储器中的计算机可执行指令,所述计算机可执行指令在由所述一个或多个处理器执行时,使所述处理器执行根据权利要求1至13中任一项所述的方法。
15.一种计算机可读介质,存储用于实现在区块链网络上挖掘区块的第一挖矿节点的处理器可执行指令,所述处理器可执行指令包括在由一个或多个处理器执行时使所述处理器执行根据权利要求1至13中任一项所述的方法的指令。
CN202080035859.XA 2019-04-12 2020-04-09 用于在区块链网络中传播区块的方法和装置 Pending CN113841359A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1905221.6A GB2582978B (en) 2019-04-12 2019-04-12 Methods and devices for propagating blocks in a blockchain network
GB1905221.6 2019-04-12
PCT/IB2020/053416 WO2020208580A1 (en) 2019-04-12 2020-04-09 Methods and devices for propagating blocks in a blockchain network

Publications (1)

Publication Number Publication Date
CN113841359A true CN113841359A (zh) 2021-12-24

Family

ID=66810050

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202080035859.XA Pending CN113841359A (zh) 2019-04-12 2020-04-09 用于在区块链网络中传播区块的方法和装置
CN202080035860.2A Pending CN113826355A (zh) 2019-04-12 2020-04-10 短交易标识符冲突检测和协调

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202080035860.2A Pending CN113826355A (zh) 2019-04-12 2020-04-10 短交易标识符冲突检测和协调

Country Status (8)

Country Link
US (2) US20220156735A1 (zh)
EP (2) EP3954085A1 (zh)
JP (2) JP2022527610A (zh)
KR (2) KR20210145818A (zh)
CN (2) CN113841359A (zh)
GB (1) GB2582978B (zh)
SG (2) SG11202111214WA (zh)
WO (2) WO2020208580A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2594295A (en) * 2020-04-21 2021-10-27 Nchain Holdings Ltd Block propagation with poisoned transactions in a blockchain network
GB2601539A (en) 2020-12-04 2022-06-08 Nchain Holdings Ltd Methods and systems for streaming block templates with cross-references
GB2601540A (en) 2020-12-04 2022-06-08 Nchain Holdings Ltd Methods and systems for synchronizing a streamed template to a solved block
GB2601538A (en) 2020-12-04 2022-06-08 Nchain Holdings Ltd Methods and systems for compressing transaction identifiers
CN113098677A (zh) * 2021-04-06 2021-07-09 南方科技大学 基于区块链的挖矿方法、装置、计算机设备及存储介质
KR20230153779A (ko) * 2022-04-29 2023-11-07 금오공과대학교 산학협력단 블록체인 무선 통신망을 위한 자동 통합 마이닝 방법

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106100847A (zh) * 2016-06-14 2016-11-09 惠众商务顾问(北京)有限公司 非对称加密区块链身份信息验证方法及装置
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
WO2018119930A1 (zh) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
CN108390891A (zh) * 2018-03-28 2018-08-10 电子科技大学天府协同创新中心 基于私有区块链的信息保护方法
WO2018224954A1 (en) * 2017-06-07 2018-12-13 nChain Holdings Limited Computer-Implemented System and Method for Managing Transactions Over a Blockchain Network
CN109039646A (zh) * 2018-07-12 2018-12-18 北京链享未来科技有限公司 一种基于节点能力的区块链区块打包和验证方法及系统
CN109426952A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链架构
CN109472696A (zh) * 2018-09-29 2019-03-15 腾讯科技(深圳)有限公司 资产交易方法、装置、存储介质及计算机设备
CN109493221A (zh) * 2018-10-26 2019-03-19 全链通有限公司 区块链中交易记录保密方法、设备、网络及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606795B2 (en) * 2007-02-08 2009-10-20 International Business Machines Corporation System and method for verifying the integrity and completeness of records
GB2525191A (en) * 2014-04-14 2015-10-21 Mastercard International Inc Transaction identification and recognition
KR101780635B1 (ko) * 2016-04-28 2017-09-21 주식회사 코인플러그 인증 정보의 생성, 등록, 파기 방법 및 인증 지원 서버
US10204341B2 (en) * 2016-05-24 2019-02-12 Mastercard International Incorporated Method and system for an efficient consensus mechanism for permissioned blockchains using bloom filters and audit guarantees
US10198325B2 (en) * 2016-05-24 2019-02-05 Mastercard International Incorporated Method and system for desynchronization recovery for permissioned blockchains using bloom filters
US10841097B2 (en) * 2016-07-08 2020-11-17 Mastercard International Incorporated Method and system for verification of identity attribute information
US10229270B2 (en) * 2016-12-23 2019-03-12 Amazon Technologies, Inc. Host attestation
CN110050474A (zh) * 2016-12-30 2019-07-23 英特尔公司 用于物联网网络中的复合对象的子对象的类型命名和区块链
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
EP3698518B1 (en) * 2017-10-20 2024-02-14 Koninklijke KPN N.V. Primary and secondary blockchain device
US11244309B2 (en) * 2017-11-22 2022-02-08 Cornell University Real-time cryptocurrency exchange using trusted hardware
US11018850B2 (en) * 2017-12-26 2021-05-25 Akamai Technologies, Inc. Concurrent transaction processing in a high performance distributed system of record
US10250708B1 (en) * 2017-12-26 2019-04-02 Akamai Technologies, Inc. High performance distributed system of record
US10742421B1 (en) * 2019-03-08 2020-08-11 Ares Technologies, Inc. Methods and systems for anonymous hardware attestation

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106100847A (zh) * 2016-06-14 2016-11-09 惠众商务顾问(北京)有限公司 非对称加密区块链身份信息验证方法及装置
CN106506638A (zh) * 2016-11-04 2017-03-15 江苏通付盾科技有限公司 区块链中的区块存储方法及装置
WO2018119930A1 (zh) * 2016-12-29 2018-07-05 深圳前海达闼云端智能科技有限公司 交易验证处理方法、装置及节点设备
WO2018224954A1 (en) * 2017-06-07 2018-12-13 nChain Holdings Limited Computer-Implemented System and Method for Managing Transactions Over a Blockchain Network
CN109426952A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链架构
CN109427012A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种基于区块链的交易和验证方法
CN108390891A (zh) * 2018-03-28 2018-08-10 电子科技大学天府协同创新中心 基于私有区块链的信息保护方法
CN109039646A (zh) * 2018-07-12 2018-12-18 北京链享未来科技有限公司 一种基于节点能力的区块链区块打包和验证方法及系统
CN109472696A (zh) * 2018-09-29 2019-03-15 腾讯科技(深圳)有限公司 资产交易方法、装置、存储介质及计算机设备
CN109493221A (zh) * 2018-10-26 2019-03-19 全链通有限公司 区块链中交易记录保密方法、设备、网络及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A. PINAR OZISIK等: "Graphene: A New Protocol for Block Propagation Using Set Reconciliation", 《LECTURE NOTES IN COMPUTER SCIENCE BOOK SERIES》, 13 September 2017 (2017-09-13), pages 420 - 428, XP047482994, DOI: 10.1007/978-3-319-67816-0_24 *

Also Published As

Publication number Publication date
GB2582978A8 (en) 2020-12-16
EP3954085A1 (en) 2022-02-16
GB2582978B (en) 2022-05-04
KR20210145818A (ko) 2021-12-02
GB2582978A (en) 2020-10-14
KR20210149164A (ko) 2021-12-08
SG11202111216PA (en) 2021-11-29
WO2020208596A1 (en) 2020-10-15
GB201905221D0 (en) 2019-05-29
SG11202111214WA (en) 2021-11-29
WO2020208580A1 (en) 2020-10-15
CN113826355A (zh) 2021-12-21
JP2022527610A (ja) 2022-06-02
US20220156735A1 (en) 2022-05-19
EP3954086A1 (en) 2022-02-16
JP2022527611A (ja) 2022-06-02
US20220182241A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
CN113841359A (zh) 用于在区块链网络中传播区块的方法和装置
US20210295321A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
US20240074004A1 (en) Verification of interactions system and method
EP3688929B1 (en) System and method for providing privacy and security protection in blockchain-based private transactions
US10630463B2 (en) Meta block chain
EP3693886B1 (en) Optimizations for verification of interactions system and method
WO2018076760A1 (zh) 基于区块链的交易事务处理方法、系统、电子装置及存储介质
CN109792382B (zh) 使用全局加速节点提高区块交易速度的方法、系统和存储介质
CN109863522B (zh) 使用交易重发加速区块链网络中的交易交付
US20230344658A1 (en) Methods and devices for secure symbiotic mining
CN114731279A (zh) 用于自动数字证书验证的方法和装置
US20230162186A1 (en) Block propagation with poisoned transactions in a blockchain network
CN110620776B (zh) 一种数据转移信息传输方法及其装置
KR101922963B1 (ko) 블록 체인 생성 장치 및 방법
Tin et al. Provably secure key exchange: an engineering approach
US20220216999A1 (en) Blockchain system for supporting change of plain text data included in transaction
CN116918298A (zh) 用于具有交叉引用的流式区块模板的方法和系统
CN115001719B (zh) 隐私数据处理系统、方法、装置、计算机设备及存储介质
CN114640462B (zh) 区块链隐私保护方法、装置、电子设备及存储介质
US20240031128A1 (en) Methods and systems for synchronizing a streamed template to a solved block
CN116848529A (zh) 用于压缩交易标识符的方法和系统
JP2022044815A (ja) ブロックの分割によりスループットを改善したブロックチェーンシステム及びコンピュータープログラム

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