[發明專利]工作量證明的計算方法和裝置、電子設備、程序和介質有效
| 申請號: | 201810166142.3 | 申請日: | 2018-02-28 |
| 公開(公告)號: | CN108322304B | 公開(公告)日: | 2021-12-07 |
| 發明(設計)人: | 王逵;莊重;徐凌超 | 申請(專利權)人: | 海峽小鹿有限公司 |
| 主分類號: | H04L9/06 | 分類號: | H04L9/06;H04L9/08 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 楊靜 |
| 地址: | 新加坡珊頓大*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 工作量 證明 計算方法 裝置 電子設備 程序 介質 | ||
本發明實施例公開了一種工作量證明的計算方法和裝置、電子設備、程序和介質,其中,方法包括:分別基于選取的第一隨機數進行多次計算,并將計算結果分別存儲在存儲器中,以形成占用預定空間容量的緩存數據;利用緩存數據和本次選取的第二隨機數對預設數據塊進行哈希計算;判斷哈希計算的計算結果是否滿足預設條件;若不滿足預設條件,更換第二隨機數的取值,重新開始執行利用緩存數據和本次選取的第二隨機數對預設數據塊進行哈希計算的操作。本發明實施例在保持公平性和魯棒性的優點的同時,極大地減小了電力的消耗,而且可以復用現存的、具有一定量存儲空間的計算設備,從而降低了系統的整體擁有成本。
技術領域
本發明涉及區塊鏈技術,尤其是一種工作量證明的計算方法和裝置、電子設備、程序和介質。
背景技術
在開放的大規模分布式系統當中,工作量證明(Proof-of-work)是一種解決拜占庭將軍問題,實現系統一致性的重要機制。它要求參與方付出一定量的計算資源,來證明自己沒有惡意對系統進行攻擊。工作量證明機制具有公平性、魯棒性的優點。
在實現本發明的過程中,發明人通過研究發現,目前主流的工作量證明算法都是基于哈希碰撞的計算密集型算法,其至少存在以下問題:計算密集型算法需要消耗大量的電力,為了做到相對節省電力成本,就需要預先付出成本來采購耗電低的專用設備,提高了系統的整體成本。
發明內容
本發明實施例所要解決的一個技術問題是:提供一種工作量證明的計算方法和裝置、電子設備、程序和介質。
根據本發明實施例的一個方面,提供的一種工作量證明的計算方法,包括:
分別基于選取的第一隨機數進行至少一次計算,并將各次計算得到的計算結果分別存儲在存儲器中,以形成占用預定空間容量的緩存數據;
利用所述緩存數據和本次選取的第二隨機數對預設數據塊進行哈希計算;
判斷所述哈希計算的計算結果是否滿足預設條件;
若所述計算結果滿足預設條件,完成工作量證明;
否則,若所述計算結果不滿足預設條件,更換所述第二隨機數的取值,并以更換取值后的第二隨機數作為本次選取的第二隨機數,開始執行所述利用所述緩存數據和本次選取的第二隨機數對預設數據塊進行哈希計算的操作。
可選地,在本發明上述各方法實施例中,所述形成占用預定空間容量的緩存數據所需的時間,不小于完成一輪工作量證明的時間窗口。
可選地,在本發明上述各方法實施例中,所述數據塊為偽隨機序列中的元素,所述偽隨機序列包括:區塊中的全部數據或者其中一部分數據;或者由區塊通過預設處理獲得的數據中的全部數據或者其中一部分數據。
可選地,在本發明上述各方法實施例中,所述基于選取的第一隨機數進行至少一次計算,并將各次計算得到的計算結果分別存儲在存儲器中,以形成占用預定空間容量的緩存數據,包括:
基于選取的第一隨機數進行計算,并將計算得到的計算結果分別存儲在存儲器中,形成緩存數據;
判斷所述緩存數據占用的空間容量是否達到預設空間容量閾值;
若所述緩存數據占用的空間容量未達到預設空間容量閾值,繼續執行所述基于選取的第一隨機數進行計算,并將計算得到的計算結果追加到所述存儲器的緩存數據中,然后執行所述判斷所述緩存數據占用的空間容量是否達到預設空間容量閾值的操作;
若所述緩存數據占用的空間容量達到預設空間容量閾值,執行所述利用所述緩存數據和本次選取的第二隨機數對預設數據塊進行哈希計算的操作。
可選地,在本發明上述各方法實施例中,所述基于選取的第一隨機數進行計算,并將計算得到的計算結果分別存儲在存儲器中,包括:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于海峽小鹿有限公司,未經海峽小鹿有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810166142.3/2.html,轉載請聲明來源鉆瓜專利網。





