CN107078903A - 区块链的挖矿方法、装置和节点设备 - Google Patents

区块链的挖矿方法、装置和节点设备 Download PDF

Info

Publication number
CN107078903A
CN107078903A CN201680003221.1A CN201680003221A CN107078903A CN 107078903 A CN107078903 A CN 107078903A CN 201680003221 A CN201680003221 A CN 201680003221A CN 107078903 A CN107078903 A CN 107078903A
Authority
CN
China
Prior art keywords
node device
block
ore deposit
groove
hash
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
CN201680003221.1A
Other languages
English (en)
Other versions
CN107078903B (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.)
Cloudminds Shanghai Robotics Co Ltd
Original Assignee
Cloudminds Inc
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 Cloudminds Inc filed Critical Cloudminds Inc
Publication of CN107078903A publication Critical patent/CN107078903A/zh
Application granted granted Critical
Publication of CN107078903B publication Critical patent/CN107078903B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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
    • 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/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2216/00Indexing scheme relating to additional aspects of information retrieval not explicitly covered by G06F16/00 and subgroups
    • G06F2216/03Data mining
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computing Systems (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

一种区块链的挖矿方法、装置和节点设备,用以解决区块链网络中的各个节点设备的挖矿机会不够公平的技术问题。所述方法包括:获取所述区块链当前的区块数;判断所述区块数对应的哈希槽是否与节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;根据判断结果确定所述节点设备本次是否进行挖矿。

Description

区块链的挖矿方法、装置和节点设备
技术领域
本发明涉及区块链领域,尤其涉及一种区块链的挖矿方法、装置和节点设备。
背景技术
区块链技术是一种分布式、去中心、去信任的网络数据共识存储技术,其基于独特的区块(Block)生成机制和P2P(Point to Point,点对点)网络通信机制实现了分布式计算的同步性问题。通常意义上,在区块链的形成过程中,每一个参与计算的节点均享有计算区块的权限,其中,计算区块俗称“挖矿”,相关技术通过特定的挖矿机制,保证了最长的链为有效链。
现有的区块链网络中,由哪一个节点设备产生区块是跟节点设备的计算能力相关,一个节点设备的算力越强,其越可能产生区块。例如,当一个节点设备的算力超过全网其它所有节点的算力时,则基本上每次都会是这一个节点设备产生区块。因此,在各个节点设备的算力差异较大的情况下,现有的挖矿机制无法保证区块链网络中的各个节点设备具有公平挖矿的机会。
由上可知,基于现有的挖矿机制,若同一用户或组织控制了区块链网络中的大部分算力,就可能形成垄断,并且阻碍区块链的正常运行,对区块链的数据进行破坏,威胁区块链网络的安全。
发明内容
本发明的主要目的是提供一种区块链的挖矿方法、装置和节点设备,用以解决区块链网络中的各个节点设备的挖矿机会不够公平的技术问题。
为了实现上述目的,本发明第一方面提供区块链的挖矿方法,所述方法应用于区块链网络中的节点设备,所述方法包括:
获取所述区块链当前的区块数;
判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;
根据判断结果确定所述节点设备本次是否进行挖矿。
本发明第二方面提供一种挖矿装置,所述挖矿装置用于区块链网络中的节点设备,所述装置包括:
获取模块,用于获取所述区块链当前的区块数;
判断模块,用于判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;
确定模块,用于根据判断结果确定所述节点设备本次是否进行挖矿。
本发明第三方面提供一种节点设备,包括:
处理器单元、通信接口、存储器和通信总线;所述处理器单元、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器用于存储程序代码;
所述处理器单元用于执行所述程序代码以实现第一方面所述的方法。
本发明第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行第一方面所述的方法的指令。
采用上述技术方案,区块链网络中的所有节点设备均匀分布在不同的哈希槽,随着当前区块链的区块数每次的增加,进行挖矿的节点设备也发生变化,保证了同一节点设备无法连续产生区块。从而降低了算力强的节点设备挖矿的几率,增加了算力弱的节点设备挖矿的几率,使得区块链网络中各节点设备挖矿机会更加公平。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种区块链网络的示意图;
图2为本发明实施例提供的一种区块链的挖矿方法的流程示意图;
图3为本发明实施例提供的一种节点设备在哈希槽分布的示意图;
图4A为本发明实施例提供的一种挖矿装置的结构示意图;
图4B为本发明实施例提供的另一种挖矿装置的结构示意图;
图5为本发明实施例提供的一种节点设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了使本领域技术人员更容易理解本发明实施例提供的技术方案,下面首先对涉及到的相关技术进行简单介绍。
区块链是由区块链网络中所有节点共同参与维护的去中心化分布式数据库系统,它是由一系列基于密码学方法产生的数据块组成,每个数据块即为区块链中的一个区块。根据产生时间的先后顺序,区块被有序地链接在一起,形成一个数据链条,被形象地称为区块链。区块链由其特别的区块和交易产生、验证协议,具有不可更改,不可伪造、完全可追溯的安全特性。
区块链中的每个区块包括一些近期交易、前一个区块的引用、以及其他数据,还包括一个计算难度的答案,该答案对每个区块是唯一的。新区块如果没有正确答案,不能被发送到网络中。也就是说“挖矿”的过程本质上即是在竞争中“解决”当前区块。每个区块中的数学问题难以解决,但是一旦发现了一个有效解,其他网络节点很容易验证这个解的正确性。具体在比特币中,“挖矿”实际上就是记账的过程,比特币的运算采用了一种称为“工作量证明(Proof of Work,PoW)”的机制,系统为了找出谁有更强大的计算能力,每次会出一道数学题,只有最快解出这道题目的计算机才能进行记账。
另外,区块链网络中,不是所有节点均参与挖矿,一些节点可能只具备查询和发布交易的功能。其中,参与挖矿的节点称为矿工节点,本文以下所描述的节点均为矿工节点。
下面基于图1具体介绍区块链及其挖矿过程。如图1所示,一定数据的节点设备通过p2p网络相互建立连接,形成区块链的基础网络。在挖矿时,首先需要根据区块链既定的协议计算出当前区块对应的target值,即target=F,其中F为前一个区块中target值以及前一个区块和当前区块之间的时间差。然后网络中各节点设备通过当前区块号作为种子,产生一个非常大的随机数文件。每个节点设备将在随机数文件中不断的遍历随机数并做哈希hash(随机数)的运算,当节点设备从文件中找到一个hash(v)<target的随机数v时,说明本轮挖矿结束,所有节点设备中第一个找到v值的节点设备获得写区块权限。
基于上述过程可知,在所有节点设备均参与每一次挖矿的情况下,算力越高的节点设备挖矿产生区块的概率越大。若攻击者控制了区块链网络中的大部分算力,形成“51%攻击”,则可以对区块链网络的数据进行破坏。
本发明实施例提供一种区块链的挖矿方法,所述方法应用于区块链网络中的节点设备,如图2所示,该方法包括:
S201、获取所述区块链当前的区块数。
其中,区块链是同步在节点设备的本地的,因此,节点设备可以通过查询本地存储的区块链获取到当前的区块数。
S202、判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致。
其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数。
S203、根据判断结果确定所述节点设备本次是否进行挖矿。
也就是说,在每次挖矿前,节点设备需要经过步骤S202,确定自身本次是否进行挖矿。
采用上述方法,区块链网络中的所有节点设备均匀分布在不同的哈希槽,随着当前区块链的区块数每次的增加,进行挖矿的节点设备也发生变化,保证了同一节点设备无法连续产生区块。从而降低了算力强的节点设备挖矿的几率,增加了算力弱的节点设备挖矿的几率,使得区块链网络中各节点设备挖矿机会更加公平。
为了使本领域技术人员更加理解本发明实施例提供的技术方案,下面对上述步骤进行详细的说明。
首先举例说明如何实现区块链网络中的各节点设备在N个哈希槽均匀分布。
将每个节点设备的账号信息进行MD5(Message Digest Algorithm MD5,中文名为消息摘要算法第五版)哈希运算,利用哈希结果具有随机均匀分布的特性,将挖矿的账号对N进行取模运算(即对N求余数),这样每个账号都会对应一个编号在0至N-1之间的哈希槽。
值得说明的是,同一个节点设备可能存在有多个账号可以登录的情况,本文所描述的节点设备的账号信息是指节点设备当前的账号信息,即一个节点设备对应区块链网络中的一个账号,为了方便理解,本文所描述的节点设备可以认为是区块链网络中的账号。
如图3所示,当N等于4时,对节点设备的账户信息利用MD5算法求取哈希值后,由于哈希值具有随机均匀分布的特性,因此利用哈希值对N求取余数后,所有节点设备可以均匀分布到哈希槽0、哈希槽1、哈希槽2和哈希槽3中。也就是说,每一个哈希槽对应区块链网络中大概四分之一的节点设备。例如,区块链网络中存在节点设备1至8共八个节点设备,依次对每一个节点设备的账户信息利用MD5算法求得的哈希值分别为:63、17、46、27、36、82、24、41,对4取模得到的值为:3、1、2、3、0、2、0、1。可得节点设备5和节点设备7对应哈希槽0,节点设备2和节点设备8对应哈希槽1,节点设备3和节点设备6对应哈希槽2,节点设备1和节点设备4对应哈希槽3。
值得说明的是,采用上述方法,在区块链网络中增加新的节点设备时,只需要计算新增加的节点设备对应的哈希槽,而无需对已经存在的节点设备的哈希槽做调整,方便区块链网络的扩展。
另外,上述只是举例说明,本发明实施例还可以采用其他哈希算法将所有节点设备均匀分布在各个哈希槽,本发明对此不做限定。
这样,在获取到区块链当前的区块数后,区块数对应的哈希槽的计算可以是:利用当前区块数对N进行取模运算,得到的值即为对应的哈希槽的编号。
仍以图3进行举例说明,若区块链当前的区块数为8728,对4进行求余得到0,则当前区块对应的哈希槽即为哈希槽0。
进一步地,在本发明实施例的一种可能的实现方式中,上述步骤S203具体可以包括:在所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致时,确定所述节点设备本次不进行挖矿;在所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致时,确定所述节点设备本次进行挖矿。
示例地,如图3所示,若区块链当前的区块数为1,区块数对4求余等于1,则哈希槽1对应的节点设备2和8不参与对下一个区块的挖矿。在其他节点设备挖矿产生下一个区块后,区块链的区块数为2,对4求余等于2,则哈希槽2对应的节点设备3和节点设备6不参与对第3个区块的挖矿。按照上述流程依次进行,由于区块数的不断增加,对应的哈希槽也不断变化,从而每次参与挖矿的节点设备也发生变化,进而同一节点设备无法连续数次产生区块,提升了节点设备挖矿的公平性。
值得说明的是,考虑到节点设备可能出现故障导致无法挖矿,区块链网络中可能存在某一次挖矿没有节点设备参与的情况。例如,在图3中,当前区块数为3,区块数对4求余等于3,则哈希槽3对应的节点设备1和4不参与对下一个区块的挖矿,若其他节点设备均发生故障无法挖矿,那么本次就会出现没有节点设备挖矿的情况,区块链的区块数也不会增加。
因此,本发明实施例还可以包括:在连续M次获取到的区块数对应的哈希槽均与所述节点设备对应的哈希槽一致时,确定所述节点设备本次进行挖矿,M是大于或等于2的正整数。也就是说,若某一节点设备在连续M次获取到的区块数均未发生变化,导致自身连续M-1次未参与挖矿,则该节点设备可以在第M次时进行挖矿,保证了区块链网络的正常运行。
其中,M的具体取值可以根据实际情况预先设置。仍然以图3进行举例说明,若节点设备1获取到的区块链当前的区块数为7,由于区块数7对应的哈希槽是哈希槽3,因此节点设备1本次不参与对第8区块的挖矿。在下一次挖矿时,若节点设备1获取到的区块链当前的区块数仍然为7,则表明上一次挖矿其他节点设备也没有参与。这样,在M等于2的情况下,节点设备1确定本次进行挖矿。在M等于4的情况下,若节点设备1本次仍不进行挖矿,等到下一次若区块数增加,表明其他节点设备恢复正常挖矿,若区块数连续4次不变,则节点设备1确定挖矿,从而保证了区块链网络的正常运行。
进一步地,本发明实施例还可以在产生区块后,根据哈希槽位的判断验证节点设备本次产生区块是否合法。具体地,本发明实施例提供的挖矿方法还包括:接收所述区块链网络中的另一节点设备发送的区块,所述区块包括所述另一节点设备的账户信息;在确定所述区块数对应的哈希槽与所述另一节点设备对应的哈希槽不一致时,对所述区块进行工作量证明。
示例地,如图3所示,节点设备3在本次挖矿成功后,将区块广播至其他节点设备,节点设备1在接收到节点设备3广播的区块后,对节点设备3的账户信息进行MD5哈希运算,得到哈希值,利用哈希值对4求余,从而确定节点设备3对应哈希槽2,再根据区块链当前的区块数对4求余,确定当前区块数对应的哈希槽,若当前区块数对应的哈希槽与节点设备3对应的哈希槽不一致,表明节点设备3本次挖矿合法,可以对所述区块进行工作量证明。若当前区块数对应的哈希槽与节点设备3对应的哈希槽一致,表明节点设备3本次挖矿不合法,节点设备1可以丢弃所述区块,以拒绝将该区块添加到区块链。可替换地,在当前区块数对应的哈希槽与节点设备3对应的哈希槽一致,且当前区块链的区块数已经M次未变化时,节点设备1可以认为节点设备3本次挖矿合法,可以进一步对所述区块进行工作量证明。在具体实施时,节点1可以结合哈希槽位以及所述区块与上一区块之间的时间差综合判断节点3本次挖矿是否合法。
在本发明实施例的另一种可能的实现方式中,上述步骤S203还可以包括:在所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致时,确定所述节点设备本次进行挖矿;在所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致时,确定所述节点设备本次不进行挖矿。
示例地,如图3所示,若区块链当前的区块数为1,区块数对4求余等于1,则哈希槽1对应的节点设备2和8参与对下一个区块的挖矿,其他所有节点设备不参与对下一个区块的挖矿。在节点设备2或者节点设备8挖矿产生下一个区块后,区块链的区块数为2,对4求余等于2,则哈希槽2对应的节点设备3和节点设备6参与对第3个区块的挖矿,其他节点设备不参与对第3个区块的挖矿。按照上述流程依次进行,由于区块数的不断增加,对应的哈希槽也不断变化,从而每次参与挖矿的节点设备也发生变化,进而同一节点设备无法连续数次产生区块,提升了节点设备挖矿的公平性。
同样,考虑到节点设备可能出现故障导致无法挖矿,区块链网络中可能存在某一次挖矿没有节点设备参与的情况。本发明实施例还可以包括,在连续L次获取到的区块数对应的哈希槽均与所述节点设备对应的哈希槽不一致,则确定所述节点设备本次进行挖矿,L是大于或等于N的正整数。
也就是说,对于N个哈希槽,正常情况下,每N次挖矿,一个节点设备会至少会参与一次,若某一节点设备连续L-1次没有参与挖矿,则表明其他节点设备可能发生故障,因此,该节点设备可以在连续第L次确定区块数对应的哈希槽与自身对应的哈希槽不一致时,进行挖矿,从而保证了区块链网络的正常运行。
上述两种可能的实现方式只是举例说明,在具体实施时,可以根据具体的业务配置节点设备以何种方式判断每次是否进行挖矿。
下面针对上述第一种可能的实现方式分析采用本发明实施例提供的挖矿方法具体能够达到的效果。
以图3进行举例说明,将区块链上的所有节点设备通过账号MD5哈希值划入4个哈希槽中。利用区块数对4取模运算,这样将会从哈希槽0到哈希槽3依次击中槽位。槽位中的各节点设备将周期性的被禁止参与挖矿,实现禁止强算力节点设备挖矿的目的,最终避免强算力节点设备对区块链的垄断和提高攻击者进行双花攻击的难度。现有的工作量证明机制使得只要有一个强算力节点设备就可以实现双花攻击,采用本发明实施例后,要实现双花攻击至少要4个强算力的节点,从而提高攻击者的犯罪代价。
以下分析本发明实施例的故障容错能力和抗攻击能力。若每个节点设备故障的可能性为2.5%,每个节点设备被恶意攻击的可能性为25%,哈希槽位数为4,节点设备总数为X,则在其他节点设备出现故障,可用节点设备总数小于X/4且都在同一个槽位时,才会出现冻结,即没有参与挖矿的节点设备的情况,该种情况的概率分布符合累积二项式分布,实验结果表明当X=5时,出现冻结的概率为1.914E-6,即百万分之一的概率,并且随着X的增加,出现冻结的概率将逐渐趋近0,表明了采用本发明实施例提供的挖矿方法的区块链网络具备较高的故障容错能力。
对于抗攻击能力,当由于被攻击原因导致可用节点设备总数小于X/4且都在同一个槽位时,才会出现整个区块的写入被入侵者完全掌握的情况。这种概率也符合累积二项式分布,实验结果表明当X=18时,出现被控制的概率为3.9482E-6,之后随着X的增加,概率将逐渐趋近0。表明了采用本发明实施例提供的挖矿方法的区块链网络具备较高的抗攻击能力。
由此可知,采用本发明实施例提供的方法,在保证了区块链网络具有足够的故障容错能力和抗攻击能力的前提下,区块链网络中各个节点设备挖矿的机会更加公平。
本发明实施例还提供一种挖矿装置40,所述挖矿装置40用于区块链网络中的节点设备,用于实施上述方法实施例提供的一种区块链挖矿方法,如图4A所示,所述挖矿装置40包括:
获取模块401,用于获取所述区块链当前的区块数;
判断模块402,用于判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;
确定模块403,用于根据判断结果确定所述节点设备本次是否进行挖矿。
采用上述挖矿装置,区块链网络中的所有节点设备均匀分布在不同的哈希槽,随着当前区块链的区块数每次的增加,进行挖矿的节点设备也发生变化,保证了同一节点设备无法连续产生区块。从而降低了算力强的节点设备挖矿的几率,增加了算力弱的节点设备挖矿的几率,使得区块链网络中各节点设备挖矿机会更加公平。
可选地,所述确定模块403用于,在所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致时,确定所述节点设备本次不进行挖矿;在所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致时,确定所述节点设备本次进行挖矿。
可选地,所述确定单元403用于,在连续M次获取到的区块数对应的哈希槽均与所述节点设备对应的哈希槽一致时,确定所述节点设备本次进行挖矿,M是大于或等于2的正整数。
可选地,如图4B所示,所述挖矿装置40还包括:计算单元404,用于利用所述区块数对N进行取模运算,得到第一取模值;利用所述节点设备的账户信息根据MD5算法对N进行取模运算,得到第二取模值;所述判断模块402用于,判断所述第一取模值与所述第二取模值是否一致,其中,所述第一取模值与所述第二取模值一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致,所述第一取模值与所述第二取模值不一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致。
可选地,如图4B所示,所述挖矿装置40还包括:接收模块405,用于接收所述区块链网络中的另一节点设备发送的区块,所述区块包括所述另一节点设备的账户信息;工作量证明模块406,用于在确定所述区块数对应的哈希槽与所述另一节点设备对应的哈希槽不一致时,对所述区块进行工作量证明。
本领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述功能模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例还提供一种节点设备50,用于实施上述方法实施例提供的一种区块链挖矿方法,如图5所示,所述节点设备50包括:
处理器单元501、通信接口502、存储器503和通信总线504;所述处理器单元501、所述通信接口502和所述存储器503通过所述通信总线504完成相互间的通信。
处理器单元501可能是一个多核中央处理器CPU,或者是ASIC(ApplicationSpecific Integrated Circuit,特定集成电路),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器503用于存放程序代码,所述程序代码包括计算机操作指令和网络流图。存储器503可能携带高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
所述通信接口502,用于实现这些节点设备之间的连接通信。
所述处理器单元501执行程序代码,所述程序代码在运行时用于实现上述方法实施例提供的一种区块链的挖矿方法,所述方法包括:
获取所述区块链当前的区块数;
判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;
根据判断结果确定所述节点设备本次是否进行挖矿。
可选地,所述根据判断结果确定所述节点设备本次是否进行挖矿,包括:
在所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致时,确定所述节点设备本次不进行挖矿;
在所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致时,确定所述节点设备本次进行挖矿。
可选地,所述根据判断结果确定所述节点设备本次是否进行挖矿,包括:
若连续M次获取到的区块数对应的哈希槽均与所述节点设备对应的哈希槽一致,则确定所述节点设备本次进行挖矿,M是大于或等于2的正整数。
可选地,所述判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,包括:
利用所述区块数对N进行取模运算,得到第一取模值;
利用所述节点设备的账户信息根据MD5算法对N进行取模运算,得到第二取模值;
判断所述第一取模值与所述第二取模值是否一致,其中,所述第一取模值与所述第二取模值一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致,所述第一取模值与所述第二取模值不一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致。
可选地,所述方法还包括:
接收所述区块链网络中的另一节点设备发送的区块,所述区块包括所述另一节点设备的账户信息;
在确定所述区块数对应的哈希槽与所述另一节点设备对应的哈希槽不一致时,对所述区块进行工作量证明。
在本申请所提供的几个实施例中,应该理解到,所公开的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述功能模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储数据的介质。也就是说,本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行上述区块链的挖矿方法的指令。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (12)

1.一种区块链的挖矿方法,其特征在于,所述方法应用于区块链网络中的节点设备,所述方法包括:
获取所述区块链当前的区块数;
判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;
根据判断结果确定所述节点设备本次是否进行挖矿。
2.根据权利要求1所述的方法,其特征在于,所述根据判断结果确定所述节点设备本次是否进行挖矿,包括:
在所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致时,确定所述节点设备本次不进行挖矿;
在所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致时,确定所述节点设备本次进行挖矿。
3.根据权利要求1所述的方法,其特征在于,所述根据判断结果确定所述节点设备本次是否进行挖矿,包括:
若连续M次获取到的区块数对应的哈希槽均与所述节点设备对应的哈希槽一致,则确定所述节点设备本次进行挖矿,M是大于或等于2的正整数。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,包括:
利用所述区块数对N进行取模运算,得到第一取模值;
利用所述节点设备的账户信息根据MD5算法对N进行取模运算,得到第二取模值;
判断所述第一取模值与所述第二取模值是否一致,其中,所述第一取模值与所述第二取模值一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致,所述第一取模值与所述第二取模值不一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
接收所述区块链网络中的另一节点设备发送的区块,所述区块包括所述另一节点设备的账户信息;
在确定所述区块数对应的哈希槽与所述另一节点设备对应的哈希槽不一致时,对所述区块进行工作量证明。
6.一种挖矿装置,其特征在于,所述挖矿装置用于区块链网络中的节点设备,所述装置包括:
获取模块,用于获取所述区块链当前的区块数;
判断模块,用于判断所述区块数对应的哈希槽是否与所述节点设备对应的哈希槽一致,其中,所述区块链网络中的每一所述节点设备通过哈希算法分布在N个哈希槽,N为大于或等于2的正整数;
确定模块,用于根据判断结果确定所述节点设备本次是否进行挖矿。
7.根据权利要求6所述的装置,其特征在于,所述确定模块用于,在所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致时,确定所述节点设备本次不进行挖矿;
在所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致时,确定所述节点设备本次进行挖矿。
8.根据权利要求6所述的装置,其特征在于,所述确定单元用于,
在连续M次获取到的区块数对应的哈希槽均与所述节点设备对应的哈希槽一致时,确定所述节点设备本次进行挖矿,M是大于或等于2的正整数。
9.根据权利要求6至8任一项所述的装置,其特征在于,所述装置还包括:计算单元,用于利用所述区块数对N进行取模运算,得到第一取模值;利用所述节点设备的账户信息根据MD5算法对N进行取模运算,得到第二取模值;
所述判断模块用于,判断所述第一取模值与所述第二取模值是否一致,其中,所述第一取模值与所述第二取模值一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽一致,所述第一取模值与所述第二取模值不一致表明所述区块数对应的哈希槽与所述节点设备对应的哈希槽不一致。
10.根据权利要求6至8任一项所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收所述区块链网络中的另一节点设备发送的区块,所述区块包括所述另一节点设备的账户信息;
工作量证明模块,用于在确定所述区块数对应的哈希槽与所述另一节点设备对应的哈希槽不一致时,对所述区块进行工作量证明。
11.一种节点设备,其特征在于,包括:
处理器单元、通信接口、存储器和通信总线;所述处理器单元、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器用于存储程序代码;
所述处理器单元用于执行所述程序代码以实现权利要求1至5任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序包括用于执行权利要求1至5任一项所述的方法的指令。
CN201680003221.1A 2016-12-23 2016-12-23 区块链的挖矿方法、装置和节点设备 Active CN107078903B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/111860 WO2018112949A1 (zh) 2016-12-23 2016-12-23 区块链的挖矿方法、装置和节点设备

Publications (2)

Publication Number Publication Date
CN107078903A true CN107078903A (zh) 2017-08-18
CN107078903B CN107078903B (zh) 2019-12-06

Family

ID=59624459

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680003221.1A Active CN107078903B (zh) 2016-12-23 2016-12-23 区块链的挖矿方法、装置和节点设备

Country Status (3)

Country Link
US (1) US10664485B2 (zh)
CN (1) CN107078903B (zh)
WO (1) WO2018112949A1 (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及系统
CN107911819A (zh) * 2017-11-30 2018-04-13 江苏通付盾科技有限公司 基于手机号码选取打包节点的方法及系统
CN108241926A (zh) * 2017-08-25 2018-07-03 杭州复杂美科技有限公司 授权共识算法的区块链方案
CN108306898A (zh) * 2018-04-23 2018-07-20 北京奇虎科技有限公司 区块链攻击事件的感知方法、装置及计算设备
CN108512650A (zh) * 2018-02-28 2018-09-07 深圳沃链科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108551454A (zh) * 2018-04-23 2018-09-18 北京奇虎科技有限公司 基于交易笔数的区块链攻击事件感知方法及装置
CN108566398A (zh) * 2018-04-23 2018-09-21 北京奇虎科技有限公司 基于时间戳的区块链攻击事件感知方法及装置
CN108596617A (zh) * 2018-04-23 2018-09-28 北京奇虎科技有限公司 基于算法类型的区块链攻击事件感知方法及装置
CN108989464A (zh) * 2018-08-29 2018-12-11 上海常仁信息科技有限公司 一种基于区块链的挖矿机器人系统
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109242491A (zh) * 2018-08-31 2019-01-18 深圳付贝科技有限公司 挖矿身份认证方法、挖矿机及区块链系统
CN109238758A (zh) * 2018-08-02 2019-01-18 佛山鑫达智汇科技有限公司 一种矿机故障的检测方法和检测装置
CN109242676A (zh) * 2018-07-27 2019-01-18 阿里巴巴集团控股有限公司 区块发布方法及装置、电子设备
CN109410050A (zh) * 2018-09-27 2019-03-01 杭州复杂美科技有限公司 挖矿耗时修正方法、设备和存储介质
CN109462641A (zh) * 2018-10-30 2019-03-12 深圳市元征科技股份有限公司 一种用户通信方法及系统、设备、计算机可读存储介质
CN109993511A (zh) * 2019-04-01 2019-07-09 北京众享比特科技有限公司 一种区块验证方法
CN110109913A (zh) * 2018-01-15 2019-08-09 北京比特大陆科技有限公司 一种zerocash挖矿算法的硬件实现方法及装置
CN110113172A (zh) * 2019-04-29 2019-08-09 深圳市元征科技股份有限公司 一种难度调整的方法及相关设备
CN110222537A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 应用于区块链节的验证方法及装置
CN110245950A (zh) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 涉及区块链的出块方法及装置
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN111324489A (zh) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 主链游戏结果展示方法、设备和存储介质
CN111355608A (zh) * 2020-02-18 2020-06-30 杭州复杂美科技有限公司 一种区块链回滚异常识别方法和系统、设备及存储介质

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111327703B (zh) * 2017-03-28 2022-05-31 创新先进技术有限公司 一种基于区块链的共识方法及装置
US10762479B2 (en) * 2017-04-05 2020-09-01 Samsung Sds Co., Ltd. Method and system for processing blockchain-based real-time transaction
US10812270B2 (en) * 2017-04-07 2020-10-20 Citizen Hex Inc. Techniques for increasing the probability that a transaction will be included in a target block of a blockchain
CN109194718A (zh) * 2018-08-09 2019-01-11 玄章技术有限公司 一种区块链网络及其任务调度方法
CN109376115B (zh) * 2018-08-31 2020-09-15 北京智云芯科技有限公司 一种基于工作量证明的计算装置及计算方法
US10834122B2 (en) * 2018-09-05 2020-11-10 International Business Machines Corporation Prevention of majority attacks
WO2019137563A2 (en) * 2019-04-26 2019-07-18 Alibaba Group Holding Limited Anti-replay attack authentication protocol
TWI706346B (zh) * 2019-10-31 2020-10-01 鴻海精密工業股份有限公司 限制礦機算力的方法、礦機、儲存介質
CN110991955B (zh) * 2019-11-27 2023-04-18 太原理工大学 一种基于信息矩的组群数量多样性估计方法
US11682095B2 (en) 2020-02-25 2023-06-20 Mark Coast Methods and apparatus for performing agricultural transactions
CN111683120A (zh) * 2020-05-22 2020-09-18 哈尔滨工程大学 一种支持验证节点动态变化的联盟节点存储方法
CN113259186B (zh) * 2021-07-07 2021-10-08 发明之家(北京)科技有限公司 一种区块链的新区块监控方法和系统
CN113836147A (zh) * 2021-11-26 2021-12-24 广东辰宜信息科技有限公司 链标识生成方法及装置、链集群管理方法、系统、介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
US20150205680A1 (en) * 2014-01-17 2015-07-23 Netapp, Inc. Extent metadata update logging and checkpointing
CN105469510A (zh) * 2014-10-12 2016-04-06 吴思进 可预告延时支付或找回的加密货币钱包
CN105683898A (zh) * 2014-01-17 2016-06-15 网络装置公司 对储存系统中数据高效存储与检索的组相关哈希表组织
US20160218879A1 (en) * 2015-01-23 2016-07-28 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
CN106060036A (zh) * 2016-05-26 2016-10-26 布比(北京)网络技术有限公司 去中心化共识方法及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106296184A (zh) * 2015-06-05 2017-01-04 地气股份有限公司 电子货币管理方法及电子货币系统
US20170345011A1 (en) * 2016-05-26 2017-11-30 Hitfin, Inc. System and method executed on a blockchain network
US10454765B2 (en) * 2016-07-15 2019-10-22 Mastercard International Incorporated Method and system for node discovery and self-healing of blockchain networks
US10628491B2 (en) * 2016-11-09 2020-04-21 Cognitive Scale, Inc. Cognitive session graphs including blockchains
US10726346B2 (en) * 2016-11-09 2020-07-28 Cognitive Scale, Inc. System for performing compliance operations using cognitive blockchains
US10621233B2 (en) * 2016-11-09 2020-04-14 Cognitive Scale, Inc. Cognitive session graphs including blockchains

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015077378A1 (en) * 2013-11-19 2015-05-28 Sunrise Tech Group, Llc Block mining methods and apparatus
US20150205680A1 (en) * 2014-01-17 2015-07-23 Netapp, Inc. Extent metadata update logging and checkpointing
CN105683898A (zh) * 2014-01-17 2016-06-15 网络装置公司 对储存系统中数据高效存储与检索的组相关哈希表组织
CN105469510A (zh) * 2014-10-12 2016-04-06 吴思进 可预告延时支付或找回的加密货币钱包
US20160218879A1 (en) * 2015-01-23 2016-07-28 Daniel Robert Ferrin Method and apparatus for the limitation of the mining of blocks on a block chain
CN106060036A (zh) * 2016-05-26 2016-10-26 布比(北京)网络技术有限公司 去中心化共识方法及装置

Cited By (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108241926A (zh) * 2017-08-25 2018-07-03 杭州复杂美科技有限公司 授权共识算法的区块链方案
CN108241926B (zh) * 2017-08-25 2020-07-10 杭州复杂美科技有限公司 一种区块链授权共识方法
CN107733651A (zh) * 2017-09-11 2018-02-23 联动优势科技有限公司 一种区块链生成方法、节点及系统
CN107911819A (zh) * 2017-11-30 2018-04-13 江苏通付盾科技有限公司 基于手机号码选取打包节点的方法及系统
CN110109913A (zh) * 2018-01-15 2019-08-09 北京比特大陆科技有限公司 一种zerocash挖矿算法的硬件实现方法及装置
CN108512650B (zh) * 2018-02-28 2021-03-09 南京思利华信息科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108512650A (zh) * 2018-02-28 2018-09-07 深圳沃链科技有限公司 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN108306898A (zh) * 2018-04-23 2018-07-20 北京奇虎科技有限公司 区块链攻击事件的感知方法、装置及计算设备
CN108596617A (zh) * 2018-04-23 2018-09-28 北京奇虎科技有限公司 基于算法类型的区块链攻击事件感知方法及装置
CN108566398A (zh) * 2018-04-23 2018-09-21 北京奇虎科技有限公司 基于时间戳的区块链攻击事件感知方法及装置
CN108306898B (zh) * 2018-04-23 2021-02-05 北京奇宝科技有限公司 区块链攻击事件的感知方法、装置、计算设备及存储介质
CN108596617B (zh) * 2018-04-23 2020-11-20 北京奇虎科技有限公司 区块链攻击事件感知方法、装置及计算机存储介质
CN108551454B (zh) * 2018-04-23 2020-10-30 北京奇虎科技有限公司 区块链攻击事件感知方法、装置及计算机存储介质
CN108566398B (zh) * 2018-04-23 2020-10-27 北京奇虎科技有限公司 区块链攻击事件感知方法、装置及计算机存储介质
CN108551454A (zh) * 2018-04-23 2018-09-18 北京奇虎科技有限公司 基于交易笔数的区块链攻击事件感知方法及装置
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109033832B (zh) * 2018-06-22 2021-02-09 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109242676B (zh) * 2018-07-27 2023-10-27 创新先进技术有限公司 区块发布方法及装置、电子设备
CN109242676A (zh) * 2018-07-27 2019-01-18 阿里巴巴集团控股有限公司 区块发布方法及装置、电子设备
CN109238758A (zh) * 2018-08-02 2019-01-18 佛山鑫达智汇科技有限公司 一种矿机故障的检测方法和检测装置
CN108989464A (zh) * 2018-08-29 2018-12-11 上海常仁信息科技有限公司 一种基于区块链的挖矿机器人系统
CN109242491A (zh) * 2018-08-31 2019-01-18 深圳付贝科技有限公司 挖矿身份认证方法、挖矿机及区块链系统
CN109410050A (zh) * 2018-09-27 2019-03-01 杭州复杂美科技有限公司 挖矿耗时修正方法、设备和存储介质
CN109410050B (zh) * 2018-09-27 2021-08-06 杭州复杂美科技有限公司 挖矿耗时修正方法、设备和存储介质
CN109462641A (zh) * 2018-10-30 2019-03-12 深圳市元征科技股份有限公司 一种用户通信方法及系统、设备、计算机可读存储介质
CN109993511B (zh) * 2019-04-01 2021-07-06 北京众享比特科技有限公司 一种区块验证方法
CN109993511A (zh) * 2019-04-01 2019-07-09 北京众享比特科技有限公司 一种区块验证方法
CN110113172B (zh) * 2019-04-29 2022-04-15 深圳市元征科技股份有限公司 一种难度调整的方法及相关设备
CN110113172A (zh) * 2019-04-29 2019-08-09 深圳市元征科技股份有限公司 一种难度调整的方法及相关设备
CN110245950B (zh) * 2019-06-17 2020-08-04 北京瑞策科技有限公司 涉及区块链的出块方法及装置
CN110245950A (zh) * 2019-06-17 2019-09-17 北京艾摩瑞策科技有限公司 涉及区块链的出块方法及装置
CN110222537A (zh) * 2019-06-17 2019-09-10 北京艾摩瑞策科技有限公司 应用于区块链节的验证方法及装置
CN110989934A (zh) * 2019-12-05 2020-04-10 达闼科技成都有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN110989934B (zh) * 2019-12-05 2023-08-25 达闼机器人股份有限公司 区块链节点数据存储方法、区块链系统及区块链节点
CN111355608A (zh) * 2020-02-18 2020-06-30 杭州复杂美科技有限公司 一种区块链回滚异常识别方法和系统、设备及存储介质
CN111324489A (zh) * 2020-02-18 2020-06-23 杭州复杂美科技有限公司 主链游戏结果展示方法、设备和存储介质

Also Published As

Publication number Publication date
CN107078903B (zh) 2019-12-06
US20190310980A1 (en) 2019-10-10
US10664485B2 (en) 2020-05-26
WO2018112949A1 (zh) 2018-06-28

Similar Documents

Publication Publication Date Title
CN107078903A (zh) 区块链的挖矿方法、装置和节点设备
US11271717B2 (en) Blockchain consensus methods and systems
EP4002181A1 (en) A consensus method and framework for a blockchain system
Popov et al. The coordicide
CN110213059B (zh) 一种随机数的生成方法、生成装置及存储介质
JP2023109981A (ja) 低エントロピーパスワードを用いてブロックチェーントランザクションを許可するためのコンピュータ実装されたシステム及び方法
JP2023082161A (ja) ブロックチェーン間のセキュアな転送
US11121880B2 (en) Method for reaching consensus on public distributed ledgers and system using the same
Bahri et al. When trust saves energy: a reference framework for proof of trust (PoT) blockchains
CN107171810A (zh) 区块链的验证方法及装置
CN107005574A (zh) 区块生成方法、装置和区块链网络
Evans et al. R5n: Randomized recursive routing for restricted-route networks
CN107231239A (zh) 创世区块防伪方法及装置
CN109981690B (zh) 一种基于区块链智能合约的防篡改定时数据保密传输方法
CN106296196A (zh) 数字货币交易签章方法与系统及其数字货币交易装置
CN109861828A (zh) 一种基于边缘计算的节点接入和节点认证方法
Zhao et al. Fuzzy identity-based dynamic auditing of big data on cloud storage
CN111200604A (zh) 一种基于数据聚合的隐私保护方法及系统
Li et al. A survey of state-of-the-art sharding blockchains: Models, components, and attack surfaces
GB2587541A (en) A consensus method and framework for a blockchain system
US20230100485A1 (en) Neural consensus-based blockchain network system for performing random consensus proof using non-random consensus proof-based blockchain network
CN111566681A (zh) 快速且分区弹性的区块链
CN115134359A (zh) 抗并行挖矿和公开可验证出块权的区块链共识机制及系统
CN115099421A (zh) 面向群组的联邦学习系统
Liang et al. An effective and secure epidemic routing for disruption-tolerant networks

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
TR01 Transfer of patent right

Effective date of registration: 20210315

Address after: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee after: Dalu Robot Co.,Ltd.

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Patentee before: Shenzhen Qianhaida Yunyun Intelligent Technology Co.,Ltd.

TR01 Transfer of patent right
CP03 Change of name, title or address

Address after: 201111 Building 8, No. 207, Zhongqing Road, Minhang District, Shanghai

Patentee after: Dayu robot Co.,Ltd.

Address before: 201111 2nd floor, building 2, no.1508, Kunyang Road, Minhang District, Shanghai

Patentee before: Dalu Robot Co.,Ltd.

CP03 Change of name, title or address