CN114402352A - 用于追踪并测量矿池中工作量证明贡献的方法和装置 - Google Patents

用于追踪并测量矿池中工作量证明贡献的方法和装置 Download PDF

Info

Publication number
CN114402352A
CN114402352A CN202080062745.4A CN202080062745A CN114402352A CN 114402352 A CN114402352 A CN 114402352A CN 202080062745 A CN202080062745 A CN 202080062745A CN 114402352 A CN114402352 A CN 114402352A
Authority
CN
China
Prior art keywords
candidate block
block header
bloom filter
mining device
mining
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
CN202080062745.4A
Other languages
English (en)
Inventor
A·麦凯
O·沃恩
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.)
Enchen Franchise Co ltd
Original Assignee
Enchen Franchise Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Enchen Franchise Co ltd filed Critical Enchen Franchise Co ltd
Publication of CN114402352A publication Critical patent/CN114402352A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06311Scheduling, planning or task assignment for a person or group
    • G06Q10/063114Status monitoring or status determination for a person or group
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • 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/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/3672Payment 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 initialising or reloading thereof
    • 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/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2465Query processing support for facilitating data mining operations in structured databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0639Performance analysis of employees; Performance analysis of enterprise or organisation operations
    • G06Q10/06398Performance of employee with respect to a job function
    • 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
    • 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/3218Cryptographic 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 proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • 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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Finance (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Software Systems (AREA)
  • Marketing (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Operations Research (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Game Theory and Decision Science (AREA)
  • Databases & Information Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Technology Law (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

追踪来自矿池中的挖矿装置的工作量证明贡献的方法和装置。矿池包括存储布隆过滤器的池主计算装置。布隆过滤器基于在挖矿装置的工作量证明搜索期间来自挖矿装置的常规报告来存储满足部分工作量证明标准的候选区块头信息。在从挖矿装置之一接收到新的候选区块头信息时,池主使用该信息构建候选区块头,并评估其是否已经存储在布隆过滤器中。如果不是,则将区块头存储在布隆过滤器中。如果是,则记录与报告该候选区块头信息的挖矿装置相关联的坏哈希。

Description

用于追踪并测量矿池中工作量证明贡献的方法和装置
技术领域
本公开涉及区块链网络,并且特别地涉及矿池。
背景技术
挖矿节点(或“矿工”)是区块链网络的关键元素。在“工作量证明”区块链网络中,挖矿节点竞争完成工作量证明,以便“赢得”挖矿区块的竞赛,从而收取交易费用和新区块内的创币交易(coinbase transaction)中反映的任何新生成的代币。以这种方式,矿工保护网络,确保交易有效并且所有参与节点符合流行的区块链协议。
随着网络规模和工作量证明搜索在计算上变得更加困难,矿池将更加常见,有时涉及数万或数十万或数百万个挖矿装置。准确且可靠地追踪这些挖矿装置的活动以便测量它们的相对贡献是一个重大挑战。任何对解决工作量证明有贡献的哈希算力测量系统都需要解决恶意装置试图索取比实际贡献更多的算力以及在搜索期间操作但未能做出实质性贡献的故障装置的可能性。
附图说明
现在将通过示例的方式参考附图,附图示出了本申请的示例实施例,并且其中:
图1示出了示例布隆过滤器;
图2示出了示例布隆过滤器和确定数据是否已经存储在布隆过滤器中的过程;
图3以流程图形式示出了追踪来自挖矿装置的工作量证明贡献的一个示例方法;
图4以流程图示出了追踪来自挖矿装置的工作量证明贡献的另一示例方法;以及
图5以框图形式示出了诸如挖矿节点的计算节点的简化示例。
在附图中使用相同的附图标记来表示相同的元件和特征。
具体实施方式
在一个方面,可以提供一种追踪来自矿池内的挖矿装置的工作量证明贡献的计算机实现的方法,矿池具有存储布隆过滤器的池主计算装置。所述方法可以包括:从池内的第一挖矿装置接收候选区块头信息;基于候选区块头信息构建候选区块头;确定候选区块头未存储在布隆过滤器中;以及,基于确定布隆过滤器不包含候选区块头,更新布隆过滤器以将候选区块头存储在布隆过滤器中。
在一些实施方式中,候选区块头信息可以包括随机数值,并且构建可以包括将随机数值插入候选区块头中。在一些情况下,候选区块头信息可以包括创币交易数据,并且构建候选区块头可以包括部分地基于创币交易数据建立默克尔树(merkle tree),并基于默克尔树填充候选区块头的默克尔根字段。
在一些实施方式中,布隆过滤器可以包括位数组,并且确定候选区块头未存储在布隆过滤器中可以包括:使用k个哈希函数对候选区块头进行哈希以识别k个比特位置,以及确定位数组中的k个比特位置中的至少一个被设置为零。在一些情况下,使用k个哈希函数进行哈希可以包括:使用一个哈希函数重复地对候选区块头进行k次哈希。在一些情况下,更新布隆过滤器可以包括:将位数组中k个比特位置处的比特设置为1。
在一些实施方式中,所述方法可以包括:从池内的第二挖矿装置接收第二候选区块头信息;基于第二候选区块头信息构建第二候选区块头;确定第二候选区块头可能存储在布隆过滤器中;以及基于确定布隆过滤器可能包含第二候选区块头,递增与第二挖矿装置相关联的无效候选区块的计数。在一些情况下,布隆过滤器可以包括位数组,并且确定第二候选区块头可能存储在布隆过滤器中可以包括:使用k个哈希函数对第二候选区块头进行哈希以识别k个比特位置,以及确定位数组中的所有k个比特位置都被设置为1。
在一些实施方式中,所述方法可以包括:对候选区块头进行哈希以产生哈希结果,将哈希结果与由第二难度参数设置的较高阈值进行比较,以及确定哈希结果小于较高阈值。所述方法还可以包括:确定来自第一挖矿装置的包含候选区块头信息的两个或更多个部分工作量证明报告之间的接收时间偏离目标持续时间超过阈值量,并且在此基础上,调节第二难度参数并将调节后的第二难度参数发送到第一挖矿装置。
在一些实施方式中,所述方法可以包括:确定矿池已经找到有效区块,并基于以下中的一个或多个来确定分配给第一挖矿装置的区块奖励的份额:与第一挖矿装置相关联的第二难度参数,在挖掘有效区块时与第一挖矿装置相关联的第二难度参数的历史,或在挖矿挖掘有效区块时从第一挖矿装置接收的部分工作量证明报告的计数。
在一些实施方式中,所述方法可以包括:确定与矿池中的每个挖矿装置相关联的坏哈希的计数,并且基于与每个相应挖矿装置相关联的坏哈希的计数来调节分配给每个挖矿装置的区块奖励的相对份额。在一些情况下,当特定挖矿装置发送如下候选区块头信息时,特定挖矿装置的坏哈希的计数递增1:所述候选区块头信息不导致哈希值低于较高阈值,或者被确定为已经存储在布隆过滤器中。
在另一方面,可以提供一种实现网络中的节点的计算装置。所述计算装置可以包括:存储器;一个或多个处理器;以及计算机可执行指令,所述计算机可执行指令在被执行时使处理器执行本文描述的方法中的一个或多个。存储器可以存储布隆过滤器。
在又一方面,可以提供一种存储用于操作网络中的节点的处理器可执行指令的计算机可读介质,所述处理器可执行指令包括当由一个或多个处理器执行时使处理器执行本文描述的方法中的至少一种的指令。
通过结合附图阅读以下详细描述,本公开的其他示例实施例对于本领域普通技术人员而言将是显而易见的。
在本申请中,术语“和/或”旨在覆盖所列元件的所有可能的组合和子组合,包括单独的所列元件中的任何一个、任何子组合或所有元件,并且不一定排除附加元件。
在本申请中,短语“…或…中的至少一个”旨在覆盖所列元件中的任何一个或多个,包括单独的所列元件中的任何一个、任何子组合或所有元件,而不必排除任何附加元件,并且不一定要求所有元件。
本申请将涉及哈希或哈希函数,其旨在包括多个加密哈希函数中的任何一个,当所述哈希函数应用于任意一组数据或“消息”时,确定性地产生唯一的固定长度的字母数字字符串。哈希函数的结果可以被称为哈希值、指纹、哈希结果或等同物。示例包括但不限于安全散列算法2(SHA-2)、安全散列算法3(SHA-3)和BLAKE 2算法。
在本文件中,术语“区块链”被理解为包括所有形式的电子的、基于计算机的分布式账本。这些包括基于共识的区块链和交易链技术、许可和未许可的分类账、共享分类账及其变型。虽然为了说明的目的,下面可以讨论示例区块链协议,但是本申请不限于与任何特定的区块链或区块链协议一起使用,并且替代的区块链实现和协议落入本申请的范围内。
区块链是一种点对点电子分类账,其使用基于计算机的去中心化分布式系统来实现。区块链由区块组成,区块又由交易组成。每个交易是一种数据结构,除了其他可能的信息之外,该数据结构还对区块链系统中的参与者之间的数字资产的控制转移进行编码,并且包括至少一个输入和至少一个输出。每个区块头包含区块内容的摘要,诸如以默克尔根的形式,并且每个区块头包含前一个区块头的哈希,使得区块链接在一起以创建从区块链开始就已经写入区块链的所有交易的永久、不可更改的记录。交易包含嵌入到其输入和输出中的称为脚本的小程序,其指定如何以及在什么条件下可以访问交易的输出。在一些平台上,这些脚本是使用基于堆栈的脚本语言编写的。
区块链在节点网络上实现。每个节点都是具有网络连接性和用于实现适用的区块链协议的执行软件的计算装置。节点验证交易并将它们传播到网络中的其他节点。被称为“挖矿节点”或“矿工”的专用网络节点将一组未确认的交易(即,未决交易)收集到区块中并尝试“挖掘”该区块。在这些示例中,挖矿是指在网络中的任何其他矿工成功求解其相应区块的工作量证明(POW)之前求解工作量证明。在一些示例中,POW涉及对包含随机数的区块头进行哈希,直到哈希的结果低于由难度参数设置的阈值为止。重复递增随机数并且重复进行哈希,直到结果低于阈值或者直到矿工接收到另一个矿工已经成功的通知为止。挖矿过程的变化对于本领域普通技术人员而言将是熟悉的。
如上所述,挖矿节点是保护区块链网络的关键。当挖矿节点赢得寻找有效新区块的竞赛时,它们的工作得到补偿。补偿通过来自单独交易和来自包括在新区块中的“创币”交易的交易费用来实现。创币交易没有输入(或者更适当地,输入字段空或失效),并且它向矿工输出规定数量的代币(例如硬币),从而有效地创建新代币。创币交易也可以被称为“生成交易(generation transaction)”,并且这些术语在本文中可以互换使用。创币交易或生成交易具有将其与常规交易区分开的某些特征。例如,每个有效区块仅包含一个生成交易。每个生成交易没有输入(或者输入字段,如果有任何输入,则输入不影响交易并且不被使用),并且根据管理区块链协议生成由由于成功的矿工而导致的当时占优势的区块奖励设置的数量的代币输出。生成交易是“工作量证明交易”,因为它只能由成功挖掘区块(即,完成工作量证明)的挖矿节点创建。
随着区块链网络的扩展,在一些情况下,针对随机数的搜索空间可能不足以解决POW。在一些示例区块链中,已经采用“额外随机数(extranonce)”来增加在挖矿中可以进行的改变的可用范围,以搜索成功的POW。在这些示例的情况下,“额外随机数”是输入到创币交易的输入中的值。因为不使用输入,所以可以改变区块主体内的数据,这将导致默克尔树(区块交易的摘要)的变化,但不会影响交易本身。对默克尔树的改变会导致包含在区块头中的默克尔树根的改变。
在至少一个示例区块链中,用于找到POW的区块头的哈希是使用SHA-256的双重哈希。其他区块链网络可以使用其他哈希。
在许多区块链系统中,单个实体可以拥有、控制或指导充当挖矿节点的大量单独计算机。在一些情况下,多个挖矿节点的资源可以在矿池中池化在一起,该矿池利用大量单独处理器的计算能力。随着一些区块链继续扩展以适应更大数量的交易和更大的交易数据,并且随着难度增加,找到成功的区块将继续更加困难,需要更多的挖矿资源(例如,哈希算力)来“赢得”POW竞赛。因此,矿池可能变得越来越共享。
在矿池中,大量挖矿装置(其中一些挖矿装置由不同实体拥有或操作)共同搜索POW。如果池成功,则在池中的参与者之间分配所得到的“区块奖励”,即,交易费用和创币交易代币。为此目的和其他目的,矿池可以包括池主装置。池主装置可以指示池中的挖矿装置关于它们将尝试挖掘的可能搜索空间的部分(例如,随机数和/或额外随机数的值的范围)。池主装置还可以确定由于池中的每个挖矿装置而导致的区块奖励的分配。本文中对矿工或挖矿节点或挖矿装置的任何引用将被理解为意指被配置为执行适用的区块链挖矿协议的计算装置。
分配区块奖励的基础通常是挖矿装置对矿池的累积哈希算力做出的比例贡献。即,POW搜索中使用的计算资源的相对贡献可以确定挖矿装置对任何区块奖励的份额。池主装置的任务可以是确定对哈希算力的相对贡献。池主装置可能难以在不依赖于来自挖矿装置的自我报告的情况下准确地确定工作量证明贡献,这可能使池易受贡献的哈希算力的恶意声明的攻击。此外,当由矿工添加或移除资源时,绝对或相对的贡献可能随着区块搜索时间而变化。
让每个挖矿装置向池主装置报告每个测试的随机数在带宽和消耗的计算资源方面将是巨大的。因此,为了追踪池成员对工作量证明的贡献,池主装置可以要求装置通过每次挖矿装置产生哈希区块头时发送报告来定期证明它们的贡献,所述哈希区块头满足由第二难度参数设置的较容易、较高的阈值。在一些情况下,该报告可以被称为“部分POW”。选择一些示例区块链中的正常POW难度参数,以确保区块链网络作为整体能够平均大约每十分钟找到低于相应阈值的POW。可以选择第二难度参数,使得挖矿装置将在短得多的时间段内成功地找到低于对应的较高阈值的哈希区块头。例如,作为示例,可以选择第二难度参数,使得挖矿装置每3、5、7、10、15或20秒满足该第二难度参数。即,选择第二难度参数以便产生部分POW报告,所述报告之间具有目标持续时间。
每当参与搜索成功的POW的挖矿装置对区块头进行哈希并发现它低于较高阈值时,该挖矿装置都会向池主装置发送部分POW报告。报告可以包括例如使用的随机数。池主装置具有与区块及其区块头相关的所有其他信息。在一些情况下,在允许挖矿装置改变创币交易的情况下(诸如使用额外随机数),则报告可以包括附加信息,诸如额外随机数或由挖矿装置改变的其他字段。
如果来自挖矿装置的报告偏离报告之间的目标持续时间超过阈值量,则池主装置可以偶尔调节各个单独挖矿装置的第二难度参数。例如,调节目标确保每个挖矿装置平均每3、5、7、10、15或20秒提供部分POW报告。接收到部分POW报告的池主装置然后可以从报告中的信息组装对应的区块,并且当区块头被哈希时验证其满足较高阈值。通过调节第二难度参数以确保特定挖矿装置提供平均每X秒发生的报告,池主装置有效地确定由该特定挖矿装置贡献的哈希算力。不能每X秒成功地产生这样的报告的挖矿装置可以调节其第二难度参数,以确保更容易满足针对该挖矿装置的相应的较高阈值。该第二难度参数是挖矿装置的贡献哈希算力的量度。
恶意或故障挖矿装置可能多次发送相同的成功部分POW报告,因此池主装置追踪来自所有矿工的所有报告,以确保没有重复的报告,即,没有“坏哈希”。坏哈希是已经由同一挖矿装置报告的哈希或已经由同一池中的另一挖矿装置报告的哈希,因为挖矿装置通常应该测试搜索空间的单独且不同的部分。因此,池主装置可以存储由池中的每个挖矿装置发送的每个报告,并且可以对于接收到的每个新报告进行测试以确保其之前未被接收到。
对于数万个挖矿装置,池主装置可以存储和测试来自所有挖矿装置的报告;然而,随着网络规模扩大并且矿池增长到涉及数十万甚至数百万个挖矿装置,池主装置追踪所有报告并快速识别每个新接收的报告是唯一的可能是不切实际或低效的。
为了提高池主装置处的速度和存储器使用,在本申请的一些方面中,池主装置可以采用布隆过滤器来存储关于由池中的挖矿装置提交的部分POW报告的数据。布隆过滤器还提供了用于确定先前是否已经接收到新提交的报告的相对快速的机制;即,与新提交的报告相对应的候选区块是否已经存储在布隆过滤器中。布隆过滤器能够示出一条信息先前并未被接收到;然而,它们有可能示出假阳性。即,存在提交的报告将不正确地看起来先前已经被接收的可能性。如果布隆过滤器的大小足够大,则可以使假阳性的概率低得可接受。
现在参考图1,其示出了示例布隆过滤器100。布隆过滤器100是大小为m的位数组。最初,数组中的所有m个比特被设置为零。可以通过使用k个不同的哈希函数对数据项进行哈希来将数据项102添加到布隆过滤器100,每个哈希函数将数据元素映射到m个数组位置中的一个。如图1所示,每个哈希函数(Hn[数据]mod m)产生指向布隆过滤器100位数组中的位置之一的值an。这k个位置中的每个位置处的二进制值被设置为1以将数据项存储在布隆过滤器100中。
可以通过使用k个哈希函数对项进行哈希并将数组的对应比特设置为1的相同过程将附加项添加到位数组。
现在还参考图2,其示出了示例布隆过滤器100。如图2所示,在接收到新数据项106时,可以通过使用k个哈希函数对数据项106进行哈希以产生一组或一系列k个比特位置an(n=1至k)来确定该数据项是否已经在布隆过滤器100中。如果数组中的这k个比特位置中的任何一个包含零(如附图标记200所示),则新数据项106先前未被添加到数组。如果所有k个比特位置都包含1,则新数据项106可能已经被添加到布隆过滤器100,尽管这可能是假阳性结果。
如果k个哈希算法将任何输入映射到m个比特位置中的任何一个的概率相等,则数组中的特定比特未被某个哈希函数设置为1的概率由下式给出:
Figure BDA0003535064340000081
因此,对于k个哈希函数,则比特未被任一个哈希函数设置为1的概率由下式给出:
Figure BDA0003535064340000082
如果输入的数据包括n个项,则比特未被设置的概率为:
Figure BDA0003535064340000083
并且比特被数据项之一设置为1的概率由下式给出:
Figure BDA0003535064340000084
因此,当接收到新数据项并且正在进行关于其是否已经在布隆过滤器中的评估时,则该数据项被映射到的所有k个数组位置已经被设置为1的概率由下式给出:
Figure BDA0003535064340000091
这给出了假阳性的可能性。注意,它取决于哈希函数的数量k、位数组的大小m、以及已经在位数组中的数据项的数量n。当设置布隆过滤器时,如果预期数据项的数量是已知的并且选择了错误概率的最大可能性,则可以确定哈希函数的数量:
Figure BDA0003535064340000092
以及布隆过滤器位数组的长度:
Figure BDA0003535064340000093
在一些示例中,合适的假阳性概率可以是0.005。在追踪部分POW报告的情况下,假阳性可能导致针对实际上不产生坏哈希的挖矿装置记录“坏哈希”。如果惩罚或其他制裁是基于从一个挖矿装置接收到两个或三个或一些更大数量的坏哈希,则可以使挖矿装置被不公平惩罚的可能性低得可忽略不计。
现在参考图3,其以流程图形式示出了追踪来自矿池内的挖矿装置的工作量证明贡献的一个示例方法300。方法300可以在网络连接的计算装置(在该示例中,诸如池主装置)内实现。方法300可以用于追踪从矿池中的挖矿装置接收的坏哈希。
在操作302中,池主装置接收候选区块头信息。候选区块头信息从矿池内的挖矿装置接收,并且可以包括例如在如下候选区块头中使用的由挖矿装置使用的随机数值:当被哈希时,该候选区块头满足部分POW标准,即低于由针对该挖矿装置的第二难度参数设置的较高阈值。在一些情况下,候选区块头信息还可以包括附加数据,挖矿装置使用该附加数据来构建其哈希的区块头。在一个示例中,附加数据可以是默克尔树根值。在另一示例中,附加数据可以是来自创币交易中的字段的额外随机数数据。
在操作304中,池主装置基于所接收的候选区块头信息来构建候选区块头。这可以包括将来自候选区块头信息的随机数值插入到部分构建的区块头中。在一些情况下,可以包括构建交易的区块并计算默克尔树,这可以包括将额外随机数值插入创币交易中。所构建的候选区块头是由挖矿装置基于候选区块头信息进行哈希的同一区块头。
然后,在操作306中,池主装置对构建的候选区块头进行哈希,并评估结果是否低于由与从其接收候选标头信息的挖矿装置相关联的第二难度参数设置的较高阈值。哈希符合适用的区块链协议的规定POW机制。在一些示例区块链的情况下,哈希是使用SHA-256的双重哈希。如果哈希结果未能低于较高阈值,则在操作308中拒绝报告。这可以包括记录关于挖矿装置的坏哈希事件。
如果哈希结果低于较高阈值,则在操作310中,池主装置确定候选区块头是否已经被添加到布隆过滤器。如上所述,这可以涉及利用将候选区块头映射到k个比特位置的k个哈希函数对候选区块头进行哈希,然后评估布隆过滤器数组中的所有这些比特位置是否都已被设置为1。如果它们已被设置为1,则候选区块头可能先前已经被添加到布隆过滤器,并且可以在操作308中记录坏哈希。如果至少一个比特位置包含零值,则之前没有添加该候选区块头。因此,在操作312中,通过将所有k个比特位置设置为1来更新布隆过滤器以添加该候选区块头。在一些情况下,操作312还可以包括使与挖矿装置相关联的有效部分POW报告的计数递增。
应当理解,池主装置针对包含候选区块头信息的每个接收到的部分POW报告执行方法300。如果矿池成功挖掘当前区块,则池主装置可以基于每个挖矿装置在当前区块的挖掘活动的过程中贡献的哈希算力来确定归因于每个挖矿装置的区块奖励的相对份额。贡献的哈希算力可以与由该挖矿装置使用的、与其报告的部分POW相关的第二难度参数成比例。在一些情况下,与挖矿装置相关联地记录的坏哈希可以用于向下调节该挖矿装置的区块奖励份额。在一些情况下,坏哈希可以用作从区块奖励的份额中排除挖矿装置的基础。在一些情况下,坏哈希可以用作将挖矿装置从矿池中排出并防止其参与池的进一步挖掘活动的基础。在一些情况下,区块奖励的相对份额还基于来自该挖矿装置的有效部分POW报告的计数。例如,有效POW报告的数量和与来自该挖矿装置的每个有效POW报告相关联的第二难度参数可以共同用于确定该挖矿装置的哈希算力分数或类似度量中,然后可以将其与矿池中所有装置的累积哈希算力分数进行比较,以确定挖矿装置之间的区块奖励分配。
如果矿池没有成功挖掘当前区块,而是接收到另一个矿工已经成功挖掘该区块的通知,则矿池可以确定池中任何挖矿装置的坏哈希计数是否满足惩罚性动作的阈值水平。惩罚性动作的示例包括排除挖矿装置进一步参与挖掘活动,减少挖矿装置对未来区块奖励的分配,或其他这样的动作。
一旦由矿池或由另一个矿池找到有效区块,就将位数组归零,并且方法300重新开始搜索下一个区块。
图4以流程图形式示出了用于确定来自矿池内的挖矿装置的工作量证明贡献的另一示例方法400。挖矿装置的任务是挖掘包含大量交易的区块。如上所述,针对每个挖矿装置设置第二难度参数。每次找到低于由第二难度参数设置的较高阈值的双重哈希区块头时,挖矿装置向池主装置发送部分POW报告。如操作402所示,池主装置从参与挖矿装置接收包含与满足第二难度参数的区块相对应的随机数数据的报告。如果适用的话,随机数数据可以包括随机数和额外随机数。在操作404中,池主装置使用由参与挖矿装置提供的随机数数据来构建候选区块。然后,执行适用的哈希操作,该哈希操作可以包括例如使用SHA-256的区块头的双重哈希。在操作406中,评估哈希区块头是否小于由参与挖矿装置的第二难度参数设置的较高阈值。如果不是,则在操作408中记录与该参与挖矿装置相关联的坏哈希。
如果报告的候选区块头信息导致低于较高阈值的哈希标头,则池主装置执行k个哈希操作以找到k个位数组位置a1、a2、…、ak,以将候选区块头映射到布隆过滤器,如操作410所示。在操作412中,池主装置评估在布隆过滤器中这k个位数组位置是否已经被设置为1。如果是,则其指示(有一些错误的临界可能性)候选区块头已经被记录在布隆过滤器中,并且在操作408中池主装置记录坏哈希。如果布隆过滤器中的k个位置中的任何一个为0,则候选区块头之前未被看到并且是有效的。因此,在操作414中,然后在布隆过滤器中将尚未设置为1的那些k个比特位置中的任何一个设置为1,以记录该候选区块头。
在操作416中,池主装置评估是否更新参与挖矿装置的第二难度参数。该决定可以基于检测到满足第二难度参数的有效候选区块之间的时间。在一些情况下,检测到有效候选区块之间的时间可以基于两个或更多个最近的有效候选区块的平均值,或者最近的有效候选区块之间的加权平均时间。如果挖矿装置花费太长时间来找到满足第二难度参数的候选区块,则可以调节参数以增大较高阈值,从而使该挖矿装置的搜索更容易。相反,如果挖矿装置找到有效候选区块太快,则可以调节第二难度参数,以便降低较高阈值以使搜索更困难。操作418指示,将对第二难度参数的调节发送到挖矿装置。在一些实施例中,可以针对每个挖矿装置维持调节或难度参数的历史,使得在挖矿区块的时间内贡献的哈希算力的历史可用于确定区块奖励分配。一旦在操作416和418中已经或尚未调节第二难度参数,则方法400返回到操作402以处理下一部分POW报告。
一旦找到有效的新区块,无论是通过矿池还是通过矿池外部的另一挖矿装置,则清除位数组以将所有位置设置为零,并且该过程重新开始,其中由矿池挖掘新的区块。
在一个实施方式中,利用使用了1~k次的一个哈希函数来实现k个哈希函数。即,通过使用同一哈希函数对输入数据进行n次哈希来实现第n哈希函数。在一个实施方式中,所使用的哈希函数可以是与区块链协议中用于确定区块头是否低于阈值的哈希函数相同的哈希函数,诸如以SHA-256为例。
应当理解,各种上述示例方法的上述操作中的一些或全部可以以不同于所示的顺序执行和/或可以同时执行而不改变这些方法的整体操作。
现在参考图5,其以框图形式示出了根据本申请的示例的简化计算装置500。计算装置500可以执行上述功能中的一个或多个。在一些示例中,计算装置500可以是矿池内的挖矿节点,其也执行池主功能。在一些实施方式中,计算装置500可以是非挖矿节点,其操作用于代表作为池主装置的矿池来追踪并测量挖矿装置的工作量证明贡献。
计算装置500包括处理器502,所述处理器可以包括一个或多个微处理器、专用集成电路(ASIC)、微控制器或类似的计算机处理装置。计算装置500还可以包括:存储器504,所述存储器可以包括持久性和非持久性存储器,以存储值、变量,以及在一些情况下存储处理器可执行程序指令;以及网络接口506。
计算装置500可以包括处理器可执行应用程序508,所述处理器可执行应用程序包含处理器可执行指令,所述处理器可执行指令在被执行时,使处理器502执行本文描述的功能或操作中的一个或多个。
上面呈现的各种实施例仅仅是示例,并且决不意味着限制本申请的范围。本文描述的创新的变型对于本领域普通技术人员而言将是显而易见的,这样的变型落在本申请的预期范围内。特别地,可以选择来自上述示例实施例中的一个或多个示例实施例的特征,以创建包括上面可能没有明确描述的特征的子组合的替代示例实施例。另外,可以选择和组合来自上述示例实施例中的一个或多个示例实施例的特征,以创建包括上面可能没有明确描述的特征的组合的替代示例实施例。对本领域技术人员而言,在回顾本申请的整体时,适用于这样的组合和子组合的特征将是显而易见的。本文和所引用的权利要求中描述的主题旨在覆盖并包含所有合适的技术变化。

Claims (15)

1.一种计算机实现的方法,用于追踪来自矿池内的挖矿装置的工作量证明贡献,其中,所述矿池具有池主计算装置,所述池主计算装置存储布隆过滤器,所述方法包括:
从所述池内的第一挖矿装置接收候选区块头信息;
基于所述候选区块头信息构建候选区块头;
确定所述候选区块头未存储在所述布隆过滤器中;以及,
基于确定所述布隆过滤器不包含所述候选区块头,更新所述布隆过滤器以将所述候选区块头存储在所述布隆过滤器中。
2.根据权利要求1所述的方法,其中,所述候选区块头信息包括随机数值,并且其中,所述构建包括将所述随机数值插入所述候选区块头中。
3.根据权利要求1或2所述的方法,其中,所述候选区块头信息包括创币交易数据,并且其中,构建所述候选区块头包括部分地基于所述创币交易数据建立默克尔树,并基于所述默克尔树填充所述候选区块头的默克尔根字段。
4.根据权利要求1至3中任一项所述的方法,其中,所述布隆过滤器包括位数组,并且其中,确定所述候选区块头未存储在所述布隆过滤器中包括:使用k个哈希函数对所述候选区块头进行哈希以识别k个比特位置,并且确定所述位数组中的所述k个比特位置中的至少一个被设置为零。
5.根据权利要求4所述的方法,其中,使用k个哈希函数进行哈希包括:使用一个哈希函数重复地对所述候选区块头进行k次哈希。
6.根据权利要求4或5中任一项所述的方法,其中,更新所述布隆过滤器包括:将所述位数组中所述k个比特位置处的比特设置为1。
7.根据权利要求1至6中任一项所述的方法,还包括:
从所述池内的第二挖矿装置接收第二候选区块头信息;
基于所述第二候选区块头信息构建第二候选区块头;
确定所述第二候选区块头可能存储在所述布隆过滤器中;以及,
基于确定所述布隆过滤器可能包含所述第二候选区块头,使与所述第二挖矿装置相关联的无效候选区块的计数递增。
8.根据权利要求7所述的方法,其中,所述布隆过滤器包括位数组,并且其中,确定所述第二候选区块头可能存储在所述布隆过滤器中包括:使用k个哈希函数对所述第二候选区块头进行哈希以识别k个比特位置,并且确定所述位数组中的所有所述k个比特位置都被设置为1。
9.根据权利要求1至8中任一项所述的方法,还包括:对候选区块头进行哈希以产生哈希结果,将所述哈希结果与由第二难度参数设置的较高阈值进行比较,并且确定所述哈希结果小于所述较高阈值。
10.根据权利要求9所述的方法,还包括:确定来自所述第一挖矿装置的包含候选区块头信息的两个或更多个部分工作量证明报告之间的接收时间偏离目标持续时间超过阈值量,并且在此基础上,调节所述第二难度参数并将调节后的第二难度参数发送至所述第一挖矿装置。
11.根据权利要求1至10中任一项所述的方法,还包括:确定所述矿池已经找到有效区块,并基于以下中的一个或多个来确定分配给所述第一挖矿装置的区块奖励的份额:
与所述第一挖矿装置相关联的第二难度参数,
在挖掘所述有效区块时与所述第一挖矿装置相关联的第二难度参数的历史,或者
在挖掘所述有效区块时从所述第一挖矿装置接收的部分工作量证明报告的计数。
12.根据权利要求1至11中任一项所述的方法,还包括:确定与所述矿池中的每个挖矿装置相关联的坏哈希的计数,并且基于与每个相应挖矿装置相关联的坏哈希的计数来调节分配给每个挖矿装置的区块奖励的相对份额。
13.根据权利要求12所述的方法,其中,当特定挖矿装置发送如下候选区块头信息时,所述特定挖矿装置的坏哈希的所述计数递增1:所述候选区块头信息不导致哈希值低于较高阈值,或者被确定为已经存储在所述布隆过滤器中。
14.一种池主计算装置,用于追踪来自矿池内的挖矿装置的工作量证明贡献,所述计算装置包括:
一个或多个处理器;
存储器,存储布隆过滤器;以及
存储在所述存储器中的计算机可执行指令,所述计算机可执行指令在被所述一个或多个处理器执行时使所述处理器执行根据权利要求1至13中任一项所述的方法。
15.一种存储处理器可执行指令的计算机可读介质,所述处理器可执行指令用于追踪来自矿池内的挖矿装置的工作量证明贡献,所述矿池具有存储布隆过滤器的池主计算装置,所述处理器可执行指令包括当由所述一个或多个处理器执行时使所述处理器执行根据权利要求1至13中任一项所述的方法的指令。
CN202080062745.4A 2019-09-06 2020-09-02 用于追踪并测量矿池中工作量证明贡献的方法和装置 Pending CN114402352A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB1912862.8A GB2586865A (en) 2019-09-06 2019-09-06 Methods and Devices for Tracking and Measuring Proof-of-Work Contributions in a Mining Pool
GB1912862.8 2019-09-06
PCT/IB2020/058175 WO2021044313A1 (en) 2019-09-06 2020-09-02 Methods and devices for tracking and measuring proof-of-work contributions in a mining pool

Publications (1)

Publication Number Publication Date
CN114402352A true CN114402352A (zh) 2022-04-26

Family

ID=68241166

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080062745.4A Pending CN114402352A (zh) 2019-09-06 2020-09-02 用于追踪并测量矿池中工作量证明贡献的方法和装置

Country Status (6)

Country Link
US (1) US20220292489A1 (zh)
EP (1) EP4008087A1 (zh)
JP (1) JP2022546773A (zh)
CN (1) CN114402352A (zh)
GB (1) GB2586865A (zh)
WO (1) WO2021044313A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3852305B1 (en) * 2020-01-17 2022-11-16 Fetch.ai Limited Transaction verification system and method of operation thereof
WO2022266610A1 (en) * 2021-06-13 2022-12-22 Artema Labs, Inc. Grinding resistant cryptographic systems and cryptographic systems based on certified miners
US11792026B2 (en) * 2021-07-28 2023-10-17 Igt Cryptocurrency mining progressive pools

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937428B2 (en) * 2006-12-21 2011-05-03 International Business Machines Corporation System and method for generating and using a dynamic bloom filter
US10635824B1 (en) * 2015-03-20 2020-04-28 EMC IP Holding Company LLC Methods and apparatus for private set membership using aggregation for reduced communications
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
WO2018125989A2 (en) * 2016-12-30 2018-07-05 Intel Corporation The internet of things
GB201711879D0 (en) * 2017-07-24 2017-09-06 Nchain Holdings Ltd Computer-implemented system and method
US20190370793A1 (en) * 2018-06-04 2019-12-05 Decentralized Finance Labs, Inc. Hybrid consensus for blockchain using proof of work and proof of stake
CN109067516B (zh) * 2018-07-20 2021-05-11 杭州复杂美科技有限公司 一种抽签方法、共识方法、设备和存储介质
US10528776B1 (en) * 2018-08-28 2020-01-07 Digiprint Ip Llc Tracking and authentication of products via distributed ledgers and NFC tags
CN109670334A (zh) * 2018-12-19 2019-04-23 平安科技(深圳)有限公司 电子病历共享方法、装置、计算机设备及存储介质
KR102544628B1 (ko) * 2019-03-08 2023-06-19 한국전자통신연구원 블록체인 기반의 분산 데이터 공유 환경에서 데이터 공유 플랫폼을 위한 시스템, 상기 시스템에서 데이터 검색 방법 및 상기 시스템에서 검색 인덱스를 제공하는 방법
EP3639232B1 (en) * 2019-04-26 2021-07-07 Advanced New Technologies Co., Ltd. Anti-replay attack authentication protocol

Also Published As

Publication number Publication date
EP4008087A1 (en) 2022-06-08
JP2022546773A (ja) 2022-11-08
US20220292489A1 (en) 2022-09-15
GB2586865A (en) 2021-03-10
WO2021044313A1 (en) 2021-03-11
GB201912862D0 (en) 2019-10-23

Similar Documents

Publication Publication Date Title
US11522706B2 (en) Method and system for publicly verifiable proofs of retrievability in blockchains
US11405181B2 (en) Lightweight blockchain based on split-trust
US20210295321A1 (en) Methods for decentralized digital asset transfer and smart contract state transition
CN114402352A (zh) 用于追踪并测量矿池中工作量证明贡献的方法和装置
Miller et al. Permacoin: Repurposing bitcoin work for data preservation
US20220092592A1 (en) Methods and Devices for Registering and Authenticating Miner Identity in a Blockchain Network
WO2020229950A1 (en) Methods and devices for recording work history and proving reputation in a blockchain network
US11651335B2 (en) Methods and devices for controlling a mining pool for multiple blockchain networks
Ramezan et al. Analysis of proof-of-work-based blockchains under an adaptive double-spend attack
CN111935207A (zh) 基于改进型c4.5算法区块链系统共识方法
He et al. Consensus mechanism design based on structured directed acyclic graphs
US11831749B1 (en) Method and system for utilizing the infrastructure of a blockchain to enhance the degree of reliability of another blockchain
CN117997511B (zh) 一种基于节点服务评分的区块链共识方法
Long Nakamoto consensus with verifiable delay puzzle
Hentschel et al. Flow: Separating Consensus and Compute--Block Formation and Execution
Wüst Security of blockchain technologies
Xiao et al. Proof of importance: A consensus algorithm for importance based on dynamic authorization
EP4046328A1 (en) Computer-implemented method for reaching a distributed consensus in a blockchain network and node implementing the method
WO2020199179A1 (zh) 共识节点确定方法、装置、计算机设备和存储介质
CA3074205A1 (en) Methods and devices for controlling a mining pool for multiple blockchain networks
Wang et al. A Detection Method Against Selfish Mining-Like Attacks Based On Ensemble Deep Learning in IoT
Rana Resolving blockchain trilemmas
CN110933155B (zh) 一种新型区块链网络
Fu et al. Evaluating Checkpointing Capability against Eclipse-based Stake-Bleeding Attack in PoS Blockchain
Hassanzadeh-Nazarabadi et al. Flow: Separating consensus and compute

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