[發明專利]一種基于容量證明的區塊鏈系統構建方法有效
| 申請號: | 201910807908.6 | 申請日: | 2019-08-29 |
| 公開(公告)號: | CN110609867B | 公開(公告)日: | 2022-04-12 |
| 發明(設計)人: | 唐煜;郜策宇;蔡天煒;何天陽;任林 | 申請(專利權)人: | 北京天云如川科技有限公司 |
| 主分類號: | G06F16/27 | 分類號: | G06F16/27;G06Q20/38;H04L9/08;H04L9/30 |
| 代理公司: | 北京紐樂康知識產權代理事務所(普通合伙) 11210 | 代理人: | 田磊 |
| 地址: | 100080 北京市*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 容量 證明 區塊 系統 構建 方法 | ||
1.一種基于容量證明的區塊鏈系統構建方法,其特征在于,包括以下步驟:
S1:初始化,計算機節點通過配置文件配置客戶端的啟動參數,客戶端程序進行初始化數據的計算并存儲;
S2:區塊構建,客戶端程序從數據庫中取出當前最新區塊,進行計算后開始構造區塊,構造完成后將其序列化后廣播至點對點網絡中;
所述步驟S2中,區塊構建的具體過程如下:
客戶端程序從數據庫中取出當前最新區塊,提取區塊中目標挑戰c字段,并在存儲的哈希表B中查找目標挑戰c的后log2N位與z的后log2N位相等的z;
在哈希表B中取出相等的z所對應的(x,x′),并將其帶入證明質量計算公式q=(h(t//s,x,x′,h)/2l)1/s;
使用公式diff=diff(n-1)+diff(n-1)//2048*max(1-(t–t(n-1))//10,-99)計算當前的目標難度diff;
客戶端程序進行質量q和目標難度diff的比較,如果滿足qdiff,則可以構造區塊并廣播給其他節點,如果不滿足,則進行下一輪計算;
其中,t表示當前時間戳,h表示當前區塊高度,s表示容量,diff(n-1)表示前一個區塊的難度值,t(n-1)表示前一個區塊的時間戳;
S3:區塊接收,客戶端程序接收到來自網絡的區塊后對其進行反序列化,將其解析為區塊的具體結構和相關字段并對其進行檢查,合格則接收,不合格則丟棄;
所述步驟S3中,客戶端程序計算P(sha256(pk)||x)和P(sha256(pk)||x′),如果兩個值互為按位取反則繼續計算z=Qsha256(Pk)(x||x′);如果challenge的后log2N位與z的后log2N位相等則區塊的容量證明驗證通過,否則直接丟棄該區塊;
S4:主鏈選擇,客戶端程序在接收到合格的區塊后判斷其是否為主鏈;
S5:數據持久化,經過上述四個階段后,如果區塊被驗證是合格的便將其持久化到本地數據庫。
2.根據權利要求1所述的一種基于容量證明的區塊鏈系統構建方法,其特征在于,所述步驟S1中,啟動參數包括:客戶端賬戶和密碼、初始化硬盤的空間。
3.根據權利要求1所述的一種基于容量證明的區塊鏈系統構建方法,其特征在于,所述步驟S1中,在進行計算之前,客戶端程序通過調用隨機數生成函數產生一個隨機數,并利用該隨機數采用橢圓曲線函數產生一對公私鑰對,其中公鑰用來作為初始化的參數,私鑰用來對后續創建的區塊進行簽名。
4.根據權利要求1所述的一種基于容量證明的區塊鏈系統構建方法,其特征在于,在計算之前,客戶端程序每隔1秒進行一次輪詢檢查,通過系統函數獲取本地時間后對當前數據庫中最新區塊進行時間校驗,如果本地時間小于該區塊則結束本輪,如果本地時間大于該區塊則將從該區塊的時間戳起進行計算嘗試。
5.根據權利要求1所述的一種基于容量證明的區塊鏈系統構建方法,其特征在于,所述步驟S3中,還包括時間戳、黑名單、區塊簽名、容量證明簽名、目標難度diff、目標挑戰c、交易默克爾根字段以及各交易正確性的驗證。
6.根據權利要求1所述的一種基于容量證明的區塊鏈系統構建方法,其特征在于,所述步驟S4中,若區塊被判斷為不是主鏈,則將其放入孤塊池中。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京天云如川科技有限公司,未經北京天云如川科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910807908.6/1.html,轉載請聲明來源鉆瓜專利網。





