TWI706346B - 限制礦機算力的方法、礦機、儲存介質 - Google Patents
限制礦機算力的方法、礦機、儲存介質 Download PDFInfo
- Publication number
- TWI706346B TWI706346B TW108139485A TW108139485A TWI706346B TW I706346 B TWI706346 B TW I706346B TW 108139485 A TW108139485 A TW 108139485A TW 108139485 A TW108139485 A TW 108139485A TW I706346 B TWI706346 B TW I706346B
- Authority
- TW
- Taiwan
- Prior art keywords
- mining machine
- time
- limiting
- computing power
- current time
- Prior art date
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本發明提供一種限制礦機算力的方法,利用字典庫與時間戳記卡控礦機每單位時間內可嘗試的Nonce組合,即使字典庫中的所有字串全部已經嘗試完畢,只要上一次產生時間戳記的時間與當前時間之間的時間差值還未超出預設的門檻值,礦機就需休眠等待,直至時間差值超出該門檻值,礦機才可重新進行挖礦,藉由該機制避免部份礦機效能強大造成算力壟斷的狀況。本發明還提供實現所述限制礦機算力的方法的礦機和儲存介質。
Description
本發明涉及區塊鏈技術領域,具體涉及一種限制礦機算力的方法、礦機、儲存介質。
區塊鏈的運作仰賴於礦工們將交易訊息打包封裝為區塊再寫入至區塊鏈中,每則區塊包含多組交易紀錄與一組Nonce值,礦工將藉由不斷變化Nonce值使其最後雜湊出的結果符合難度要求,第一個求得Nonce值的礦工將可獲得獎勵。
區塊鏈基於去中心化的設計理念原先希望每個人都可以使用手邊閒置的運算資源來挖礦,但現今礦工為了追求利潤已經從原先的CPU運算改為GPU運算,再從GPU轉向使用專業的特殊積體電路的ASIC礦機,其每秒算力早已遠超出一般個人用電腦數萬倍以上,此舉也導致區塊鏈的算力趨近集中化,也減少了礦工節點的多樣性。部份區塊鏈社群為了抵抗ASIC礦機過於壟斷算力也持續調整共識演算法,但即使如此仍無法避免持續演進的特殊積體電路ASIC礦機,因此有必要提出一種可以避免單一機器算力過強造成算力過度集中的缺點的方法。
鑒於以上內容,有必要提出一種限制礦機算力的方法、礦機、儲存介質,可以用於解決習知技術中單一礦機算力過強造成算力過度集中的技術問題。
本發明第一方面提供一種限制礦機算力的方法,應用於礦機中,所述方法包括:獲取步驟,從交易池獲得等待上鏈的交易內容;第一判斷步驟, 判斷字典池是否為空;第一執行步驟,當確定所述字典池為空時,判斷所述礦機上一次生成時間戳記的時間與當前時間之間的時間差值是否小於預設的門檻值;其中,當所述時間差值小於所述預設的門檻值時,觸發所述礦機進入休眠狀態;當所述時間差值大於或等於所述預設的門檻值時,生成當前時間的時間戳記;及於生成時間戳記後,將字典庫所包括的所有字串載入到所述字典池中,並觸發所述第一判斷步驟;第二執行步驟,當確定所述字典池不為空時,從所述字典池中選定一字串;第三執行步驟,基於所選定的字串、所述當前時間的時間戳記,以及所述礦機的識別字生成Nonce值;第四執行步驟,獲取上一個區塊的雜湊值,對所述上一個區塊的雜湊值、所生成的Nonce值,以及所獲得的所述等待上鏈的交易的內容進行雜湊運算,得到一雜湊值;第二判斷步驟,判斷所述雜湊值是否小於區塊鏈的難度值;第五執行步驟,當判斷得出所述雜湊值小於區塊鏈的難度值時,確定挖礦成功;及第六執行步驟,當判斷得出所述雜湊值大於或者等於所述區塊鏈的難度值時,觸發所述第一判斷步驟。
優選地,所獲得的所述交易內容包括交易金額、執行智慧合約的指令。
優選地,該方法還包括:第七執行步驟,當所述時間差值小於所述預設的門檻值時,於觸發休眠狀態之前計算所述礦機的預計休眠時長,其中,所述預計休眠時長等於所述門檻值與所述時間差值之間的差值;及第八執行步驟,基於所述預計休眠時長以及當前時間設置所述礦機的喚醒時間,並於喚醒時間到達時將所述礦機喚醒;及第九執行步驟,於喚醒所述礦機後,觸發所述第一執行步驟。
優選地,所述字典庫所包括的字串以及字串的數量固定不變的。
優選地,所述第二執行步驟中:當確定所述字典池不為空時,從所述字典池所包括的所有字串中隨機選擇一個字串,將該隨機選擇的字串作為所述選定的字串;及從所述字典池中移除所選定的字串。
優選地,所述基於所選定的字串、所述當前時間的時間戳記,以及所述礦機的識別字生成Nonce值包括:按照預設的組合規則將所選定的字串、所述當前時間的時間戳記,以及所述礦機的識別字進行組合,從而生成所述Nonce值。
優選地,所述預設的組合規則是指將所述當前時間的時間戳記串接到所述礦機的識別字,以及將所選定的字串串接到所述當前時間的時間戳記。
優選地,所述預設的組合規則是指將所選定的字串串接到所述礦機的識別字,以及將所述當前時間的時間戳記串接到所選定的字串。
本發明第二方面提供一種礦機,所述礦機包括儲存器和處理器,所述儲存器用於儲存至少一個指令,所述處理器用於執行所述至少一個指令實現所述的限制礦機算力的方法。
本發明協力廠商面提供一種電腦可讀儲存介質,所述電腦可讀儲存介質儲存有至少一個指令,所述至少一個指令被處理器執行時實現所述的限制礦機算力的方法。
相較於習知技術,本發明提供的限制礦機算力的方法、礦機、儲存介質,利用字典庫與時間戳記卡控礦機每單位時間內可嘗試的Nonce組合,即使字典庫中的所有字串全部已經嘗試完畢,只要上一次產生時間戳記的時間與當前時間之間的時間差值還未超出預設的門檻值,礦機就需休眠等待,直至時間差值超出該門檻值,礦機才可重新進行挖礦,藉由該機制避免部份礦機效能強大造成算力壟斷的狀況。
為了能夠更清楚地理解本發明的上述目的、特徵和優點,下面結合附圖和具體實施例對本發明進行詳細描述。需要說明的是,在不衝突的情況下,本發明的實施例及實施例中的特徵可以相互組合。
在下面的描述中闡述了很多具體細節以便於充分理解本發明,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
除非另有定義,本文所使用的所有的技術和科學術語與屬於本發明的技術領域的技術人員通常理解的含義相同。本文中在本發明的說明書中所使用的術語只是為了描述具體的實施例的目的,不是旨在於限制本發明。
參閱圖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 Access Control Address,即MAC Address,媒體存取控制位址)。
在一個實施例中,礦機1可以按照預設的組合規則將所選定的字串、所述當前時間的時間戳記,以及礦機1的識別字進行組合,從而生成所述Nonce值。
在一個實施例中,所述預設的組合規則可以是指將所述當前時間的時間戳記串接到所述礦機1的識別字,以及將所選定的字串串接到所述當前時間的時間戳記。
在其他實施例中,所述預設的組合規則也可以是指將所選定的字串串接到所述礦機1的識別字,以及將所述當前時間的時間戳記串接到所選定的字串。
舉例而言,礦機1的識別字為c8:1f:66:3b:a8:e3,所述當前時間的時間戳記為 1551060597367,所選定的字串為CAPPUCCINO,若所述預設的組合規則是指將所述當前時間的時間戳記串接到所述礦機1的識別字,以及將所選定的字串串接到所述當前時間的時間戳記,則生成的Nonce值為c8:1f:66:3b:a8:e3 1551060597367 CAPPUCCINO。若所述預設的組合規則是指將所選定的字串串接到所述礦機1的識別字,以及將所述當前時間的時間戳記串接到所選定的字串,那麼所生成的Nonce值為c8:1f:66:3b:a8:e3 CAPPUCCINO 1551060597367。
步驟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 Access Control Address,即MAC Address,媒體存取控制位址)。
在一個實施例中,執行模組301可以按照預設的組合規則將所選定的字串、所述當前時間時間戳記,以及礦機1的識別字進行組合,從而生成所述Nonce值。
在一個實施例中,所述預設的組合規則可以是指將所述當前時間的時間戳記串接到所述礦機1的識別字,以及將所選定的字串串接到所述當前時間的時間戳記。
在其他實施例中,所述預設的組合規則也可以是指將所選定的字串串接到所述礦機1的識別字,以及將所述當前時間的時間戳記串接到所選定的字串。
舉例而言,礦機1的識別字為c8:1f:66:3b:a8:e3,所述當前時間的時間戳記為 1551060597367,所選定的字串為CAPPUCCINO,若所述預設的組合規則是指將所述當前時間的時間戳記串接到所述礦機1的識別字,以及將所選定的字串串接到所述當前時間的時間戳記,則生成的Nonce值為c8:1f:66:3b:a8:e3 1551060597367 CAPPUCCINO。若所述預設的組合規則是指將所選定的字串串接到所述礦機1的識別字,以及將所述當前時間的時間戳記串接到所選定的字串,那麼所生成的Nonce值為c8:1f:66:3b:a8:e3 CAPPUCCINO 1551060597367。
執行模組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)、可抹除可程式設計唯讀儲存器(Erasable Programmable Read-Only Memory,EPROM)、一次可程式設計唯讀儲存器(One-time Programmable Read-Only Memory,OTPROM)、電子抹除式可複寫唯讀儲存器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、唯讀光碟(Compact Disc 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所示,於此不再贅述。
對於本領域技術人員而言,顯然本發明不限於上述示範性實施例的細節,而且在不背離本發明的精神或基本特徵的情況下,能夠以其他的具體形式實現本發明。因此,無論從哪一點來看,均應將實施例看作是示範性的,而且是非限制性的,本發明的範圍由所附申請專利範圍第而不是上述說明限定,因此旨在將落在申請專利範圍第的等同要件的含義和範圍內的所有變化涵括在本發明內。不應將申請專利範圍第中的任何附圖標記視為限制所涉及的申請專利範圍第。此外,顯然“包括”一詞不排除其他單元或,單數不排除複數。裝置申請專利範圍第中陳述的多個單元或裝置也可以由一個單元或裝置透過軟體或者硬體來實現。第一,第二等詞語用來表示名稱,而並不表示任何特定的順序。
最後應說明的是,以上實施例僅用以說明本發明的技術方案而非限制,儘管參照較佳實施例對本發明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發明的技術方案進行修改或等同替換,而不脫離本發明技術方案的精神和範圍。
30:限制礦機算力的系統
301:執行模組
302:判斷模組
1:礦機
2:區塊鏈網路
11:儲存器
12:處理器
為了更清楚地說明本發明實施例或習知技術中的技術方案,下面將對實施例或習知技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據提供的附圖獲得其他的附圖。
圖1為本發明較佳實施例提供的限制礦機算力的方法的應用環境架構圖。
圖2是本發明較佳實施例提供的限制礦機算力的方法的流程圖。
圖3是本發明較佳實施例提供的限制礦機算力的系統的模組圖。
圖4是本發明較佳實施例提供的礦機的結構圖。
無
Claims (10)
- 一種限制礦機算力的方法,應用於礦機中,其中,所述方法包括: 獲取步驟,從交易池獲得等待上鏈的交易內容; 第一判斷步驟, 判斷字典池是否為空; 第一執行步驟,當確定所述字典池為空時,判斷所述礦機上一次生成時間戳記的時間與當前時間之間的時間差值是否小於預設的門檻值; 其中,當所述時間差值小於所述預設的門檻值時,觸發所述礦機進入休眠狀態;當所述時間差值大於或等於所述預設的門檻值時,生成當前時間的時間戳記;及於生成所述當前時間的時間戳記後,將字典庫所包括的所有字串載入到所述字典池中,並觸發所述第一判斷步驟; 第二執行步驟,當確定所述字典池不為空時,從所述字典池中選定一字串; 第三執行步驟,基於所選定的字串、所述當前時間的時間戳記,以及所述礦機的識別字生成Nonce值; 第四執行步驟,獲取上一個區塊的雜湊值,對所述上一個區塊的雜湊值、所生成的Nonce值,以及所獲得的所述等待上鏈的交易的內容進行雜湊運算,得到一雜湊值; 第二判斷步驟,判斷所述雜湊值是否小於區塊鏈的難度值; 第五執行步驟,當判斷得出所述雜湊值小於區塊鏈的難度值時,確定挖礦成功;及 第六執行步驟,當判斷得出所述雜湊值大於或者等於所述區塊鏈的難度值時,觸發所述第一判斷步驟。
- 如申請專利範圍第1項所述的限制礦機算力的方法,其中,所述交易內容包括交易金額、執行智慧合約的指令。
- 如申請專利範圍第1項所述的限制礦機算力的方法,其中,該方法還包括: 第七執行步驟,當所述時間差值小於所述預設的門檻值時,於觸發休眠狀態之前計算所述礦機的預計休眠時長,其中,所述預計休眠時長等於所述門檻值與所述時間差值之間的差值;及 第八執行步驟,基於所述預計休眠時長以及當前時間設置所述礦機的喚醒時間,並於喚醒時間到達時將所述礦機喚醒;及 第九執行步驟,於喚醒所述礦機後,觸發所述第一執行步驟。
- 如申請專利範圍第1項所述的限制礦機算力的方法,其中,所述字典庫所包括的字串以及字串的數量固定不變的。
- 如申請專利範圍第1項所述的限制礦機算力的方法,其中,所述第二執行步驟中: 當確定所述字典池不為空時,從所述字典池所包括的所有字串中隨機選擇一個字串,將該隨機選擇的字串作為所述選定的字串;及 從所述字典池中移除所選定的字串。
- 如申請專利範圍第1項所述的限制礦機算力的方法,其中,所述基於所選定的字串、所述當前時間的時間戳記,以及所述礦機的識別字生成Nonce值包括: 按照預設的組合規則將所選定的字串、所述當前時間的時間戳記,以及所述礦機的識別字進行組合,從而生成所述Nonce值。
- 如申請專利範圍第6項所述的限制礦機算力的方法,其中,所述預設的組合規則是指將所述當前時間的時間戳記串接到所述礦機的識別字,以及將所選定的字串串接到所述當前時間的時間戳記。
- 如申請專利範圍第6項所述的限制礦機算力的方法,其中,所述預設的組合規則是指將所選定的字串串接到所述礦機的識別字,以及將所述當前時間的時間戳記串接到所選定的字串。
- 一種礦機,其中,所述礦機包括儲存器和處理器,所述儲存器用於儲存至少一個指令,所述處理器用於執行所述至少一個指令實現如申請專利範圍第1至8項中任意一項所述的限制礦機算力的方法。
- 一種電腦可讀儲存介質,其中,所述電腦可讀儲存介質儲存有至少一個指令,所述至少一個指令被處理器執行時實現如申請專利範圍第1至8項中任意一項所述的限制礦機算力的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108139485A TWI706346B (zh) | 2019-10-31 | 2019-10-31 | 限制礦機算力的方法、礦機、儲存介質 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108139485A TWI706346B (zh) | 2019-10-31 | 2019-10-31 | 限制礦機算力的方法、礦機、儲存介質 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI706346B true TWI706346B (zh) | 2020-10-01 |
TW202119302A TW202119302A (zh) | 2021-05-16 |
Family
ID=74091633
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108139485A TWI706346B (zh) | 2019-10-31 | 2019-10-31 | 限制礦機算力的方法、礦機、儲存介質 |
Country Status (1)
Country | Link |
---|---|
TW (1) | TWI706346B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108389044A (zh) * | 2018-02-28 | 2018-08-10 | 北京比特大陆科技有限公司 | 工作量证明的计算方法和系统、电子设备、程序和介质 |
CN109829076A (zh) * | 2017-08-22 | 2019-05-31 | 上海策赢网络科技有限公司 | 一种生成区块链的方法及设备 |
CN110119947A (zh) * | 2018-02-07 | 2019-08-13 | 上海策赢网络科技有限公司 | 共享工作量证明算力生成共生区块链的方法和设备 |
US20190310980A1 (en) * | 2016-12-23 | 2019-10-10 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Block chain mining method, device, and node apparatus |
TWI675336B (zh) * | 2018-04-30 | 2019-10-21 | 鯨鏈科技股份有限公司 | 智能票證系統、智能票證派發方法與電腦可讀取儲存裝置 |
US20190327084A1 (en) * | 2018-04-19 | 2019-10-24 | Electronics And Telecommunications Research Institute | Method for selecting consensus node using nonce and method and apparatus for generating blockchain using the same |
-
2019
- 2019-10-31 TW TW108139485A patent/TWI706346B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190310980A1 (en) * | 2016-12-23 | 2019-10-10 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Block chain mining method, device, and node apparatus |
CN109829076A (zh) * | 2017-08-22 | 2019-05-31 | 上海策赢网络科技有限公司 | 一种生成区块链的方法及设备 |
CN110119947A (zh) * | 2018-02-07 | 2019-08-13 | 上海策赢网络科技有限公司 | 共享工作量证明算力生成共生区块链的方法和设备 |
CN108389044A (zh) * | 2018-02-28 | 2018-08-10 | 北京比特大陆科技有限公司 | 工作量证明的计算方法和系统、电子设备、程序和介质 |
US20190327084A1 (en) * | 2018-04-19 | 2019-10-24 | Electronics And Telecommunications Research Institute | Method for selecting consensus node using nonce and method and apparatus for generating blockchain using the same |
TWI675336B (zh) * | 2018-04-30 | 2019-10-21 | 鯨鏈科技股份有限公司 | 智能票證系統、智能票證派發方法與電腦可讀取儲存裝置 |
Also Published As
Publication number | Publication date |
---|---|
TW202119302A (zh) | 2021-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109299336B (zh) | 数据备份方法、装置、存储介质及计算设备 | |
JP6804668B2 (ja) | ブロックデータ検証方法および装置 | |
TWI664549B (zh) | 業務執行的方法和裝置 | |
CN107547595B (zh) | 云资源调度系统、方法及装置 | |
EP4300323A1 (en) | Data processing method and apparatus for blockchain network, computer device, computer readable storage medium, and computer program product | |
CN101276389B (zh) | 单个物理可信平台模块内的多个逻辑可信平台模块的分离 | |
CN104205755A (zh) | 用于在计算设备的网络触发的唤醒期间延迟分组的方法、设备和系统 | |
CN108399175B (zh) | 一种数据存储、查询方法及其装置 | |
US20140298045A1 (en) | Battery Management System | |
CN110636113A (zh) | 区块链的拜占庭容错共识方法、系统、设备和存储介质 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN113268334A (zh) | Rpa机器人的调度方法、装置、设备以及存储介质 | |
CN103188335A (zh) | 节点部署方法与使用其的服务器系统 | |
CN109921897B (zh) | 工作量证明计算的触发方法、装置、计算设备及存储介质 | |
CN111813518A (zh) | 机器人预警方法、装置、计算机设备及存储介质 | |
TWI706346B (zh) | 限制礦機算力的方法、礦機、儲存介質 | |
US11368320B2 (en) | Mining machine and method for limiting computing power | |
CN116302453B (zh) | 量子电子混合平台的任务调度方法及装置 | |
WO2021174779A1 (zh) | 数据预处理系统、方法、计算机设备及可读存储介质 | |
CN109981286B (zh) | 一种工作量证明计算的触发方法、装置及计算设备 | |
CN113032128B (zh) | 一种多任务的控制方法、装置、电子设备及存储介质 | |
CN111241594A (zh) | 交易信息的加签方法、装置、计算机设备和存储介质 | |
CN110445874A (zh) | 一种会话处理方法、装置、设备和存储介质 | |
CN115934178A (zh) | 一种代码运行方法、装置、电子设备及存储介质 | |
CN105022718A (zh) | 一种多处理器系统的自适应共享总线启动加速方法 |