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