陳立軍, 潘正軍, 陳孝如
(廣州軟件學(xué)院 軟件工程系, 廣州 510990)
2008年,本聰描述了一種稱(chēng)為“比特幣”的電子貨幣及其算法,其依賴(lài)于區(qū)塊鏈技術(shù),區(qū)塊鏈引起了研究界和工業(yè)界的極大興趣,已被應(yīng)用于金融、制造業(yè)和學(xué)術(shù)界等多個(gè)領(lǐng)域。盡管區(qū)塊鏈技術(shù)具有巨大的潛力,但存在能耗太高的問(wèn)題[1]?;趨^(qū)塊鏈系統(tǒng)所消耗的能量至關(guān)重要,一個(gè)比特幣交易使用的能量大約相當(dāng)于1個(gè)英國(guó)家庭平均8周消耗的能量,此外,截至2021年3月31日,劍橋比特幣電力消耗指數(shù)估計(jì),比特幣網(wǎng)絡(luò)每年消耗137.20太瓦時(shí)的電力[2]。
在基于區(qū)塊鏈的系統(tǒng)中,有一些相互沖突的目標(biāo),包括安全性、可擴(kuò)展性、能源消耗、性能、分化和信任,雖然有不同的優(yōu)化技術(shù)顯示出解決許多領(lǐng)域優(yōu)化問(wèn)題的希望,但基于區(qū)塊鏈系統(tǒng)的能源消耗最小化還沒(méi)有被解決。由于工作證明(Proof of work,PoW)的能源消耗過(guò)高,學(xué)者提出了幾種共識(shí)算法,如通過(guò)減少礦工的數(shù)量來(lái)降低能源消耗,提高環(huán)境的可持續(xù)性,這些算法在一段時(shí)間內(nèi)跟蹤礦工的行為,然后計(jì)算他們的信譽(yù)或信任值,這些值用于允許礦工添加塊。在Bahri等[3]提出了一種新的共識(shí)算法信任證明(Proof of trust, PoT),根據(jù)礦工網(wǎng)絡(luò)構(gòu)建的信任圖隨機(jī)選擇礦工。Zhuang等[4]提出的一種共識(shí)算法,基于節(jié)點(diǎn)的交易活動(dòng)、資產(chǎn)和共識(shí)參與來(lái)評(píng)估節(jié)點(diǎn)的聲譽(yù)。由于共識(shí)算法是基于區(qū)塊鏈系統(tǒng)的基本組成部分,一些研究提出了替代的共識(shí)算法來(lái)降低此類(lèi)系統(tǒng)的能量消耗,例如權(quán)益證明(Proof of stake,PoS),它使用礦工的股份決定哪些礦工應(yīng)該添加下一個(gè)區(qū)塊。其他技術(shù)要求礦工投資于特定的硬件,如高存儲(chǔ)設(shè)備(如Proof of space),或特殊的基于英特爾的硬件(如Proof of luck)。
筆者提出利用基于搜索的軟件工程(Search-based software engineering,SBSE)技術(shù)來(lái)解決區(qū)塊鏈的能源消耗問(wèn)題,在SBSE中,軟件工程問(wèn)題被轉(zhuǎn)化為搜索問(wèn)題,然后使用基于搜索的優(yōu)化算法尋找最優(yōu)和接近最優(yōu)的解決方案。提出使用進(jìn)化算法優(yōu)化基于區(qū)塊鏈系統(tǒng)的能源消耗,通過(guò)選擇礦工最小化能源使用和碳排放,同時(shí)最大化其他沖突的目標(biāo)。
假設(shè)在基于區(qū)塊鏈的系統(tǒng)中,信任供應(yīng)是昂貴的,無(wú)論是在計(jì)算方面還是在能源方面,這些系統(tǒng)中管理信任所消耗的能量是一個(gè)優(yōu)化問(wèn)題,該問(wèn)題表示為參與區(qū)塊鏈系統(tǒng)的礦工子集選擇問(wèn)題,為了解決上述能源消耗和其他沖突目標(biāo)之間的權(quán)衡問(wèn)題,提出了一種新的優(yōu)化模型,可以提高區(qū)塊鏈系統(tǒng)環(huán)境的可持續(xù)性。模型采用了靜態(tài)優(yōu)化風(fēng)格,首先執(zhí)行優(yōu)化,然后應(yīng)用。雖然研究人員試圖縮短創(chuàng)建一個(gè)新的區(qū)塊[5]所需的時(shí)間,由于優(yōu)化模型選擇最優(yōu)礦工和將交易添加到鏈中所花費(fèi)的時(shí)間,導(dǎo)致大量的交易將等待很長(zhǎng)時(shí)間,特別是對(duì)于基于區(qū)塊鏈的大用戶(hù)系統(tǒng)。將基于區(qū)塊鏈的系統(tǒng)視為一個(gè)實(shí)體,將礦工視為一個(gè)代理,在基于區(qū)塊鏈的系統(tǒng)中,礦工的數(shù)量、能源消耗、去中心化和礦工的聲譽(yù)之間存在著一種內(nèi)在的平衡,區(qū)塊鏈網(wǎng)絡(luò)的礦工越多,消耗的能源就越多,碳排放水平也就越高,它的分散性和信任度也就越高。此外,采礦者的更大權(quán)力下放導(dǎo)致對(duì)審查個(gè)別交易的更大阻力,從而使人們更信任這個(gè)系統(tǒng)。
解決方案表示決定了問(wèn)題在進(jìn)化算法中的結(jié)構(gòu),以及可以使用的遺傳算子,在所提出的模型中,染色體表示一個(gè)節(jié)點(diǎn)數(shù)組,代表區(qū)塊鏈網(wǎng)絡(luò)中的一組礦工,染色體的長(zhǎng)度(基因的數(shù)量)正好等于參與挖礦過(guò)程的礦工數(shù)量,每個(gè)基因Xi都有一個(gè)布爾值,用于確定是否包含礦工。
在這個(gè)模型中,設(shè)計(jì)了4個(gè)目標(biāo)函數(shù),這些函數(shù)用數(shù)學(xué)公式表示,以最小化基于區(qū)塊鏈系統(tǒng)產(chǎn)生的總能源消耗和總碳排放量。
1.2.1 能耗目標(biāo)
通過(guò)去中心化和公開(kāi)透明的特性對(duì)碳排放量與每一筆交易信息進(jìn)行溯源,避免數(shù)據(jù)被隨意篡改的風(fēng)險(xiǎn)。文中的重點(diǎn)是通過(guò)節(jié)約礦工在計(jì)算過(guò)程中使用的能量,提高區(qū)塊鏈系統(tǒng)的可持續(xù)性,這占了區(qū)塊鏈系統(tǒng)的大部分能量消耗,功率是一個(gè)系統(tǒng)在一段時(shí)間內(nèi)消耗能量或做功的速率度量,能量消耗的計(jì)算方法為。通過(guò)節(jié)約礦工在計(jì)算過(guò)程中使用的能量,提高區(qū)塊鏈系統(tǒng)的可持續(xù)性,這占了區(qū)塊鏈系統(tǒng)的大部分能量消耗,功率是一個(gè)系統(tǒng)在一段時(shí)間內(nèi)消耗能量或做功的速率度量,能量消耗的計(jì)算方法為
(1)
式中:Pi——1個(gè)挖礦設(shè)備i所使用的包括處理器和內(nèi)存在內(nèi)的組件所需要的功率;
Ti——每天參與區(qū)塊鏈網(wǎng)絡(luò)的小時(shí)數(shù);
mD——挖礦設(shè)備的數(shù)量。
由于優(yōu)化目標(biāo)是使帕累托(是博弈論中的重要概念)陣線的解決方案中,所有參與礦工的總能耗最小,能量值越小,解決方案就越合適,能源消耗最小化的優(yōu)化公式為
(2)
式中:m——組成區(qū)塊鏈網(wǎng)絡(luò)的礦工總數(shù);
Xi——解決方案表示中每個(gè)基因的值,它可以是“1”,表示選擇礦工參與下一個(gè)區(qū)塊的挖掘過(guò)程,也可以是“0”,表示未選擇礦工。
1.2.2 碳排放目標(biāo)
電力碳排放可以定義為生產(chǎn)或使用一定量電力所排放的溫室氣體,這表明基于區(qū)塊鏈的系統(tǒng)降低能源使用,實(shí)際上會(huì)減少溫室氣體排放,因此,由采礦設(shè)備使用電力引起的碳排放可以定義為
C=EF×E,
(3)
式中:C——礦工產(chǎn)生的溫室氣體排放量;
EF——礦工所在地的電力排放因子;
E——使用式(2)計(jì)算的每個(gè)礦工的能源消耗。
文中優(yōu)化了帕累托前沿解決方案中所有參與礦工產(chǎn)生的總碳排放最小化為
(4)
1.2.3 去中心化目標(biāo)
由于去中心化是區(qū)塊鏈的核心特征之一,文中希望將這一有價(jià)值的特征作為模型的一個(gè)目標(biāo),使用香農(nóng)熵量化基于礦工算力分布的去中心化D,以防止一名礦工開(kāi)采所有區(qū)塊并控制基于區(qū)塊鏈的系統(tǒng)(即51%攻擊),該目標(biāo)最大化優(yōu)化為
(5)
式中:m——基于區(qū)塊鏈系統(tǒng)中的礦工數(shù)量;
Hi——帕累托前沿解決方案中礦工哈希率的分?jǐn)?shù)。
Hi的計(jì)算公式為
(6)
式中:hi——每個(gè)礦工的算力;
ht——參與解決方案的礦工的總算力。
1.2.4 信譽(yù)目標(biāo)
在文中模型中,礦工的數(shù)量將減少,因此需要通過(guò)提高基于區(qū)塊鏈系統(tǒng)的信任級(jí)別支持PoW共識(shí)算法,可以通過(guò)計(jì)算每個(gè)礦工的信譽(yù)值提高信任級(jí)別,可以使用一定的可信度評(píng)估模型,將一個(gè)礦工的歷史活動(dòng)壓縮成每個(gè)礦工的信譽(yù)值,由于建立信任或聲譽(yù)模型不是本文的重要貢獻(xiàn),所以只采用受PoW和PoS思想啟發(fā)的簡(jiǎn)單模型。
在優(yōu)化模型中,使用一個(gè)sigmoid函數(shù)評(píng)估區(qū)塊鏈網(wǎng)絡(luò)中每個(gè)發(fā)布?jí)K之后的礦工可信度,收集關(guān)于每個(gè)礦工的兩個(gè)特征,并使用它們計(jì)算聲譽(yù)值,第一個(gè)特征是挖掘器添加到區(qū)塊鏈的塊數(shù)量,第二個(gè)特征是挖掘器擁有的權(quán)益,與PoW類(lèi)似,假設(shè)礦工在完成大量具有重要需求的工作后不會(huì)攻擊網(wǎng)絡(luò),礦機(jī)對(duì)貨幣數(shù)量的所有權(quán)應(yīng)該是對(duì)網(wǎng)絡(luò)攻擊的一種保護(hù),因?yàn)榈V機(jī)不希望失去他們的貨幣,就像PoS一樣,在這個(gè)模型中,礦機(jī)的聲譽(yù)值是每個(gè)特征的sigmoid函數(shù)的和,因此,區(qū)塊鏈網(wǎng)絡(luò)中每個(gè)礦機(jī)R的信譽(yù)值可以計(jì)算為
(7)
式中:B——區(qū)塊鏈中挖掘的塊總數(shù);
b——礦工挖掘的塊數(shù);
s——礦工獲得的費(fèi)用和獎(jiǎng)勵(lì)的總和。
最后一個(gè)最大化的目標(biāo)是參與帕累托陣線解決方案的礦工的總聲譽(yù)最大化RT,這反過(guò)來(lái)最大化了區(qū)塊鏈網(wǎng)絡(luò)的可信度為
(8)
1.2.5 適應(yīng)度函數(shù)
式(2)、(4)、(5)和(8)具有相同的約束條件分別為
Xi∈{1,0},
式中:hi——區(qū)塊鏈網(wǎng)絡(luò)中礦工i的哈希率;
Hc——將與其他礦工哈希率進(jìn)行比較的當(dāng)前礦工的哈希率;
TL——決策者必須為系統(tǒng)確定的百分比容差水平,決策者可以確定TL為50%或更低。
這些約束確保一個(gè)礦工的哈希率應(yīng)該小于TL,例如單個(gè)解決方案中所有其他礦工的總哈希率的50%或30%,當(dāng)惡意礦工的總哈希能力超過(guò)整個(gè)網(wǎng)絡(luò)哈希能力的50%或30%時(shí),可能會(huì)發(fā)起雙重開(kāi)銷(xiāo)攻擊或自私的挖掘攻擊[6],因此,此約束可確保避免此類(lèi)漏洞。此外,他們還確保不止一名礦工參與采礦過(guò)程,以防止中央化。
該研究利用上述目標(biāo)形成了4個(gè)適應(yīng)度函數(shù):能量與聲譽(yù)、能量與碳的相對(duì)聲譽(yù)、能量與分散聲譽(yù)、能量與碳的相對(duì)分散聲譽(yù),在每個(gè)適應(yīng)度函數(shù)中,至少有一對(duì)相互沖突的目標(biāo)。
在本文中,提出的模型旨在通過(guò)使用進(jìn)化算法尋找一組礦工改善基于區(qū)塊鏈系統(tǒng)的環(huán)境可持續(xù)性,本研究試圖回答下面4個(gè)研究問(wèn)題:
問(wèn)題1優(yōu)化模型能在多大程度上降低基于區(qū)塊鏈系統(tǒng)的能耗;
問(wèn)題2優(yōu)化模型能在多大程度上減少基于區(qū)塊鏈系統(tǒng)的碳排放;
問(wèn)題3與隨機(jī)搜索(Random search,RS)相比,選擇的進(jìn)化算法是否能有效解決區(qū)塊鏈礦工選擇問(wèn)題;
問(wèn)題4在使用的算法中,哪種算法的性能最好。
2.2.1 能源消耗和碳排放
為了回答問(wèn)題1和問(wèn)題2,比較了每種算法在能源使用和碳排放方面的最佳解決方案,以及與原始解決方案相比沖突目標(biāo)的退化情況,最初的解決方案是基于區(qū)塊鏈系統(tǒng)中的一整套礦工。
2.2.2 績(jī)效指標(biāo)
由于引入了一個(gè)新的優(yōu)化問(wèn)題(區(qū)塊鏈礦工選擇問(wèn)題),將提出的適應(yīng)度函數(shù)整合到5個(gè)進(jìn)化算法中,每個(gè)進(jìn)化算法都有不同的機(jī)制保持解決方案的多樣性,如非主導(dǎo)排序遺傳算法II(NSGA-II)通過(guò)計(jì)算每個(gè)解決方案的擁擠距離來(lái)創(chuàng)建壁龕,在其選擇運(yùn)算符中使用擁擠距離來(lái)促進(jìn)多樣性[11]。
為了使解決方案多樣化,帕累托進(jìn)化算法2(SPEA2)[12]使用一個(gè)外部檔案來(lái)存儲(chǔ)非主導(dǎo)的解決方案,SPEA2還使用近鄰密度估計(jì)技術(shù)來(lái)有效指導(dǎo)搜索,與SPEA2類(lèi)似,帕累托存檔進(jìn)化策略(PAES)[13]是一種僅有變異的算法,當(dāng)它創(chuàng)建新的解決方案時(shí),使用一個(gè)d維的檔案(d為目標(biāo)數(shù))作為參考集,為了促進(jìn)多樣性,PAES將目標(biāo)空間劃分為網(wǎng)格,并根據(jù)每個(gè)解決方案的目標(biāo)值將其置于某個(gè)網(wǎng)格中,使用每個(gè)網(wǎng)格中的解決方案的密度來(lái)計(jì)算擁擠度,擁擠度量被用于對(duì)非支配性的解決方案進(jìn)行排序,以?xún)?yōu)先考慮屬于最不擁擠區(qū)域的非支配性解決方案。
超體積是一個(gè)主要的性能指標(biāo),它通過(guò)已找到的解計(jì)算搜索空間的主導(dǎo)比例,超體積越大,算法的性能越好,基于指標(biāo)的進(jìn)化算法 (IBEA)[14]使用超體積指標(biāo)對(duì)解決方案進(jìn)行排序。對(duì)于多目標(biāo)問(wèn)題等,Binh等[15]使用非支配排序遺傳算法III (NSGA-III),該算法利用預(yù)定義的搜索點(diǎn)將搜索空間劃分為多個(gè)目標(biāo)搜索,而不是一個(gè)大規(guī)模的搜索空間,通過(guò)從不同的壁龕中選擇解決方案,而不是計(jì)算擁擠距離,解決了計(jì)算每個(gè)解決方案的多樣性得分的問(wèn)題。此外,它減少了多目標(biāo)問(wèn)題中大量的非支配解,因?yàn)槊總€(gè)最優(yōu)解對(duì)應(yīng)一個(gè)目標(biāo)搜索段,使用上面討論的算法,因?yàn)樗鼈冇胁煌臋C(jī)制來(lái)保持解的多樣性,這有助于有效地導(dǎo)航搜索空間[16]。文中的重點(diǎn)是在多目標(biāo)函數(shù)優(yōu)化開(kāi)源框架(MOEA)內(nèi)實(shí)現(xiàn)的本地算法,這些算法支持MOEA進(jìn)化算法框架提供的所有功能,所選算法非常適合于解決與文獻(xiàn)[17]類(lèi)似的問(wèn)題。
實(shí)現(xiàn)細(xì)節(jié)的參數(shù):礦工的數(shù)量為160,網(wǎng)絡(luò)總塊數(shù)為4 073,比特幣獎(jiǎng)勵(lì)為6.25 BTC,比特幣費(fèi)用為0.000 281 88 BTC,采礦設(shè)備哈希率為110 TH/s,采礦設(shè)備功率為3 250 W,礦工運(yùn)行時(shí)間為24 h,容忍度為50%。
2.4.1 比特幣模擬器設(shè)置
文使用了一個(gè)名為 Bitcoin-Simulator[18]的區(qū)塊鏈模擬框架,該框架使用真實(shí)和人工數(shù)據(jù),例如礦工的哈希率和位置的分布,它是一種廣泛使用的區(qū)塊鏈環(huán)境模擬器,Bitcoin-Simulator模擬使用PoW共識(shí)算法及其網(wǎng)絡(luò)層的基于區(qū)塊鏈系統(tǒng)的工作,模擬器可以跟蹤數(shù)以千計(jì)的節(jié)點(diǎn)和交易,它通過(guò)為每個(gè)礦工分配特定的挖礦哈希率和位置來(lái)為區(qū)塊鏈網(wǎng)絡(luò)中的礦工復(fù)制PoW過(guò)程,數(shù)據(jù)收集涉及模擬器以挖掘4 073個(gè)區(qū)塊,相當(dāng)于一個(gè)月的挖掘,模擬中有160名礦工,將基于區(qū)塊鏈的系統(tǒng)中的百分比容忍度設(shè)置為50%,以防止礦工進(jìn)行雙重花費(fèi)攻擊。
為了復(fù)制一個(gè)基于區(qū)塊鏈系統(tǒng)的真實(shí)場(chǎng)景,本文使用了比特幣網(wǎng)絡(luò)的基本屬性,如表1所示的哈希率、獎(jiǎng)勵(lì)和費(fèi)用。使用比特幣,因?yàn)樗亲顝V為人知的基于區(qū)塊鏈的系統(tǒng),根據(jù)從文獻(xiàn)[4]中發(fā)布的CBECI檢索到的信息來(lái)確定礦工位置的分布及其哈希率百分比,表1展示了挖掘者的位置分布和他們的哈希率占比特幣網(wǎng)絡(luò)哈希率的百分比w,礦工位置分在16個(gè)國(guó)家,每個(gè)國(guó)家有10個(gè)挖掘者。
表1 礦工的位置分布及其哈希率百分比
2.4.2 模型假設(shè)
在區(qū)塊鏈網(wǎng)絡(luò)中,無(wú)法準(zhǔn)確估計(jì)挖礦操作使用了多少電力,因?yàn)闊o(wú)法確定網(wǎng)絡(luò)中有多少臺(tái)礦機(jī)或哪些機(jī)器在任何給定時(shí)間處于活動(dòng)狀態(tài),為了確定區(qū)塊鏈網(wǎng)絡(luò)中的挖礦設(shè)備數(shù)量,首先假設(shè)所有礦工都使用效率最高的挖礦設(shè)備,并且隨著礦工哈希率的增加,他們的設(shè)備數(shù)量也會(huì)增加,此假設(shè)基于這樣一個(gè)事實(shí),即使用效率低下的設(shè)備會(huì)因?yàn)闆](méi)有從成功地從挖礦中獲得利潤(rùn)而導(dǎo)致離開(kāi)網(wǎng)絡(luò),此外,本文不認(rèn)為礦工會(huì)擁有大量使用CPU和GPU的傳統(tǒng)設(shè)備,因?yàn)樗鼈兣c當(dāng)前最先進(jìn)的專(zhuān)用集成電路(ASIC)相比效率低下,因此,每個(gè)礦工的設(shè)備數(shù)量是通過(guò)將每個(gè)礦工的哈希率除以所選采礦設(shè)備類(lèi)型的哈希率來(lái)找到的,該設(shè)備的功率還用于計(jì)算每個(gè)礦工的能耗,使用比特大陸科技控股公司(Bitmain 4)生產(chǎn)的Antminer S19算力,算力可達(dá)110 TH/s,算力3 250 W。
此外,假設(shè)礦工嘗試開(kāi)采區(qū)塊24 h,為了計(jì)算碳排放,首先使用從CBECI檢索并設(shè)置到模擬器中的礦工位置分布,然后,使用礦工的位置來(lái)計(jì)算每個(gè)礦工產(chǎn)生的碳排放,使用文獻(xiàn)[19]中為礦工所在國(guó)家/地區(qū)發(fā)布的排放因子。
2.4.3 實(shí)驗(yàn)設(shè)置
將1.2節(jié)中討論的提出的適應(yīng)度函數(shù)模型與5種進(jìn)化算法相結(jié)合,使用隨機(jī)搜索(RS)作為比較的基準(zhǔn),對(duì)于算法實(shí)現(xiàn),使用了基于Java的多目標(biāo)進(jìn)化算法框架(MOEA進(jìn)化算法框架),對(duì)于每個(gè)算法,將所有變異算子和變異概率保留為其默認(rèn)值,每個(gè)算法運(yùn)行40 000次適應(yīng)度評(píng)估,考慮到所用算法的隨機(jī)性,運(yùn)行每個(gè)算法100次,所有實(shí)驗(yàn)均在具有24 GB內(nèi)存和Intel i7-6700 CPU 時(shí)鐘的Windows 10機(jī)器上進(jìn)行(CPU主頻為3.4 GHz)。
為了研究算法在現(xiàn)實(shí)世界區(qū)塊鏈礦工選擇問(wèn)題上的性能,需要計(jì)算真正的帕累托前沿,與文獻(xiàn)[20]類(lèi)似,通過(guò)組合每個(gè)提議的適應(yīng)度函數(shù)的算法的500次獨(dú)立運(yùn)行的結(jié)果來(lái)計(jì)算帕累托前沿解決方案。
3.1.1 能量和聲譽(yù)目標(biāo)空間
圖1為利用5種算法對(duì)能量與信譽(yù)進(jìn)行權(quán)衡的結(jié)果。其中:黑色為帕累托正面;藍(lán)色顯示了每個(gè)算法在100次運(yùn)行期間找到的近似帕累托前沿;RT表示帕累托前沿解決方案中所有參與礦工的總聲譽(yù);E表示所有參與礦工的總能耗(kWh);x軸表示能量消耗;y軸表示信譽(yù)分?jǐn)?shù)。可以看出,NSGA-II、SPEA2、IBEA和NSGA-III不斷地從帕累托陣線找到更好的非支配解決方案,顯然,PAES的非主導(dǎo)解決方案與帕累托陣線相差很遠(yuǎn),這表明只有一個(gè)突變算子會(huì)促進(jìn)開(kāi)發(fā)而不是探索,這是因?yàn)橥蛔儾僮鞣卯?dāng)前解決方案的鄰近區(qū)域,而交叉操作符在搜索空間中創(chuàng)建跳躍,以便更好地探索;在能量消耗最小化和信譽(yù)最大化方面,RS算法表現(xiàn)最差,NSGA-II、SPEA2和NSGA-III的分布優(yōu)于IBEA,這是因?yàn)镮BEA算法在其選擇操作符中使用了超體積指示器,它的大多數(shù)非支配解(85%)占據(jù)了搜索空間中超容量最大的區(qū)域,IBEA的這種行為也在其他實(shí)驗(yàn)中被觀察到。
圖1 利用5種算法對(duì)能量與信譽(yù)進(jìn)行權(quán)衡的結(jié)果Fig. 1 Trade-offs between energy and reputation using five algorithms
3.1.2 能源、碳和聲譽(yù)目標(biāo)空間
每個(gè)算法在100次運(yùn)行中找到的近似帕累托前沿和計(jì)算的帕累托前沿如圖2所示。其中:圓點(diǎn)標(biāo)記為帕累托前沿;RT表示帕累托前沿解決方案中所有參與礦工的總聲譽(yù);E表示所有參與礦工的總能耗(kWh);CT表示帕累托前沿解決方案中所有參與礦工產(chǎn)生的總碳排放量(gCO2eq/kWh),分別用x軸和y軸表示能源使用和信譽(yù)評(píng)分。由圖2可以看出,與其他算法相比,NSGA- II和SPEA2創(chuàng)建的非支配解覆蓋了計(jì)算得到的帕累托前沿的更大部分,有趣的是,NSGA-III的非主導(dǎo)解決方案與帕累托前沿的距離略遠(yuǎn),在能量和聲譽(yù)維度上,它們比NSGA-II、SPEA2和IBEA更分散。此外,由于IBEA算法在其選擇算子中使用了超體積指標(biāo),其大部分非支配解(85%)占據(jù)了搜索空間中超體積最大的區(qū)域,與能量—聲譽(yù)實(shí)驗(yàn)結(jié)果相似,PAES和RS算法在覆蓋帕累托前沿方面表現(xiàn)較差。
圖2 利用5種算法對(duì)能源與碳和信譽(yù)進(jìn)行權(quán)衡的結(jié)果Fig. 2 Trade-offs of energy against carbon and reputation using five algorithms
3.1.3 能量、去中心化和聲譽(yù)目標(biāo)空間
圖3為最小化能源使用的結(jié)果。其中,帕累托前沿顯示使用點(diǎn)標(biāo)記。同時(shí)最大化分散和礦工集合的聲譽(yù),x軸和y軸分別代表能源使用和聲譽(yù)得分,每個(gè)點(diǎn)的顏色尺度代表去中心化得分,算法的總體結(jié)果與圖2相似。但NSGA-III算法覆蓋的帕累托前沿區(qū)域較少。此外,還可以觀察到,與NSGA-II、SPEA2和IBEA相比,它的解決方案在范圍的末端,即聲譽(yù)分?jǐn)?shù)最大的地方,與帕累托陣線略有距離。因此,本文可以得出:在基于區(qū)塊鏈的系統(tǒng)中,在礦工的數(shù)量、能量消耗、去中心化和礦工聲譽(yù)之間確實(shí)存在著一種內(nèi)在的平衡。
圖3 五種算法對(duì)能量進(jìn)行分散和代表的結(jié)果分析Fig. 3 Analysis of the results of energy dispersion and representation using five algorithms
3.1.4 能源、碳、去中心化和聲譽(yù)目標(biāo)空間
圖4為多目標(biāo)優(yōu)化實(shí)驗(yàn)結(jié)果。其中,帕累托前沿使用點(diǎn)標(biāo)記顯示,x軸、y軸和z軸分別代表能源使用、聲譽(yù)和分散得分,結(jié)果按碳值進(jìn)行了顏色編碼??梢钥闯?,NSGA-II和SPEA2非支配集包含了更多的帕累托前沿解,然而,隨著問(wèn)題維數(shù)的增加,一直找到帕累托前沿的解決方案的能力降低,另一方面,IBEA非支配解決方案的多樣性較低(就客觀價(jià)值而言),但它們位于帕累托前沿,NSGA-III非支配集比IBEA的非支配集覆蓋的帕累托前沿區(qū)域略多,PAES和RS算法發(fā)現(xiàn)的帕累托前沿解的數(shù)量最少,前者是一種基于變異的算法,它有效地探索有希望的解決方案的鄰居,然而,隨著問(wèn)題維數(shù)的增加,算法的有效性會(huì)降低。
圖4 使用5種算法權(quán)衡能源與碳、去中心化和聲譽(yù)的結(jié)果Fig. 4 Results of using five algorithms to weigh energy versus carbon, decentralization, and reputation
3.2.1 能源消耗與碳排放
為了回答問(wèn)題1和問(wèn)題2,將原始解決方案的目標(biāo)值(即包括所有礦工)與使用進(jìn)化算法找到的解決方案的目標(biāo)值進(jìn)行比較,報(bào)告的結(jié)果是解決方案的目標(biāo)分?jǐn)?shù)與原始解決方案的目標(biāo)分?jǐn)?shù)的比率,總體而言,使用提出的適應(yīng)度函數(shù)有助于優(yōu)化器探索搜索空間并找到有關(guān)能源消耗和碳排放的最佳解決方案(即能源消耗和碳排放的有效解決方案),在實(shí)現(xiàn)了節(jié)能和低碳排放的同時(shí),相互沖突的目標(biāo)也有所下降,基于帕累托的算法用于為決策者生成非支配解決方案。
在節(jié)能方面,使用第一個(gè)適應(yīng)度函數(shù)(即能量VS聲譽(yù))探索搜索空間,IBEA在能耗方面為最佳解決方案,以?xún)H40%的整體聲譽(yù)為代價(jià),將能源效率提高了88%,其大大減少了能源使用,但是,聲譽(yù)下降了95%以上,其他算法(除了RS)設(shè)法找到了與IBEA的最佳解決方案具有相似能效的解決方案,與其他MO進(jìn)化算法相比,IBEA的非支配集非常有限,盡管與能源使用相沖突的目標(biāo)(即聲譽(yù)和權(quán)力下放)的退化是相當(dāng)大的,但具有這種目標(biāo)價(jià)值的解決方案可以用于私有或基于聯(lián)盟區(qū)塊鏈的系統(tǒng)。
在文中的模型中,打算通過(guò)平衡其他相互沖突的目標(biāo)來(lái)減少碳排放,雖然在圖2和圖4中,礦工產(chǎn)生的碳排放率似乎嚴(yán)格遵循能源消耗以相同的速度增長(zhǎng),但這并不意味著與其他消耗低能源的礦工相比,消耗高能源的礦工會(huì)產(chǎn)生高碳排放,在某些情況下,本文可以讓礦工消耗少量能源,但位于碳強(qiáng)度高的國(guó)家,導(dǎo)致礦工產(chǎn)生高碳排放,反之亦然,因此,能源消耗和碳排放可以被視為相互矛盾的目標(biāo),能源增加后的圖2和圖4中的碳排放結(jié)果表明優(yōu)化器有利地選擇了來(lái)自相同地區(qū)的具有相同碳強(qiáng)度的礦工。
與使用PoW的傳統(tǒng)基于區(qū)塊鏈的系統(tǒng)相比,使用本文的優(yōu)化模型可以將某些解決方案中的碳排放量減少90%以上,例如使用第二個(gè)適應(yīng)度函數(shù)(即能源VS碳VS 聲譽(yù))探索搜索空間,IBEA在碳排放方面的最佳解決方案以?xún)H40%的成本,降低了92%的碳排放量,與原始解決方案相比,能耗相當(dāng)于12%的整體聲譽(yù),雖然其他算法大大減少了碳排放,但聲譽(yù)下降了95%以上,除了PAES降低了52%的聲譽(yù),與節(jié)能類(lèi)似,顯著降低整體聲譽(yù)的解決方案可用于私有或聯(lián)盟基于區(qū)塊鏈的系統(tǒng)。
3.2.2 性能分析
為了回答問(wèn)題3,將每個(gè)算法的非支配集的超體積與RS的非支配集的超體積進(jìn)行比較,使用閾值為p=0.05(p為前面兩個(gè)樣本的顯著性水平差異)的Wilcoxon秩和檢驗(yàn)來(lái)進(jìn)行比較,為了計(jì)算差異,本文使用Vargha和Delaney效應(yīng)大小,此外,對(duì)每對(duì)算法進(jìn)行了比較來(lái)回答問(wèn)題4。
圖5顯示了統(tǒng)計(jì)測(cè)試的結(jié)果以及使用4個(gè)建議的適應(yīng)度函數(shù)對(duì)每個(gè)算法性能的影響大小,在每個(gè)單元格中,標(biāo)簽S表示顯著差異,而標(biāo)簽I表示非顯著差異,單元格顏色顯示效果大小。
圖5 算法影響大小和P值Fig. 5 Algorithm impact size and P-value
如圖5所示,在所有適應(yīng)度函數(shù)中,每個(gè)算法的超體積都明顯大于RS。此外,RS性能與其他算法的差異很大,這與圖1、2和3中算法的非支配集的視覺(jué)表示是一致的。
現(xiàn)在回答問(wèn)題4,在適應(yīng)度函數(shù)1(即能量VS聲譽(yù))和適應(yīng)度函數(shù)3(即能量VS去中心化VS聲譽(yù))中,NSGA-II的性能是所有算法中最好的,這表明它產(chǎn)生了最多樣化、非支配集,在其他非支配集中覆蓋搜索空間的最大部分,P進(jìn)化算法S的性能第二差,這是由于其探索搜索空間的機(jī)制,在所有使用的算法中,IBEA在使用適應(yīng)度函數(shù)2(即能量VS碳VS聲譽(yù))探索搜索空間方面的表現(xiàn)最好。本文研究了它的非支配解決方案,發(fā)現(xiàn)它們集中在超體積最大化的區(qū)域中,這是由于解決方案中的算法選擇偏好更喜歡更大的超體積,然而,如圖3所示,這種機(jī)制限制了適應(yīng)度環(huán)境中的解決方案多樣性。
SPEA2在使用適應(yīng)度函數(shù)4(能量VS碳VS去中心化VS聲譽(yù))探索解決方案空間方面具有最佳性能,然而,在運(yùn)行時(shí)間方面,SPEA2的運(yùn)行時(shí)間僅次于PAES算法,本文的結(jié)果表明,SPEA2在本文提出的多目標(biāo)問(wèn)題中優(yōu)于其他算法。
(1)文中提出了4個(gè)不同的適應(yīng)度函數(shù),在聲譽(yù)(非功能屬性)減少40%的情況下,能源使用量減少了高達(dá)88%。此外,使用基于私有區(qū)塊鏈的系統(tǒng),其中礦工是已知的,可以節(jié)省90%以上的能源。
(2)為了評(píng)估文中提出的模型,比較了具有多樣性保護(hù)機(jī)制的5種不同的進(jìn)化算法,沒(méi)有一種算法在使用其默認(rèn)設(shè)置的情況下始終具有優(yōu)勢(shì)。目前的研究工作試圖使用不同的方法來(lái)減少基于區(qū)塊鏈系統(tǒng)的能量消耗,然而,這些方法大多集中在提出替代性的共識(shí)算法,如PoS和PoT,這些方法是有限的,因?yàn)樗鼈儾荒軒椭鷽Q策者為他們的首選標(biāo)準(zhǔn)選擇最佳解決方案。
(3)與每個(gè)模型一樣,文中提出的模型也有一些局限性,例如,目前的模型是靜態(tài)的,將其用在離線優(yōu)化的情況下,即先優(yōu)化,然后部署,但該模型可以用在動(dòng)態(tài)優(yōu)化場(chǎng)景中,環(huán)境會(huì)隨著時(shí)間的推移而變化。在未來(lái)的工作中,計(jì)劃將進(jìn)化算法和學(xué)習(xí)算法結(jié)合起來(lái),創(chuàng)建自適應(yīng)的方法,以處理礦工或采礦政策在基于區(qū)塊鏈的系統(tǒng)運(yùn)行期間會(huì)發(fā)生變化的情況。