本發(fā)明涉及區(qū)塊鏈技術領域,具體涉及一種區(qū)塊鏈的寫入權限分配方法及系統(tǒng)。
背景技術:
現(xiàn)有技術中,在向區(qū)塊鏈數(shù)據(jù)庫中寫入數(shù)據(jù)時,其寫入權限的分配是按照計算出難題結果的速度進行分配的,如果某個終端最先解出難題的結果,那么該終端擁有向區(qū)塊鏈中寫入數(shù)據(jù)的寫入權限。采用該寫入權限分配方法會導致寫入權限被集中在少數(shù)計算速度快的“礦機”對應的“曠工”手中,導致“中心化”問題產生,如果少數(shù)“曠工”達成一致一起對區(qū)塊鏈數(shù)據(jù)庫進行攻擊,或者一起改變區(qū)塊鏈數(shù)據(jù)庫記錄數(shù)據(jù)的規(guī)則,會讓區(qū)塊鏈數(shù)據(jù)庫產生極大的安全隱患。因而如何解決“中心化”問題,實現(xiàn)“去中心化”是現(xiàn)在區(qū)塊鏈技術領域中亟待解決的問題。
技術實現(xiàn)要素:
本發(fā)明所要解決的技術問題是提供一種區(qū)塊鏈的數(shù)據(jù)記賬方法及系統(tǒng),解決了區(qū)塊鏈數(shù)據(jù)庫的寫入權限被少數(shù)“曠工”所掌握的“中心化”問題,提高了區(qū)塊鏈數(shù)據(jù)庫的安全性。
本發(fā)明解決上述技術問題的技術方案如下:
依據(jù)本發(fā)明的一個方面,提供了一種區(qū)塊鏈的寫入權限分配方法,所述方法包括:
S101、記錄多個終端解決按照預設算法規(guī)則生成的難題所花費的計算時間;
S102、對各個終端對應的計算時間進行升序排序,并將計算時間小于預設時間對應的多個終端作為備選終端;
S103、按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端,將向區(qū)塊鏈數(shù)據(jù)庫中寫入數(shù)據(jù)的寫入權限分配給所述寫入終端。
本發(fā)明的有益效果:本發(fā)明提供的一種區(qū)塊鏈的寫入權限分配方法,能夠記錄并統(tǒng)計各個終端計算難題的計算時間,并從多個終端中篩選出計算時間小于預設時間的多個終端作為備選終端,然后按照預設權限規(guī)則從備選終端中選擇一個終端作為寫入終端,賦予其寫入權限。本發(fā)明按照預設權限規(guī)則選擇寫入終端并賦予寫入權限,而不是將寫入權限賦予計算時間最短的終端,解決了寫入權限集中于少數(shù)終端對應的“曠工”手中造成的區(qū)塊鏈數(shù)據(jù)庫的安全隱患問題,提高了區(qū)塊鏈數(shù)據(jù)庫的安全性,實用性較強。
進一步的,所述S103中所述預設權限規(guī)則具體包括隨機分配規(guī)則或者效率分配規(guī)則。
采用上述進一步方案的有益效果:采用不同的權限規(guī)則來從備選終端中選擇一個終端作為寫入終端,避免寫入權限過于集中。
進一步的,所述預設權限規(guī)則為隨機分配規(guī)則時,所述S103中所述按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端具體包括:
從所述備選終端中隨機選取一個終端,將其作為寫入終端,所述備選終端中每個終端被選取的概率相同。
采用上述進一步方案的有益效果:采用隨機分配規(guī)則挑選終端,保證每一個備選終端都有相同的概率被選中成為寫入終端,避免寫入權限過于集中。
進一步的,所述預設權限規(guī)則為效率分配規(guī)則時,所述S103中所述按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端具體包括:
根據(jù)公式計算出效率參數(shù),然后根據(jù)所述效率參數(shù)計算得到各個備選終端被選擇成為所述寫入終端的概率,并按照所述概率從所述備選終端中選擇一個終端作為寫入終端,其中,ti為各個備選終端對應的計算時間,d為效率參數(shù),為第i個備選終端被選擇成為所述寫入終端的概率。
采用上述進一步方案的有益效果:采用效率分配規(guī)則挑選終端,在基于計算時間的基礎上相對公平的挑選寫入終端,避免寫入權限過于集中。
依據(jù)本發(fā)明的另一個方面,提供了一種區(qū)塊鏈的寫入權限分配系統(tǒng),所述系統(tǒng)包括:
記錄單元,用于記錄多個終端解決按照預設算法規(guī)則生成的難題所花費的計算時間;
排序確定單元,用于對各個終端對應的計算時間進行升序排序,并將計算時間小于預設時間對應的多個終端作為備選終端;
權限分配單元,用于按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端,將向區(qū)塊鏈數(shù)據(jù)庫中寫入數(shù)據(jù)的寫入權限分配給所述寫入終端。
本發(fā)明的有益效果:本發(fā)明提供的一種區(qū)塊鏈的寫入權限分配系統(tǒng),能夠記錄并統(tǒng)計各個終端計算難題的計算時間,并從多個終端中篩選出計算時間小于預設時間的多個終端作為備選終端,然后按照預設權限規(guī)則從備選終端中選擇一個終端作為寫入終端,賦予其寫入權限。本發(fā)明按照預設權限規(guī)則選擇寫入終端并賦予寫入權限,而不是將寫入權限僅僅賦予計算時間最短的終端,解決了寫入權限集中于少數(shù)速度快的終端對應的“曠工”手中造成的區(qū)塊鏈數(shù)據(jù)庫的安全隱患問題,提高了區(qū)塊鏈數(shù)據(jù)庫的安全性,實用性較強。
進一步的,所述權限分配單元中所述預設權限規(guī)則具體包括隨機分配規(guī)則或者效率分配規(guī)則。
采用上述進一步方案的有益效果:采用不同的權限規(guī)則來從備選終端中選擇一個終端作為寫入終端,避免寫入權限過于集中。
進一步的,所述預設權限規(guī)則為隨機分配規(guī)則時,所述權限分配單元具體用于:
從所述備選終端中隨機選取一個終端,將其作為寫入終端,所述備選終端中每個終端被選取的概率相同。
采用上述進一步方案的有益效果:采用隨機分配規(guī)則挑選終端,保證每一個備選終端都有相同的概率被選中成為寫入終端,避免寫入權限過于集中。
進一步的,所述預設權限規(guī)則為效率分配規(guī)則時,所述權限分配單元具體用于:
根據(jù)公式計算出效率參數(shù),然后根據(jù)所述效率參數(shù)計算得到各個備選終端被選擇成為所述寫入終端的概率,并按照所述概率從所述備選終端中選擇一個終端作為寫入終端,其中,ti為各個備選終端對應的計算時間,d為效率參數(shù),為第i個備選終端被選擇成為所述寫入終端的概率。
采用上述進一步方案的有益效果:采用效率分配規(guī)則挑選終端,在基于計算時間的基礎上相對公平的挑選寫入終端,避免寫入權限過于集中。
附圖說明
圖1為本發(fā)明實施例一的一種區(qū)塊鏈的寫入權限分配方法流程圖;
圖2為本發(fā)明實施例二的一種區(qū)塊鏈的寫入權限分配系統(tǒng)示意圖。
具體實施方式
以下結合附圖對本發(fā)明的原理和特征進行描述,所舉實例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
實施例一、一種區(qū)塊鏈的寫入權限分配方法。下面結合圖1對本實施例提供的方法進行詳細說明。
參見圖1,S101、記錄多個終端解決按照預設算法規(guī)則生成的難題所花費的計算時間。
具體的,記錄多個終端分別解決按照預設算法規(guī)則生成的難題并得到計算結果所花費的計算時間,其中,所述預設算法規(guī)則具體包括POW(Proof of Work,工作量證明)算法以及POS(Proof of Stake,權益證明)算法,所述POW算法具體包括比特幣算法、萊特幣算法以及X11算法,所述POS算法具體包括點點幣算法和以太坊算法。另外,每個終端計算的都是同一個難題。
S102、對各個終端對應的計算時間進行升序排序,并將計算時間小于預設時間對應的多個終端作為備選終端。
具體的,每個終端解決所述難題花費的時間不同,對各個終端對應的計算時間進行升序排序,并設定一個預設時間,將計算時間在所述預設時間之內的終端作為備選終端,其余計算時間大于所述預設時間的終端被排除在外,例如,將預設時間設為1分鐘,則在計算時間1分鐘之外的終端都沒有資格作為備選終端,只有計算時間小于1分鐘的終端有資格作為備選終端。
S103、按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端,將向區(qū)塊鏈數(shù)據(jù)庫中寫入數(shù)據(jù)的寫入權限分配給所述寫入終端。
具體的,按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端,將向區(qū)塊鏈數(shù)據(jù)庫中寫入數(shù)據(jù)的寫入權限分配給所述寫入終端,所述預設權限規(guī)則具體包括隨機分配規(guī)則或者效率分配規(guī)則。
當所述預設權限規(guī)則為隨機分配規(guī)則時,所述按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端具體包括:從所述備選終端中隨機選取一個終端,將其作為寫入終端,所述備選終端中每個終端被選取的概率相同。例如,如果總共有五個終端,A終端的計算時間為1s,B終端的計算時間為2s,C終端的計算時間為5s,D終端的計算時間為10s,E終端的計算時間為20s,若預設時間設置為15s,則A、B、C、D四個終端成為備選終端,每個終端被選中成為所述寫入終端的概率均為1/4。
當所述預設權限規(guī)則為效率分配規(guī)則時,所述按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端具體包括:根據(jù)公式(1)計算效率參數(shù),然后根據(jù)所述效率參數(shù)計算得到各個備選終端被選擇成為所述寫入終端的概率,并按照所述概率從所述備選終端中選擇一個終端作為寫入終端,,所述公式(1)如下所示:
其中,ti為各個備選終端對應的計算時間,d為效率參數(shù),為第i個備選終端被選擇成為所述寫入終端的概率。計算時間越短的終端被選擇成為寫入終端的概率越高。例如,如果總共有五個終端,A終端的計算時間為1s,B終端的計算時間為2s,C終端的計算時間為5s,D終端的計算時間為10s,E終端的計算時間為20s,若預設時間設置為15s,則A、B、C、D四個終端成為備選終端,根據(jù)公式(1)計算得到為效率參數(shù)d的值為5/9,并分別得到A、B、C、D四個終端被選中成為寫入終端的概率分別為10/18,5/18,2/18,1/18,因而計算時間越短的終端被選中成為寫入終端的概率更高。
實施例二、一種區(qū)塊鏈的寫入權限分配系統(tǒng)。下面結合圖2對本實施例提供的系統(tǒng)進行詳細說明。
參見圖2,本發(fā)明提供的一種區(qū)塊鏈的寫入權限分配系統(tǒng)包括記錄單元、排序確定單元以及權限分配單元。
記錄單元,用于記錄多個終端解決按照預設算法規(guī)則生成的難題所花費的計算時間。
具體的,所述預設算法規(guī)則具體包括POW(Proof of Work,工作量證明)算法以及POS(Proof of Stake,權益證明)算法,所述POW算法具體包括比特幣算法、萊特幣算法以及X11算法,所述POS算法具體包括點點幣算法和以太坊算法。
排序確定單元,用于對各個終端對應的計算時間進行升序排序,并將計算時間小于預設時間對應的多個終端作為備選終端。
權限分配單元,用于按照預設權限規(guī)則從所述備選終端中選擇一個終端作為寫入終端,將向區(qū)塊鏈數(shù)據(jù)庫中寫入數(shù)據(jù)的寫入權限分配給所述寫入終端。
具體的,所述權限分配單元中所述預設權限規(guī)則具體包括隨機分配規(guī)則或者效率分配規(guī)則。
在所述預設權限規(guī)則為隨機分配規(guī)則時,所述權限分配單元具體用于從所述備選終端中隨機選取一個終端,將其作為寫入終端,所述備選終端中每個終端被選取的概率相同。
在所述預設權限規(guī)則為效率分配規(guī)則時,所述權限分配單元具體用于根據(jù)公式計算出效率參數(shù),然后根據(jù)所述效率參數(shù)計算得到各個備選終端被選擇成為所述寫入終端的概率,并按照所述概率從所述備選終端中選擇一個終端作為寫入終端,其中,ti為各個備選終端對應的計算時間,d為效率參數(shù),為第i個備選終端被選擇成為所述寫入終端的概率。計算時間越短的終端被選擇成為寫入終端的概率越高。
本發(fā)明提供的一種區(qū)塊鏈的寫入權限分配方法及系統(tǒng),能夠記錄并統(tǒng)計各個終端計算難題的計算時間,并從多個終端中篩選出計算時間小于預設時間的多個終端作為備選終端,然后按照預設權限規(guī)則從備選終端中選擇一個終端作為寫入終端,賦予其寫入權限。本發(fā)明按照預設權限規(guī)則選擇寫入終端并賦予寫入權限,而不是將寫入權限賦予計算時間最短的終端,解決了寫入權限集中于少數(shù)“曠工”手中造成的區(qū)塊鏈數(shù)據(jù)庫的安全隱患問題,提高了區(qū)塊鏈數(shù)據(jù)庫的安全性,實用性較強。
以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。