基于K-medoids的改進(jìn)PBFT共識(shí)機(jī)制
發(fā)布時(shí)間:2021-06-20 16:49
隨著數(shù)字貨幣的普及與發(fā)展,區(qū)塊鏈技術(shù)進(jìn)入了大眾的視野,并被譽(yù)為信用歷史上第四個(gè)里程碑,是未來信用的基石[1]。但與此同時(shí),區(qū)塊鏈技術(shù)也面臨著共識(shí)效率低、算力浪費(fèi)等問題。文中利用K-medoids聚類算法對(duì)參與區(qū)塊鏈共識(shí)的大規(guī)模網(wǎng)絡(luò)節(jié)點(diǎn)根據(jù)特征進(jìn)行聚類與層次劃分,再將改進(jìn)的多中心化實(shí)用拜占庭容錯(cuò)算法應(yīng)用于這種聚類后的分層模型中。另外,為了提升聚類算法在多種場(chǎng)景下對(duì)區(qū)塊鏈模型中共識(shí)節(jié)點(diǎn)進(jìn)行聚類的可控性,對(duì)K-medoids算法進(jìn)行了改進(jìn)。網(wǎng)絡(luò)拓?fù)浞抡姝h(huán)境實(shí)驗(yàn)表明,當(dāng)選擇了適當(dāng)?shù)木垲愄卣髟u(píng)判節(jié)點(diǎn)間的相似度時(shí),改進(jìn)后的算法K-PBFT在1 000個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)參與共識(shí)的場(chǎng)景中相較于傳統(tǒng)實(shí)用拜占庭容錯(cuò)算法(Practical Byzantine Fault Tolerance,PBFT)算法,單次共識(shí)耗時(shí)縮短了20%,共識(shí)過程的通信次數(shù)最佳能夠降低3個(gè)數(shù)量級(jí)。結(jié)果證明K-PBFT算法優(yōu)化了較大規(guī)模共識(shí)節(jié)點(diǎn)參與的共識(shí)過程,使區(qū)塊鏈模型能夠適用于更廣泛的場(chǎng)景中。
【文章來源】:計(jì)算機(jī)科學(xué). 2019,46(12)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
數(shù)字簽名原理
PBFT共識(shí)過程中主要的三階段的數(shù)據(jù)傳輸流程(預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn))如圖3所示。根據(jù)上述過程,PBFT算法雖然相較于其他共識(shí)算法不需要消耗大量算力資源,且共識(shí)速度較快,但也只適用于共識(shí)節(jié)點(diǎn)不多的情況。當(dāng)大量節(jié)點(diǎn)加入?yún)^(qū)塊鏈系統(tǒng)時(shí),完全去中心化的特點(diǎn)使得所有共識(shí)節(jié)點(diǎn)需要共同進(jìn)行三階段共識(shí),導(dǎo)致通信次數(shù)與數(shù)據(jù)傳輸量大大增加,很有可能造成網(wǎng)絡(luò)堵塞或出現(xiàn)網(wǎng)絡(luò)風(fēng)暴。因此,下文將利用聚類算法K-medoids改進(jìn)PBFT共識(shí),提高PBFT算法在大量節(jié)點(diǎn)共同參與共識(shí)時(shí)的共識(shí)效率。
K-medoids算法與PBFT相結(jié)合,利用聚類算法對(duì)原PBFT中無差別的所有共識(shí)節(jié)點(diǎn)進(jìn)行劃分聚類并分層,將聚類后的簇中心節(jié)點(diǎn)作為該簇內(nèi)所有節(jié)點(diǎn)的主節(jié)點(diǎn),每個(gè)簇內(nèi)的非聚類中心節(jié)點(diǎn)作為該簇內(nèi)的從節(jié)點(diǎn)。本文將每個(gè)簇稱為一個(gè)子共識(shí)集群,非聚類中心節(jié)點(diǎn)構(gòu)成了K個(gè)主節(jié)點(diǎn)領(lǐng)導(dǎo)下的K個(gè)子共識(shí)集群,再將所有K個(gè)主節(jié)點(diǎn)的集合構(gòu)成一個(gè)骨干共識(shí)集群。區(qū)塊鏈模型的結(jié)構(gòu)如圖4所示。K-PBFT共識(shí)算法的主要流程階段如下。
【參考文獻(xiàn)】:
期刊論文
[1]區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 袁勇,王飛躍. 自動(dòng)化學(xué)報(bào). 2016(04)
[2]基于MapReduce的Canopy-Kmeans改進(jìn)算法[J]. 毛典輝. 計(jì)算機(jī)工程與應(yīng)用. 2012(27)
[3]基于粒計(jì)算的K-medoids聚類算法[J]. 馬箐,謝娟英. 計(jì)算機(jī)應(yīng)用. 2012(07)
本文編號(hào):3239573
【文章來源】:計(jì)算機(jī)科學(xué). 2019,46(12)北大核心CSCD
【文章頁數(shù)】:7 頁
【部分圖文】:
數(shù)字簽名原理
PBFT共識(shí)過程中主要的三階段的數(shù)據(jù)傳輸流程(預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn))如圖3所示。根據(jù)上述過程,PBFT算法雖然相較于其他共識(shí)算法不需要消耗大量算力資源,且共識(shí)速度較快,但也只適用于共識(shí)節(jié)點(diǎn)不多的情況。當(dāng)大量節(jié)點(diǎn)加入?yún)^(qū)塊鏈系統(tǒng)時(shí),完全去中心化的特點(diǎn)使得所有共識(shí)節(jié)點(diǎn)需要共同進(jìn)行三階段共識(shí),導(dǎo)致通信次數(shù)與數(shù)據(jù)傳輸量大大增加,很有可能造成網(wǎng)絡(luò)堵塞或出現(xiàn)網(wǎng)絡(luò)風(fēng)暴。因此,下文將利用聚類算法K-medoids改進(jìn)PBFT共識(shí),提高PBFT算法在大量節(jié)點(diǎn)共同參與共識(shí)時(shí)的共識(shí)效率。
K-medoids算法與PBFT相結(jié)合,利用聚類算法對(duì)原PBFT中無差別的所有共識(shí)節(jié)點(diǎn)進(jìn)行劃分聚類并分層,將聚類后的簇中心節(jié)點(diǎn)作為該簇內(nèi)所有節(jié)點(diǎn)的主節(jié)點(diǎn),每個(gè)簇內(nèi)的非聚類中心節(jié)點(diǎn)作為該簇內(nèi)的從節(jié)點(diǎn)。本文將每個(gè)簇稱為一個(gè)子共識(shí)集群,非聚類中心節(jié)點(diǎn)構(gòu)成了K個(gè)主節(jié)點(diǎn)領(lǐng)導(dǎo)下的K個(gè)子共識(shí)集群,再將所有K個(gè)主節(jié)點(diǎn)的集合構(gòu)成一個(gè)骨干共識(shí)集群。區(qū)塊鏈模型的結(jié)構(gòu)如圖4所示。K-PBFT共識(shí)算法的主要流程階段如下。
【參考文獻(xiàn)】:
期刊論文
[1]區(qū)塊鏈技術(shù)發(fā)展現(xiàn)狀與展望[J]. 袁勇,王飛躍. 自動(dòng)化學(xué)報(bào). 2016(04)
[2]基于MapReduce的Canopy-Kmeans改進(jìn)算法[J]. 毛典輝. 計(jì)算機(jī)工程與應(yīng)用. 2012(27)
[3]基于粒計(jì)算的K-medoids聚類算法[J]. 馬箐,謝娟英. 計(jì)算機(jī)應(yīng)用. 2012(07)
本文編號(hào):3239573
本文鏈接:http://sikaile.net/guanlilunwen/sjfx/3239573.html
最近更新
教材專著