999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于XGBoost的以太坊交易智能定價模型

2022-10-17 11:12:24馮云霞薛蓉蓉
計算機工程與應用 2022年20期
關鍵詞:智能模型

馮云霞,薛蓉蓉

青島科技大學 信息科學技術學院,山東 青島 266061

自2013年以太坊概念[1]被提出以后,目前已成為全球知名公有區塊鏈項目,全球最大的區塊鏈開源社區。以太坊是一個支持智能合約功能的公共區塊鏈平臺。有眾多節點參與,組成P2P網絡。節點可以發起交易,也可以進行記賬。然而,具備圖靈完備的以太坊,可以模擬任何計算機算法,這可能引發惡意行為。例如在交易內部執行無限循環而形成死循環,占用計算資源,破壞以太坊網絡以及發送無意義交易浪費礦工計算資源等。為了避免惡意行為,以太坊對交易采用收費機制。其基本思想是發行以太幣,在公有鏈上發起交易都需要支付一定的以太幣。以太坊上所有的賬戶管理和智能合約[2]的部署都需要花費以太幣,以太幣賬戶需要獲取以太幣,促使礦工挖礦。礦工挖出新區塊,可以獲得一定的獎勵。

當前的以太幣交易機制中將交易分為三種,轉賬交易、智能合約創建和智能合約執行三種[3]。其中,智能合約創建和調用這兩者交易消耗的計算資源差別較大,僅用以太幣收費機制無法保證公平和效率。為了解決這個問題,以太坊引入GAS機制,Gas是基本的工作量成本單位,用于計量在以太坊上執行操作所需的計算、存儲資源和帶寬。利用Gas量化交易的復雜度,保證公平性。但是,以太幣價格上漲和用戶量激增等問題的出現,導致以太坊的交易成本越來越高,因此,目前已有學者提出通過優化智能合約減少Gas消耗,通過節能Gas字節、對智能合約流程編碼等方式降低交易成本。有學者從預測以太坊交易確認時間從而在節省用戶時間的角度提高工作效率。也有學者從利用機器學習算法預測下一個區塊最低交易Gas價格。然而,現有的交易Gas價格設置方式的不足主要表現在以下兩方面:

(1)以太坊用戶在發起交易時自主設置Gas總量和Gas價格,而礦工在選擇交易打包時以Gas價格降序排列進行選擇,若用戶設置Gas價格較高,則交易完成打包時間較短,反之則需要時間較長。這使得同一個區塊內交易Gas價格相差較大。現有的交易機制并不能平衡交易Gas成本和共識時間。

(2)若直接以預測的下一區塊的最低Gas價格作為交易的Gas推薦價格,但由于交易類型多樣,交易打包失敗風險增大。

本文通過EtherScan獲取以太坊歷史交易數據,統計2 000個區塊的最高GasPrice和最低GasPrice,分別展示,如圖1所示。

從圖1可以看出,最高GasPrice遠超最低GasPrice,且經計算,最高GasPrice的平均值為61.3,最低GasPrice的平均值為5.1,如果用戶能夠按照最低GasPrice進行交易,能夠降低約91%的成本。

圖1 區塊最高和最低Gas價格對比Fig.1 Comparison of highest and lowest Gas price

由于Gas價格受多種因素的影響,而影響以太坊交易池的外部因素有很多,主要有經濟因素和區塊因素和交易自身因素。因此自以太坊誕生以來,研究人員采用各種方法研究Gas價格的波動。隨著機器學習的廣泛應用,越來越多學者將現代預測方法應用于價格預測中,如決策樹預測[4]、神經網絡預測[5]、支持向量機預測[6]、深度學習預測[7]等。XGBoost由Chen在2016年提出,并在文獻[8]中證明了其模型的計算復雜度低、運行速度快、準確度高等特點。采用XGBoost模型進行Gas價格預測,在提高預測精度同時也提高預測速率。

綜上所述,現有的以太坊交易機制并不能幫助用戶在交易成本和共識時間之間達到平衡。為了解決這個問題,本文提出了一個基于XGBoost的以太坊智能定價模型,本文主要貢獻如下:

(1)通過研究以太坊交易機制,結合以太坊歷史交易數據,分析影響區塊最小Gas價格的因子,依據數據挖掘和機器學習等方法,設計區塊最小Gas價格預測方案,用來預測下一個區塊最小Gas價格。

(2)基于區塊最小Gas價格預測方案,結合交易Gas價格影響因子,提出以太坊交易智能定價模型(ETH_XGB),幫助用戶制定合理的Gas價格,在節省交易成本同時能提高交易成功率。實驗表明,ETH_XGB模型能夠幫助用戶節省約72.5%的交易成本,交易準確率在92%,提升了預測精度。

1 相關工作

區塊鏈技術起源于論文《比特幣:一種電對點電子現金系統》[9],由化名為“中本聰”(Satoshi Nakamoto)的學者在2008年發表在密碼學郵件組。近年來區塊鏈技術已展現出巨大的潛在應用價值,并在多個領域引發了技術革命浪潮。區塊鏈的出現也重新定義了智能合約,智能合約作為一種嵌入式可編程的程序代碼,可以內置在區塊鏈上運行,形成可編程控制的軟件系統。以太坊區塊鏈平臺于2015年被以太坊基金會發布,為開發者提供了開源的區塊鏈搭建和智能合約發布平臺。在智能合約開發領域,使用以太坊區塊鏈平臺居多,相關研究主要也是基于以太坊區塊鏈平臺。通過依靠區塊鏈技術以及智能合約的特性,目前也有很多業務流程轉移到以太坊平臺執行,但同時也帶來了成本花費問題。文獻[10-11]發現欠優化的智能合約成本更高,創建者和使用者都會被收取較高的費用,通過對現有的Solidity智能合約進行調查,發現大量智能合約代碼中包含消耗Gas巨大的字節碼,提出利用節省Gas的字節碼幫助節省成本,開發GASPER,幫助開發人員分析智能合約字節碼。文獻[12]從自動生成智能合約角度測試,實現智能合約的優化測試用例,通過自動生成具有成本效益的代表性測試序列來降低Gas成本。文獻[13]中使用空間優化的數據結構對智能合約執行過程中每個任務的前提條件進行編碼,提出一種優化智能合約執行業務流程的方式,通過減少業務流程智能合約執行所需的操作次數,降低調用智能合約所需的Gas消耗。文獻[14]中通過加強EVM減少進行危險交易的風險,達到減少Gas消耗的目的。

以上都是從減少Gas消耗角度降低交易成本,有相關學者和技術人員從Gas價格的角度開展研究。Ether-Scan和EthGasStation通過根據用戶輸入的GasPrice預測以太坊交易確認時間從而在節省用戶時間的角度提高工作效率,具體原則是將過去1 000個區塊的交易分組根據交易的GasPrice,以及平均計算每組交易的確認時間,從而獲得GasPrice和確認時間的映射。用戶可以輸入GasPrice來計算相應的通過此映射確認時間。而文獻[15-16]在區塊鏈歷史交易信息中挖掘與比特幣的供求有關的特征,用于訓練模型,提出比特幣預測定價模型。文獻[17]通過挖掘和分析以太坊歷史交易數據,提出了基于機器學習回歸的Gas價格預測模型(MLR),通過對比多個機器學習模型,提出MLR_XGB模型預測精度最高,通過預測下一區塊最低的交易價格的方式減少交易成本,模型準確性能夠達到74.9%。但是文獻[14]只關注了下一區塊的最小GasPrice,準確度不高,交易會存在打包失敗的風險。

2 預備知識

2.1 以太坊交易機制

以太坊的交易主要是指一條外部賬戶發送到區塊鏈上另一賬戶的消息的簽名數據包,交易是以太坊整體架構中的重要部分,它將以太坊的賬戶連接起來,起到價值的傳遞作用。

以太坊交易數據結構可以定義為:

其中,hashTX表示交易的哈希值,tgl表示這個交易允許消耗的最大Gas數量,gp為發送者愿意支付給礦工的Gas價格,from表示交易發送者的地址,to表示交易接收者的地址,value是發送者轉移給接受者的以太幣數量,data是存在的數據字段,如果存在,則表示交易時一個創建或者調用智能合約交易;time為交易確認時間;r、s、v表示交易簽名的三個部分,由發送者的私鑰對交易hash進行簽名生成,size為交易數量。

所有的交易被組成一個個“塊”,在以太坊中,區塊被定義為記錄一段時間內發生的交易和狀態結果的數據結構,區塊結構可以定義為:

其中,hashB為區塊哈希值,num為區塊號,bgl為區塊Gas總量,d為挖礦難度,td為全網挖礦難度。ep為以太幣價格,mr為礦工獎勵,TX為區塊中包含的所有交易集合。

交易處理過程,是從賬戶發送交易請求開始,到包含該交易的區塊被共識節點同步結束。具體交易機制[18]。如圖2所示,發送交易者按照格式要求在以太坊網絡發起交易請求,該請求將會被傳送到其他網絡節點。網絡上的節點在同步該交易時,首先檢查交易的有效性。對于符合要求的交易請求,網絡上的節點會將其放在交易存儲池中,并向其他節點轉發,而在礦工選擇交易打包時,則優先選擇Gas價格高的交易,在交易執行時,對于轉賬交易,獲得記賬權的節點將該交易和其他交易一起打包到區塊中;對于合約調用交易,礦工打包到區塊后,并在本地的EVM上運行被調用的合約代碼,直到代碼運行結束或Gas用完;對于合約創建交易,礦工打包到區塊后,根據其提供的交易費用和合約代碼,創建合約賬戶,并在賬戶空間中部署合約。其他共識節點收到該區塊后,驗證區塊,并同步該區塊,將其添加到本地的區塊鏈中。

圖2 以太坊交易機制Fig.2 Ethereum transaction mechanism

2.2 XGBoost

XGBoost是一種集成學習算法,對處理大規模的表格數據有很大的優勢。XGBoost可以進行各個特征變量對模型輸出量的重要性排序,便于模型結構選擇,提高預測精度。XGBoost的原理是由多顆決策樹進行迭代運算,最后所有的決策樹結果進行累計得到最終結果。對基于樹模型的XGBoost算法建模可以簡述為樹模型結構和其葉子節點輸出值的確定。具體包括:定義樹的復雜度;XGBoost中的Boosting Tree模型建立;改寫目標函數;樹結構的打分函數;正則化學習目標等內容。XGBoost的目標函數為:

其中,l是誤差函數,體現了模型預測值和真實值偏差的程度;為了防止過擬合,定義了正則化項以懲罰Ω(fk)復雜模型。

通過泰勒展開、定義樹的復雜程度以及葉子節點歸組等推導后,最終目標函數可寫為:

XGBoost算法基于樹模型,可以認為是樹模型結構和其葉子節點輸出值的確定。XGBoost算法利用迭代的方式,將弱學習器不斷疊加成強學習器,每次迭代產生的殘差用于矯正,矯正后的預測器優化指定的損失函數,在損失函數中加入正則項,建立XGBoost模型的目標函數。

3 基于XGBoost算法的交易Gas價格預測(ETH_XGB)

3.1 本文方案

為了解決Gas定價不合理和交易打包風險較大的問題,本文首先分析以太坊交易機制,結合以太坊歷史交易數據,提取Gas價格影響因子,預測區塊最小Gas價格,再利用區塊的最小Gas價格,結合實際交易Gas價格影響因素,建立以太坊交易智能定價模型(ETH_XGB),幫助用戶制定合理的Gas價格,以實現Gas合理定價和減少交易打包風險,在節省交易成本同時能提高交易成功率。具體設計方案如下:

步驟1提取Gas價格影響因子。

分析以太坊交易機制,在以太坊交易歷史數據中提取出影響Gas價格的因素,確定Gas價格影響因子為:

利用特征融合將區塊Gas影響因子和交易影響因子結合起來,分析各變量與區塊最小Gas價格之間的權重。

步驟2設計區塊最小Gas價格預測方案。

利用XGBoost算法分析各變量與區塊最小Gas價格之間的權重,增加Gas價格受變量影響程度的數據樣本數量,對訓練樣本進行修正,并且合理地選擇模型的輸入、輸出,確定模型結構。將以太坊區塊數據按照7∶3的比例劃分訓練集和測試集,使用XGBoost建立Gas價格預測方法,預測區塊的最小Gas價格。

步驟3預測交易Gas價格。

依據區塊最小Gas價格預測結果,根據用戶實際交易的類型分析實際交易Gas價格趨勢,依據實際交易Gas影響因素,預測交易合理的Gas價格,建立交易Gas價格預測模型。

3.2 方案分析

為了避免選擇不合理評估標準影響觀測實驗結果,因此,依據JANG的論文工作選擇評估標準。評估模型結果采用以下四個評估標準:

均方根誤差用來衡量預測值和實際值之間的偏差,是預測值和真值偏差的平方和與預測次數比值的平方根。均方根誤差越小,預測模型精度越高。

其中,yi是真實的區塊最小GasPrice值是預測的區塊的最小GasPrice值。

MAE是平均絕對誤差,能更好地反映預測值誤差,MAE的值越小,則模型預測精度越高。

皮爾遜相關系數的值越大,表示預測值和真實值之間的相關性越強。皮爾遜相關系數越接近于1或者-1,相關度越高,皮爾遜相關系數越接近于0,相關度越弱。

通常情況下可以通過以下取值范圍判斷兩者的相關強度:0.8~1.0,極強相關;0.6~0.8,強相關;0.4~0.6,中度程度相關;0.2~0.4,弱相關;0~0.2,極弱相關或者無相關。

準確率用來衡量預測結果的正確性,預測結果如果能夠高于區塊最小Gas價格,并且低于實際交易Gas價格,則意味著預測準確。

C1,預測的交易Gas價格小于區塊的最低Gas價格,則交易無法在預期時間內正常打包。這種情況雖然大大節省了交易成本,但是交易無法成功打包。C2,預測的交易Gas價格大于或等于區塊Gas最低價,小于交易的實際價格。這種情況為理想情況,能夠在預期時間內正常打包,而且節省交易成本。C3,預測的交易Gas價格高于實際交易的價格,這種情況交易可以成功打包,但是交易成本過高。

4 實驗

4.1 數據來源

本文利用web3j輕量級的Java庫,在Ethereum網絡上搭建一個節點,獲取11月17日—11月23日的實時交易數據,交易數據包括20 030個區塊,2 579 030筆交易。將數據打包bulk導入到Elasticsearch。本實驗的仿真平臺為Pycharm,使用Python語言進行編程,分別用到Python中的sklearn、pandas、numpy等包。

4.2 數據處理

ETH_XGB模型在構建之前,通過建模法對交易數據進行清洗,將交易失敗的數據清洗掉,交易成功的數據占到總交易數據的93%,經過統計總計239 872條交易數據。為了防止原始數據可能存在亂序及缺值的情況,對數據集進行插值、排序等操作,得到規整的區塊鏈交易數據,進一步構建完整有效的數據集。將清洗后的交易數據進行歸一化處理。

為了消除各個字段不同度量單位和方差對于預測結果的不良影響,因此,本文對數據進行歸一化處理。

在選取的歸一化公式為:

式(10)中,xi為GAS價格數據,xmin和xmax分別為樣本數據中的最小值和最大值;x為數據歸一化后的數值。

對模型的輸出值進行逆歸一化后,得到預測的GAS價格值,逆歸一化公式為:

式(11)中,y為預測后的GAS價格,x*為模型預測后輸出的數值。

4.3 實驗結果與分析

在搭建完成模型后,對20 030條區塊數據進行數據集拆分,訓練集和測試集以7∶3的比例劃分,預測區塊最小Gas價格,再利用區塊最低Gas價格,將239 875筆交易進行拆分訓練和測試,預測交易的Gas價格,測試ETH_XGB模型的預測性能,計算模型的均方根誤差(RMSE)、平均絕對誤差(MAE)、皮爾遜相關系數(PC)和預測準確率(Accuracy)。

XGBoost有多個參數,由于部分模型參數對結果影響較大,在優化改進模型時要對參數進行優化,結合網格搜索法對模型參數進行尋優。其中學習率learning_rate設置為0.01,樹的棵樹n_estimators設置為475,樹的深度max_depth設置為3,樣本采樣率設置為0.9,最小葉子權重min_child_weight設置為1,決策樹的剪枝力度設置為0.5,其余參數都設置為默認參數。ETH_XGB模型的Gas價格預測結果如圖3所示。

圖3 ETH_XGB模型Gas價格預測結果Fig.3 ETH_XGB model predict result for Gas price

圖3顯示的是ETH_XGB模型的預測值與真實值的折線圖(由于空間問題,隨機選擇測試集中421~520位)。為了進一步驗證ETH_XGB模型在Gas價格預測中的有效性,與同類型的集成模型梯度增強決策樹(GBDT)和Liu的MLR模型進行比較,采取相同的測試集。

對比圖3和圖4可知,ETH_XGB模型在預測值和實際值的擬合度上表現更好,其預測性能明顯高于MLR模型,與GBDT模型相比也有明顯的優勢。進一步測試模型有效性,隨機選擇100個區塊,計算100個區塊總的交易節省費用,詳細信息如表1所示,三欄分別介紹研究模型、節省的以太幣和相應的美元,也計算每個區塊節省交易費用的比例。

表1 模型節省成本Table 1 Model costing savings

由表1可知,ETH_XGB模型可以節省總計51 359.43美元,可以幫助用戶節省72.5%交易成本,而MLR模型能幫助用戶節省57.5%的交易成本,GBDT僅能幫助用戶節省30.17%的交易成本.進一步表明ETH_XGB模型在Gas價格預測中的應用具有一定的優勢。

進一步測試模型的預測準確率,將測試集分為100組,觀察ETH_XGB模型和對比模型的預測準確率。由圖5可以觀測到,ETH_XGB模型預測準確率明顯高于MLR模型和GBDT模型,ETH_XGB模型的平均預測準確率為92%,MLR模型的平均預測準確率為63.3%,GBDT模型僅為47.85%。因此,ETH_XGB模型預測精度高于MLR模型和GBDT模型,預測成功率更高。

進一步驗證模型的性能,依然將測試集分為100組進行測試,圖6為ETH_XGB模型、MLR模型和GBDT模型的均方根誤差、平均絕對值誤差和皮爾遜相關系數的表現。

ETH_XGB模型的RMSE值和MAE值均小于MLR模型和GBDT模型,測試組的平均RMSE值相較與MLR提升了20.14%,相比較GBDT提升了49.98%;其MAE值相比較MLR提升了22.88%,相比較GBDT提升了59.06%。ETH_XGB模型的平均PC系數為0.86,而MLR模型和GBDT模型的平均PC系數分別為0.63、0.48,由PC系數可知,GBDT模型的預測值和真實值之間是中度程度相關,MLR模型預測值與真實值之間僅是強相關的關系,而本文的ETH_XGB模型的預測值與真實值之間是極強相關。實驗結果顯示出ETH_XGB模型良好的評分預測能力,且證明了相較于MLR模型和GBDT模型,ETH_XGB模型具有更高的精確性和更好的穩定性。

5 結束語

本文將XGBoost算法引入以太坊定價模型,模型利用以太坊歷史數據分析Gas價格影響因素利用XGBoost算法建立模型,實現交易智能定價。ETH_XGB模型通過結合交易Gas價格影響變量,使得推薦效果明顯改善,相較于其他Gas價格預測模型,ETH_XGB既能夠幫助用戶節省72.5%的交易成本,且交易準確率能夠達到92%。本模型適用于在包含豐富的以太坊交易數據下進行Gas價格推薦的場景,ETH_XGB模型能夠在有效避免過擬合的同時提高評分預測精度。

在未來的工作中,可以考慮探索更多影響交易Gas價格的因素,通過擴展實時數據和考慮交易確認時間的不同來改進以太坊交易智能定價模型,相信在未來對以太坊交易的更多探索能夠使交易定價模型性能得到進一步的提升。

猜你喜歡
智能模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
智能制造 反思與期望
智能前沿
文苑(2018年23期)2018-12-14 01:06:06
智能前沿
文苑(2018年19期)2018-11-09 01:30:14
智能前沿
文苑(2018年17期)2018-11-09 01:29:26
智能前沿
文苑(2018年21期)2018-11-09 01:22:32
智能制造·AI未來
商周刊(2018年18期)2018-09-21 09:14:46
3D打印中的模型分割與打包
主站蜘蛛池模板: 国产午夜一级毛片| 国产18在线| 一级毛片免费播放视频| 亚洲成人在线网| 免费无码网站| 国产香蕉97碰碰视频VA碰碰看| 日韩无码视频专区| 亚洲男人的天堂久久精品| 欧美一区二区精品久久久| 性欧美精品xxxx| 特级毛片免费视频| 亚洲第一色视频| 国产精品99r8在线观看| 国产成人精品亚洲日本对白优播| 九色91在线视频| 白浆视频在线观看| 激情午夜婷婷| 久久综合九色综合97婷婷| 欧美亚洲国产日韩电影在线| 国产一线在线| 久久人午夜亚洲精品无码区| 免费一极毛片| 日韩精品亚洲一区中文字幕| 色天天综合久久久久综合片| 国产欧美视频综合二区| 国产在线视频欧美亚综合| 亚洲天堂视频网站| 亚洲中文字幕97久久精品少妇| www亚洲天堂| 国产高清在线精品一区二区三区 | 四虎国产永久在线观看| 成人精品在线观看| 久久国产V一级毛多内射| 91青青在线视频| 亚洲天堂免费| 性视频久久| 久久永久精品免费视频| 国产乱子伦精品视频| 一级做a爰片久久毛片毛片| 国产91精品最新在线播放| 国产乱子精品一区二区在线观看| www.亚洲一区| 午夜三级在线| 91久久性奴调教国产免费| 欧美高清三区| 午夜精品久久久久久久无码软件 | 亚洲精品中文字幕无乱码| 国产经典三级在线| 91网在线| 久久黄色视频影| 亚洲天堂网在线播放| 国产精品一老牛影视频| 国产精品香蕉| 57pao国产成视频免费播放 | 国产特级毛片aaaaaaa高清| 国产屁屁影院| 日本免费高清一区| 无码AV动漫| 91精品免费久久久| 视频二区国产精品职场同事| 日韩 欧美 国产 精品 综合| 亚洲a级在线观看| 色噜噜狠狠狠综合曰曰曰| 2020国产精品视频| 亚洲91精品视频| 日韩毛片免费| 狠狠色丁香婷婷综合| 国产自在线播放| 国产精品成| 波多野结衣一区二区三区AV| 亚洲男人天堂久久| 久久婷婷综合色一区二区| 国产免费看久久久| 91麻豆久久久| 国产成人综合久久| 天堂成人在线视频| 亚洲人成电影在线播放| 极品性荡少妇一区二区色欲| 美女免费黄网站| 国产一区二区三区在线观看视频| 最新亚洲av女人的天堂| 欧美高清日韩|