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