CN112749304A - 限制矿机算力的方法、矿机、存储介质 - Google Patents
限制矿机算力的方法、矿机、存储介质 Download PDFInfo
- Publication number
- CN112749304A CN112749304A CN201911062918.8A CN201911062918A CN112749304A CN 112749304 A CN112749304 A CN 112749304A CN 201911062918 A CN201911062918 A CN 201911062918A CN 112749304 A CN112749304 A CN 112749304A
- Authority
- CN
- China
- Prior art keywords
- mining machine
- time
- mining
- limiting
- timestamp
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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/3239—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3236—Cryptographic 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3297—Cryptographic 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 time stamps, e.g. generation of time stamps
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/121—Timestamp
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Power Sources (AREA)
Abstract
本发明提供一种限制矿机算力的方法,利用字典库与时间戳卡控矿机每单位时间内可尝试的Nonce组合,即使字典库中的所有字符串全部已经尝试完毕,只要上一次产生时间戳的时间与当前时间之间的时间差值还未超出预设的门槛值,矿机就需休眠等待,直至时间差值超出该门槛值,矿机才可重新进行挖矿,藉由该机制避免部份矿机效能强大造成算力垄断的状况。本发明还提供实现所述限制矿机算力的方法的矿机和存储介质。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种限制矿机算力的方法、矿机、存储介质。
背景技术
区块链的运作仰赖于矿工们将交易讯息打包封装为区块再写入至区块链中,每则区块包含多组交易纪录与一组Nonce值,矿工将藉由不断变化Nonce值使其最后哈希出的结果符合难度要求,第一个求得Nonce值的矿工将可获得奖励。
区块链基于去中心化的设计理念原先希望每个人都可以使用手边闲置的运算资源来挖矿,但现今矿工为了追求利润已经从原先的CPU运算改为GPU运算,再从GPU转向使用专业的特殊集成电路的ASIC矿机,其每秒算力早已远超出一般个人用计算机数万倍以上,此举也导致区块链的算力趋近集中化,也减少了矿工节点的多样性。部份区块链社群为了抵抗ASIC矿机过于垄断算力也持续调整共识算法,但即使如此仍无法避免持续演进的特殊集成电路ASIC矿机,因此有必要提出一种可以避免单一机器算力过强造成算力过度集中的缺点的方法。
发明内容
鉴于以上内容,有必要提出一种限制矿机算力的方法、矿机、存储介质,可以用于解决现有技术中单一矿机算力过强造成算力过度集中的技术问题。
本发明第一方面提供一种限制矿机算力的方法,应用于矿机中,所述方法包括:
获取步骤,从交易池获得等待上链的交易内容;
第一判断步骤,判断字典池是否为空;
第一执行步骤,当确定所述字典池为空时,判断所述矿机上一次生成时间戳的时间与当前时间之间的时间差值是否小于预设的门槛值;
其中,当所述时间差值小于所述预设的门槛值时,触发所述矿机进入休眠状态;当所述时间差值大于或等于所述预设的门槛值时,生成当前时间的时间戳;及于生成时间戳后,将字典库所包括的所有字符串加载到所述字典池中,并触发所述第一判断步骤;
第二执行步骤,当确定所述字典池不为空时,从所述字典池中选定一字符串;
第三执行步骤,基于所选定的字符串、所述当前时间的时间戳,以及所述矿机的标识符生成Nonce值;
第四执行步骤,获取上一个区块的哈希值,对所述上一个区块的哈希值、所生成的Nonce值,以及所获得的所述等待上链的交易的内容进行哈希运算,得到一哈希值;
第二判断步骤,判断所述哈希值是否小于区块链的难度值;
第五执行步骤,当判断得出所述哈希值小于区块链的难度值时,确定挖矿成功;及
第六执行步骤,当判断得出所述哈希值大于或者等于所述区块链的难度值时,触发所述第一判断步骤。
优选地,所获得的所述交易内容包括交易金额、执行智能合约的指令。
优选地,该方法还包括:
第七执行步骤,当所述时间差值小于所述预设的门槛值时,于触发休眠状态之前计算所述矿机的预计休眠时长,其中,所述预计休眠时长等于所述门槛值与所述时间差值之间的差值;及
第八执行步骤,基于所述预计休眠时长以及当前时间设置所述矿机的唤醒时间,并于唤醒时间到达时将所述矿机唤醒;及
第九执行步骤,于唤醒所述矿机后,触发所述第一执行步骤。
优选地,所述字典库所包括的字符串以及字符串的数量固定不变的。
优选地,所述第二执行步骤中:当确定所述字典池不为空时,从所述字典池所包括的所有字符串中随机选择一个字符串,将该随机选择的字符串作为所述选定的字符串;及从所述字典池中移除所选定的字符串。
优选地,所述基于所选定的字符串、所述当前时间的时间戳,以及所述矿机的标识符生成Nonce值包括:
按照预设的组合规则将所选定的字符串、所述当前时间的时间戳,以及所述矿机的标识符进行组合,从而生成所述Nonce值。
优选地,所述预设的组合规则是指将所述当前时间的时间戳串接到所述矿机的标识符,以及将所选定的字符串串接到所述当前时间的时间戳。
优选地,所述预设的组合规则是指将所选定的字符串串接到所述矿机的标识符,以及将所述当前时间的时间戳串接到所选定的字符串。
本发明第二方面提供一种矿机,所述矿机包括存储器和处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令实现所述的限制矿机算力的方法。
本发明第三方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现所述的限制矿机算力的方法。
相较于现有技术,本发明提供的限制矿机算力的方法、矿机、存储介质,利用字典库与时间戳卡控矿机每单位时间内可尝试的Nonce组合,即使字典库中的所有字符串全部已经尝试完毕,只要上一次产生时间戳的时间与当前时间之间的时间差值还未超出预设的门槛值,矿机就需休眠等待,直至时间差值超出该门槛值,矿机才可重新进行挖矿,藉由该机制避免部份矿机效能强大造成算力垄断的状况。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明较佳实施例提供的限制矿机算力的方法的应用环境架构图。
图2是本发明较佳实施例提供的限制矿机算力的方法的流程图。
图3是本发明较佳实施例提供的限制矿机算力的系统的模块图。
图4是本发明较佳实施例提供的矿机的结构图。
主要元件符号说明
限制矿机算力的系统 | 30 |
执行模块 | 301 |
判断模块 | 302 |
矿机 | 1 |
区块链网络 | 2 |
存储器 | 11 |
处理器 | 12 |
通信总线 | 13 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
参阅图1所示,为本发明较佳实施例提供的限制矿机算力的方法的应用环境架构图。
本发明的限制矿机算力的方法应用在由多个矿机1(图中示出3个)以及区块链网络2所构成的应用环境中。
本实施例中,矿机1可以是专业矿机、家用电脑、智能手机、服务器、智能路由器、智能手表、智能电视机等。
需要说明的是,本实施例的图1所示的限制矿机算力的方法的应用环境仅为举例说明,不应解释为对本发明的限制。
图2是本发明较佳实施例提供的限制矿机算力的方法的流程图。
如图2所示,所述限制矿机算力的方法具体包括以下步骤,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
步骤S1、矿机1从交易池获得等待上链的交易内容。
本实施例中,所述等待上链的交易可以定义为尚未被送上区块链的交易记录。
所述交易池记录了当前记账周期内的所述交易记录。所述交易记录包括,但不限于,交易金额、交易双方身份信息、交易时间等标识当前交易的相关信息,以及执行智能合约的指令。
本实施例中,矿机1从交易池所获得的等待上链的交易内容包括,但不限于,交易金额、执行智能合约的指令。
步骤S2、当从交易池获得等待上链的交易内容后,矿机1判断字典池是否为空(也即是判断所述字典池是否包括字符串)。若字典池为空,执行步骤S3。若字典池不为空,执行步骤S4。
步骤S3、当确定所述字典池不为空时,矿机1判断矿机1上一次生成时间戳的时间与当前时间之间的时间差值是否大于预设的门槛值。当矿机1上一次生成时间戳的时间与当前时间之间的时间差值小于预设的门槛值时,执行步骤S31。当矿机1上一次生成时间戳的时间与当前时间之间的时间差值大于或等于所述预设的门槛值时,执行步骤S32。
本实施例中,所述预设的门槛值可以为0.5毫秒或者1毫秒。
所述时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至当前的总秒数。
本实施例中,所述字典池可以是指所述矿机1的用于暂时存储字符串的存储空间。需要说明的是,当矿机1获取到所述等待上链的交易的内容之后,首次执行到步骤S3时,可以默认所述矿机1上一次生成时间戳的时间与当前时间之间的时间差值大于所述预设的门槛值。
步骤S31、当所述时间差值小于所述预设的门槛值时,矿机1触发休眠状态,即触发矿机1进入休眠状态。在一个实施例中,当所述时间差值小于所述预设的门槛值时,矿机1还于触发休眠状态之前计算所述矿机1的预计休眠时长。
本实施例中,所述预计休眠时长等于所述预设的门槛值与所述时间差值之间的差值。所述矿机1还基于所述预计休眠时长以及当前时间(即所述矿机1的当前的系统时间)设置所述矿机1的唤醒时间,并于唤醒时间到达时将所述矿机1唤醒。由此达成所述矿机1于唤醒时间自动唤醒的功能。
本实施例中,所述唤醒时间等于所述矿机1的当前的系统时间与所述预计休眠时长之和。
举例而言,所述矿机1的当前的系统时间为8:30,所述预计休眠时长等于5秒,则所述唤醒时间为8:35。
本实施例中,当所述矿机1从所述休眠状态被唤醒后回到所述步骤S3,继续判断矿机1上一次生成时间戳的时间与当前时间之间的时间差值是否大于所述预设的门槛值。
步骤S32、当所述时间差值大于或等于所述预设的门槛值时,矿机1生成当前时间的时间戳。执行完步骤S32后执行步骤S33。
在一个实施例中,矿机1还存储所述当前时间的时间戳。相应地,当在步骤S3时,矿机1需要获取上一次(也即最近一次)生成时间戳的时间时,可以通过将最近一次所生成的时间戳进行转换,将转换后获得时间与矿机1当前的系统时间进行比较来获得所述时间差值。
在其他实施例中,矿机1还可以将所述当前时间与对应的时间戳建立关联,并将建立关联后的当前时间与对应的时间戳进行存储。由此,当在步骤S3时,矿机1即可直接获得上一次生成时间戳的时间,并将所获得的上一次生成时间戳的时间与矿机1当前的系统时间进行比较来获得所述时间差值。
步骤S33、矿机1将字典库所包括的所有字符串加载到所述字典池中。执行完步骤S33后回到步骤S2。
本实施例中,所述字典库可以是一个数据库。所述字典库可以是所述矿机1所包括的一个数据库,或者是与所述矿机1通讯连接的云存储空间,该云存储空间存储了所述字符串。
在一个实施例中,所述字典库所包括的字符串以及字符串的数量可以是固定不变的。
步骤S4、当确定所述字典池不为空时,矿机1从所述字典池中选定一个字符串。
在一个实施例中,矿机1还从所述字典池中移除所选定的字符串。
在一个实施例中,矿机1从所述字典池所包括的所有字符串中随机选择一个字符串,将该随机选择的字符串作为所述选定的字符串。
步骤S5、矿机1基于所选定的字符串、所述当前时间的时间戳,以及矿机1的标识符生成Nonce(编号)值。
在一个实施例中,矿机1的标识符可以是指矿机1的MAC地址(Media AccessControl Address,即MAC Address,媒体存取控制位址)。
在一个实施例中,矿机1可以按照预设的组合规则将所选定的字符串、所述当前时间的时间戳,以及矿机1的标识符进行组合,从而生成所述Nonce值。
在一个实施例中,所述预设的组合规则可以是指将所述当前时间的时间戳串接到所述矿机1的标识符,以及将所选定的字符串串接到所述当前时间的时间戳。
在其他实施例中,所述预设的组合规则也可以是指将所选定的字符串串接到所述矿机1的标识符,以及将所述当前时间的时间戳串接到所选定的字符串。
举例而言,矿机1的标识符为c8:1f:66:3b:a8:e3,所述当前时间的时间戳为1551060597367,所选定的字符串为CAPPUCCINO,若所述预设的组合规则是指将所述当前时间的时间戳串接到所述矿机1的标识符,以及将所选定的字符串串接到所述当前时间的时间戳,则生成的Nonce值为c8:1f:66:3b:a8:e31551060597367CAPPUCCINO。若所述预设的组合规则是指将所选定的字符串串接到所述矿机1的标识符,以及将所述当前时间的时间戳串接到所选定的字符串,那么所生成的Nonce值为c8:1f:66:3b:a8:e3 CAPPUCCINO1551060597367。
步骤S6、矿机1获取上一个区块的哈希值,对所述上一个区块的哈希值、所生成的Nonce值,以及所获得的所述等待上链的交易的内容进行哈希运算,得到一个哈希值。
本实施例中,矿机1从区块链网络2中获得所述上一个区块的哈希值。所述上一个区块也即是指最近一次生成的区块。
需要说明的是,哈希运算为本领域的现有技术,于此不再赘述。
步骤S7、矿机1判断所述哈希值是否小于预先确定的区块链的难度值(Difficulty值)。当判断得出所述哈希值小于区块链的难度值时,则确定矿机1挖矿成功。由此,矿机1产出的区块将可上传至区块链保存。
本实施例中,当确定矿机1挖矿成功时,矿机1还将所述哈希值进行存储。
当判断得出所述哈希值大于或者等于区块链的难度值时,则确定矿机1挖矿失败,回到步骤S2。矿机1将重新从字典池中取得字符串,并重新计算新的Nonce值。
从本发明的上述流程步骤可以看出,本发明利用字典库与时间戳卡控矿机每单位时间内可尝试的Nonce组合,即使字典库中的所有字符串全部已经尝试完毕,只要上一次产生时间戳的时间与当前时间之间的时间差值还未超出预设的门槛值,矿机就需休眠等待,直至时间差值超出该门槛值,矿机才可重新进行挖矿,藉由该机制避免部份矿机效能强大造成算力垄断的状况。
上述图2详细介绍了本发明的限制矿机算力的方法,下面结合图3和图4,对实现所述限制矿机算力的方法的软件系统的功能模块以及实现所述限制矿机算力的方法的硬件装置架构进行介绍。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
参阅图3所示,是本发明较佳实施例提供的限制矿机算力的系统的功能模块图。
在一些实施例中,所述限制矿机算力的系统30运行于矿机1中。所述限制矿机算力的系统30可以包括多个由程序代码段所组成的功能模块。所述限制矿机算力的系统30中的各个程序段的程序代码可以存储于矿机1的存储器中,并由所述矿机1的至少一个处理器所执行,以实现(详见图2描述)限制矿机算力的功能。
本实施例中,所述限制矿机算力的系统30根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:执行模块301以及判断模块302。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在本实施例中,关于各模块的功能将在后续的实施例中详述。
执行模块301从交易池获得等待上链的交易内容。
本实施例中,所述等待上链的交易可以定义为尚未被送上区块链的交易记录。
所述交易池记录了当前记账周期内的所述交易记录。所述交易记录包括,但不限于,交易金额、交易双方身份信息、交易时间等标识当前交易的相关信息,以及执行智能合约的指令。
本实施例中,执行模块301从交易池所获得的等待上链的交易的内容包括,但不限于,交易金额、执行智能合约的指令。
当从交易池获得等待上链的交易内容后,判断模块302判断字典池是否为空(也即是判断所述字典池是否包括字符串)。当确定所述字典池不为空时,判断模块302判断矿机1上一次生成时间戳的时间与当前时间之间的时间差值是否大于预设的门槛值。本实施例中,所述预设的门槛值可以为0.5毫秒或者1毫秒。
所述时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至当前的总秒数。
本实施例中,所述字典池可以是指所述矿机1的用于暂时存储字符串的存储空间。需要说明的是,当执行模块301获取到所述等待上链的交易的内容之后,判断模块302首次判断矿机1上一次生成时间戳的时间与当前时间之间的时间差值是否大于预设的门槛值时,可以默认所述矿机1上一次生成时间戳的时间与当前时间之间的时间差值大于所述预设的门槛值。
当所述时间差值小于所述预设的门槛值时,执行模块301触发休眠状态,即触发矿机1进入休眠状态。在一个实施例中,当所述时间差值小于所述预设的门槛值时,执行模块301还于触发休眠状态之前计算所述矿机1的预计休眠时长。
本实施例中,所述预计休眠时长等于所述预设的门槛值与所述时间差值之间的差值。所述执行模块301还基于所述预计休眠时长以及当前时间(即所述矿机1的当前的系统时间)设置所述矿机1的唤醒时间,并于唤醒时间到达时将所述矿机1唤醒。由此达成所述矿机1于唤醒时间自动唤醒的功能。
本实施例中,所述唤醒时间等于所述矿机1的当前的系统时间与所述预计休眠时长之和。
举例而言,所述矿机1的当前的系统时间为8:30,所述预计休眠时长等于5秒,则所述唤醒时间为8:35。
本实施例中,当所述矿机1从所述休眠状态被唤醒后,判断模块302继续判断矿机1上一次生成时间戳的时间与当前时间之间的时间差值是否大于所述预设的门槛值。
当所述时间差值大于或等于所述预设的门槛值时执行模块301生成当前时间的时间戳。在一个实施例中,执行模块301还存储所述当前时间的时间戳。相应地,执行模块301需要获取上一次(也即最近一次)生成时间戳的时间时,可以通过将最近一次所生成的时间戳进行转换,将转换后获得时间与矿机1当前的系统时间进行比较来获得所述时间差值。
在其他实施例中,执行模块301还可以将所述当前时间与对应的时间戳建立关联,并将建立关联后的当前时间与对应的时间戳进行存储。由此,执行模块301即可直接获得上一次生成时间戳的时间,并将所获得的上一次生成时间戳的时间与矿机1当前的系统时间进行比较来获得所述时间差值。
执行模块301将字典库所包括的所有字符串加载到所述字典池中。
本实施例中,所述字典库可以是一个数据库。所述字典库可以是所述矿机1所包括的一个数据库,或者是与所述矿机1通讯连接的云存储空间,该云存储空间存储了所述字符串。
在一个实施例中,所述字典库所包括的字符串以及字符串的数量可以是固定不变的。
当确定所述字典池不为空时,执行模块301从所述字典池中选定一个字符串。
在一个实施例中,执行模块301还从所述字典池中移除所选定的字符串。
在一个实施例中,执行模块301从所述字典池所包括的所有字符串中随机选择一个字符串,将该随机选择的字符串作为所述选定的字符串。
执行模块301基于所选定的字符串、所述当前时间时间戳,以及矿机1的标识符生成Nonce(编号)值。
在一个实施例中,矿机1的标识符可以是指矿机1的MAC地址(Media AccessControl Address,即MAC Address,媒体存取控制位址)。
在一个实施例中,执行模块301可以按照预设的组合规则将所选定的字符串、所述当前时间时间戳,以及矿机1的标识符进行组合,从而生成所述Nonce值。
在一个实施例中,所述预设的组合规则可以是指将所述当前时间的时间戳串接到所述矿机1的标识符,以及将所选定的字符串串接到所述当前时间的时间戳。
在其他实施例中,所述预设的组合规则也可以是指将所选定的字符串串接到所述矿机1的标识符,以及将所述当前时间的时间戳串接到所选定的字符串。
举例而言,矿机1的标识符为c8:1f:66:3b:a8:e3,所述当前时间的时间戳为1551060597367,所选定的字符串为CAPPUCCINO,若所述预设的组合规则是指将所述当前时间的时间戳串接到所述矿机1的标识符,以及将所选定的字符串串接到所述当前时间的时间戳,则生成的Nonce值为c8:1f:66:3b:a8:e31551060597367 CAPPUCCINO。若所述预设的组合规则是指将所选定的字符串串接到所述矿机1的标识符,以及将所述当前时间的时间戳串接到所选定的字符串,那么所生成的Nonce值为c8:1f:66:3b:a8:e3 CAPPUCCINO1551060597367。
执行模块301获取上一个区块的哈希值,对所述上一个区块的哈希值、所生成的Nonce值,以及所获得的所述等待上链的交易的内容进行哈希运算,得到一个哈希值。
本实施例中,执行模块301从区块链网络2中获得所述上一个区块的哈希值。所述上一个区块也即是指最近一次生成的区块。
需要说明的是,哈希运算为本领域的现有技术,于此不再赘述。
判断模块302判断所述哈希值是否小于预先确定的区块链的难度值(Difficulty值)。当判断得出所述哈希值小于区块链的难度值时,则确定矿机1挖矿成功。由此,矿机1产出的区块将可上传至区块链保存。
本实施例中,当确定矿机1挖矿成功时,判断模块302还将所述哈希值进行存储。
当判断得出所述哈希值大于或者等于区块链的难度值时,则确定矿机1挖矿失败。执行模块301将重新从字典池中取得字符串,并重新计算新的Nonce值。
根据本发明的上述记载可以看出,本发明利用字典库与时间戳卡控矿机每单位时间内可尝试的Nonce组合,即使字典库中的所有字符串全部已经尝试完毕,只要上一次产生时间戳的时间与当前时间之间的时间差值还未超出预设的门槛值,矿机就需休眠等待,直至时间差值超出该门槛值,矿机才可重新进行挖矿,藉由该机制避免部份矿机效能强大造成算力垄断的状况。
参阅图4所示,为本发明较佳实施例提供的矿机的结构示意图。在本发明较佳实施例中,所述矿机1包括存储器11、至少一个处理器12、至少一条通信总线13。本领域技术人员应该了解,图4示出的矿机的结构并不构成本发明实施例的限定,既可以是总线型结构,也可以是星形结构,所述矿机1还可以包括比图示更多或更少的其他硬件或者软件,或者不同的部件布置。
在一些实施例中,所述矿机1包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的终端,其硬件包括但不限于微处理器、专用集成电路、可编程门阵列、数字处理器及嵌入式设备等。
需要说明的是,所述矿机1仅为举例,其他现有的或今后可能出现的电子产品如可适应于本发明,也应包含在本发明的保护范围以内,并以引用方式包含于此。
在一些实施例中,所述存储器11用于存储程序代码和各种数据,例如安装在所述矿机1中的限制矿机算力的系统30,并在矿机1的运行过程中实现高速、自动地完成程序或数据的存取。所述存储器11包括只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、可擦除可编程只读存储器(ErasableProgrammable Read-Only Memory,EPROM)、一次可编程只读存储器(One-timeProgrammable Read-Only Memory,OTPROM)、电子擦除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者任何其他能够用于携带或存储数据的计算机可读的存储介质。
在一些实施例中,所述至少一个处理器12可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(Central Processing unit,CPU)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述至少一个处理器12是所述矿机1的控制核心(Control Unit),利用各种接口和线路连接整个矿机1的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块,以及调用存储在所述存储器11内的数据,以执行矿机1的各种功能和处理数据,例如限制矿机算力的功能。
在一些实施例中,所述至少一条通信总线13被设置为实现所述存储器11以及所述至少一个处理器12等之间的连接通信。
尽管未示出,所述矿机1还可以包括给各个部件供电的电源(比如电池),优选的,电源可以通过电源管理装置与所述至少一个处理器12逻辑相连,从而通过电源管理装置实现管理充电、放电、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述矿机1还可以包括多种传感器、蓝牙模块、Wi-Fi模块等,在此不再赘述。
应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能模块包括若干指令用以使得一台矿机(可以是服务器、个人电脑等)或处理器(processor)执行本发明各个实施例所述方法的部分。
在进一步的实施例中,结合图2,所述至少一个处理器12可执行所述矿机1的操作装置以及各类应用程序(如所述的限制矿机算力的系统30)例如所述各个模块等。
所述存储器11中存储有程序代码,且所述至少一个处理器12可调用所述存储器11中存储的程序代码以执行相关的功能。例如,图2中所述的各个模块是存储在所述存储器11中的程序代码,并由所述至少一个处理器12所执行,从而实现所述各个模块的功能以达到限制矿机算力的目的。
在本发明的一个实施例中,所述存储器11存储多个指令,所述多个指令被所述至少一个处理器12所执行以实现限制矿机算力的目的。具体步骤参图2所示,于此不再赘述。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种限制矿机算力的方法,应用于矿机中,其特征在于,所述方法包括:
获取步骤,从交易池获得等待上链的交易内容;
第一判断步骤,判断字典池是否为空;
第一执行步骤,当确定所述字典池为空时,判断所述矿机上一次生成时间戳的时间与当前时间之间的时间差值是否小于预设的门槛值;
其中,当所述时间差值小于所述预设的门槛值时,触发所述矿机进入休眠状态;当所述时间差值大于或等于所述预设的门槛值时,生成当前时间的时间戳;及于生成所述当前时间的时间戳后,将字典库所包括的所有字符串加载到所述字典池中,并触发所述第一判断步骤;
第二执行步骤,当确定所述字典池不为空时,从所述字典池中选定一字符串;
第三执行步骤,基于所选定的字符串、所述当前时间的时间戳,以及所述矿机的标识符生成Nonce值;
第四执行步骤,获取上一个区块的哈希值,对所述上一个区块的哈希值、所生成的Nonce值,以及所获得的所述等待上链的交易的内容进行哈希运算,得到一哈希值;
第二判断步骤,判断所述哈希值是否小于区块链的难度值;
第五执行步骤,当判断得出所述哈希值小于区块链的难度值时,确定挖矿成功;及
第六执行步骤,当判断得出所述哈希值大于或者等于所述区块链的难度值时,触发所述第一判断步骤。
2.如权利要求1所述的限制矿机算力的方法,其特征在于,所述交易内容包括交易金额、执行智能合约的指令。
3.如权利要求1所述的限制矿机算力的方法,其特征在于,该方法还包括:
第七执行步骤,当所述时间差值小于所述预设的门槛值时,于触发休眠状态之前计算所述矿机的预计休眠时长,其中,所述预计休眠时长等于所述门槛值与所述时间差值之间的差值;及
第八执行步骤,基于所述预计休眠时长以及当前时间设置所述矿机的唤醒时间,并于唤醒时间到达时将所述矿机唤醒;及
第九执行步骤,于唤醒所述矿机后,触发所述第一执行步骤。
4.如权利要求1所述的限制矿机算力的方法,其特征在于,所述字典库所包括的字符串以及字符串的数量固定不变的。
5.如权利要求1所述的限制矿机算力的方法,其特征在于,所述第二执行步骤中:
当确定所述字典池不为空时,从所述字典池所包括的所有字符串中随机选择一个字符串,将该随机选择的字符串作为所述选定的字符串;及
从所述字典池中移除所选定的字符串。
6.如权利要求1所述的限制矿机算力的方法,其特征在于,所述基于所选定的字符串、所述当前时间的时间戳,以及所述矿机的标识符生成Nonce值包括:
按照预设的组合规则将所选定的字符串、所述当前时间的时间戳,以及所述矿机的标识符进行组合,从而生成所述Nonce值。
7.如权利要求6所述的限制矿机算力的方法,其特征在于,所述预设的组合规则是指将所述当前时间的时间戳串接到所述矿机的标识符,以及将所选定的字符串串接到所述当前时间的时间戳。
8.如权利要求6所述的限制矿机算力的方法,其特征在于,所述预设的组合规则是指将所选定的字符串串接到所述矿机的标识符,以及将所述当前时间的时间戳串接到所选定的字符串。
9.一种矿机,其特征在于,所述矿机包括存储器和处理器,所述存储器用于存储至少一个指令,所述处理器用于执行所述至少一个指令实现如权利要求1至8中任意一项所述的限制矿机算力的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至8中任意一项所述的限制矿机算力的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911062918.8A CN112749304B (zh) | 2019-10-31 | 2019-10-31 | 限制服务器算力的方法、服务器、存储介质 |
US16/872,683 US11368320B2 (en) | 2019-10-31 | 2020-05-12 | Mining machine and method for limiting computing power |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911062918.8A CN112749304B (zh) | 2019-10-31 | 2019-10-31 | 限制服务器算力的方法、服务器、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112749304A true CN112749304A (zh) | 2021-05-04 |
CN112749304B CN112749304B (zh) | 2023-06-02 |
Family
ID=75645012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911062918.8A Active CN112749304B (zh) | 2019-10-31 | 2019-10-31 | 限制服务器算力的方法、服务器、存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11368320B2 (zh) |
CN (1) | CN112749304B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111781985B (zh) * | 2020-06-12 | 2021-07-02 | 深圳比特微电子科技有限公司 | 矿机功率调整方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117608A (zh) * | 2018-06-30 | 2019-01-01 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置及相关设备 |
CN109146484A (zh) * | 2018-08-31 | 2019-01-04 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
CN109242299A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 分布式挖矿方法、挖矿机及区块链系统 |
CN109981286A (zh) * | 2019-03-13 | 2019-07-05 | 北京柏链基石科技有限公司 | 一种工作量证明计算的触发方法、装置及计算设备 |
US20190306190A1 (en) * | 2018-03-30 | 2019-10-03 | Konica Minolta Laboratory U.S.A., Inc. | Method for adjusting mining difficulty of a cryptocurrency blockchain system by monitoring malicious forks and implementing a miners blockchain |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6507678B2 (en) * | 1998-06-19 | 2003-01-14 | Fujitsu Limited | Apparatus and method for retrieving character string based on classification of character |
US8634390B2 (en) * | 2009-10-14 | 2014-01-21 | Verizon Patent And Licensing Inc. | Systems and methods for wireless local area network based control of a set-top box device |
US10019604B2 (en) * | 2014-10-31 | 2018-07-10 | Xiaomi Inc. | Method and apparatus of verifying terminal and medium |
US20160350751A1 (en) * | 2015-05-27 | 2016-12-01 | Bank Of America Corporation | Provisioning a Mobile Device with a Code Generation Key to Enable Generation of One-Time Passcodes |
EP3355513B1 (en) * | 2017-01-31 | 2020-10-14 | Sony Corporation | Electronic node and method for maintaining a distributed ledger |
WO2019204213A1 (en) * | 2018-04-15 | 2019-10-24 | Cooner Jason | Encryption for blockchain cryptocurrency transactions and uses in conjunction with carbon credits |
CN110705973B (zh) * | 2018-07-10 | 2023-05-16 | 深圳市红砖坊技术有限公司 | 应用于区块链系统中矿工节点的共识方法和区块链系统 |
EP3605944B1 (en) * | 2018-07-31 | 2023-08-30 | Siemens Healthcare GmbH | Documenting timestamps within a blockchain |
-
2019
- 2019-10-31 CN CN201911062918.8A patent/CN112749304B/zh active Active
-
2020
- 2020-05-12 US US16/872,683 patent/US11368320B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190306190A1 (en) * | 2018-03-30 | 2019-10-03 | Konica Minolta Laboratory U.S.A., Inc. | Method for adjusting mining difficulty of a cryptocurrency blockchain system by monitoring malicious forks and implementing a miners blockchain |
CN109117608A (zh) * | 2018-06-30 | 2019-01-01 | 深圳市元征科技股份有限公司 | 一种数据处理方法、装置及相关设备 |
CN109146484A (zh) * | 2018-08-31 | 2019-01-04 | 深圳付贝科技有限公司 | 基于区块链的共识验证方法、挖矿机及区块链系统 |
CN109242299A (zh) * | 2018-08-31 | 2019-01-18 | 深圳付贝科技有限公司 | 分布式挖矿方法、挖矿机及区块链系统 |
CN109981286A (zh) * | 2019-03-13 | 2019-07-05 | 北京柏链基石科技有限公司 | 一种工作量证明计算的触发方法、装置及计算设备 |
Non-Patent Citations (1)
Title |
---|
杜江天;: "区块链工作量证明机制中的哈希算法探讨" * |
Also Published As
Publication number | Publication date |
---|---|
US11368320B2 (en) | 2022-06-21 |
US20210135889A1 (en) | 2021-05-06 |
CN112749304B (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104205755A (zh) | 用于在计算设备的网络触发的唤醒期间延迟分组的方法、设备和系统 | |
CN111966449B (zh) | 一种虚拟机备份管理方法、系统、终端及存储介质 | |
CN113268334A (zh) | Rpa机器人的调度方法、装置、设备以及存储介质 | |
CN112749304A (zh) | 限制矿机算力的方法、矿机、存储介质 | |
CN115543608A (zh) | 有序用电用户基准负荷快速核算方法及装置 | |
CN111708513A (zh) | 一种伪随机数种子生成方法及相关产品 | |
CN112328602B (zh) | 一种数据写入Kafka的方法、装置及设备 | |
CN111813518A (zh) | 机器人预警方法、装置、计算机设备及存储介质 | |
CN113691631B (zh) | 一种数据清理的方法、装置及电子设备 | |
TWI706346B (zh) | 限制礦機算力的方法、礦機、儲存介質 | |
CN115756309A (zh) | 电池管理设备参数存储方法、电池管理设备、储能系统 | |
CN114721876A (zh) | 一种数据备份方法、装置、介质 | |
WO2021174779A1 (zh) | 数据预处理系统、方法、计算机设备及可读存储介质 | |
CN110175096B (zh) | 一种gpu加压测试方法、系统、终端及存储介质 | |
CN112462922B (zh) | 一种风扇节能控制方法、系统、终端及存储介质 | |
CN104572412A (zh) | 虚拟机开机时数统计方法及系统 | |
CN114327986B (zh) | Frb2 wdt超时时间确定方法、装置、设备及介质 | |
CN112402955B (zh) | 游戏日志记录方法及系统 | |
CN110941479A (zh) | 任务数据执行方法、服务器以及计算机存储介质 | |
CN110162561B (zh) | 离线压缩方法、装置、计算机设备及存储介质 | |
CN112084022B (zh) | 一种项目容量规划方法、装置、计算机设备和存储介质 | |
CN115081233B (zh) | 一种流程仿真方法及电子设备 | |
CN108268662A (zh) | 基于h5页面的社交图谱生成方法、电子装置及存储介质 | |
CN113032128B (zh) | 一种多任务的控制方法、装置、电子设备及存储介质 | |
CN114328402A (zh) | 垃圾文件清理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |