?

基于Ethereum 全鏈構建的大數據測量分析與研究

2024-02-22 05:38黃福鴻李高翔卓采標葉宇中
廣東通信技術 2024年1期
關鍵詞:礦工共識客戶端

[黃福鴻 李高翔 卓采標 葉宇中]

1 引言

BTC(比特幣)系統自2009 年1 月上線至今,仍然是區塊鏈技術最成功的應用場景之一。然而BTC 缺乏圖靈完備性,Ethereum(以太坊)結合智能合約打破了BTC的局限性。作為可編程區塊鏈的代表,Ethereum 是一個數據豐富多樣的大數據庫,目前Ethereum 區塊高度已超過1 800 萬,整鏈存檔空間已經超過15 400 GB,且每天以10GB 左右的速度不斷增長。大數據時代的數據具有巨大價值,BTC、Ethereum 作為主流區塊鏈系統,數據公開透明,只需搭建節點就可以進行數據同步?;趨^塊鏈的大數據分析前景廣闊,可以推進智能合約安全、DApps 開發、區塊鏈交易安全、區塊鏈網絡安全等方面的發展[1]。

然而目前以Ethereum 為代表的可編程區塊鏈大數據分析存在較多挑戰,主要有以下幾個方面。

(1)建立本地節點,實現區塊鏈點對點節點之間的數據實時同步存在挑戰。目前全節點的同步數據超過15TB,即使搭建一個輕量級的節點,完全同步也需要至少一周時間以及多于800GB 的存儲空間。Ethereum 區塊鏈數據同步困難,阻礙了Ethereum 區塊鏈大數據分析。

(2)對Ethereum 全鏈數據讀取、解析、測量分析存在挑戰。目前大多數研究都只是提取了部分數據以完成某項特定分析工作,對于Ethereum 數據全貌和實時新增的數據讀取、解析、處理、測量分析的相關研究不多。

(3)缺乏對Ethereum 全鏈數據內容安全的探索。Ethereum具備較大冗余空間,探索Ethereum是否存在色情、詐騙、個人隱私等風險內容,究竟存在多少風險內容,這些風險內容的在Ethereum 鏈的準確位置是非常必要。

為解決上述問題,本文首先擬建立本地節點,開發多線程并發解析程序從節點中解析提取并構建大數據集。最后基于上述細化的數據集合進行統計測量分析,對Ethereum 區塊鏈中的內容風險內容進行發現與定位,并進行定性和定量分析。本文剩余部分結構安排如下。第二節概述相關背景,第三節詳細介紹了Ethereum 數據集構建與數據初步探索,第四節對風險內容進行分析,最后在第五節中進行了總結與展望。

2 相關工作

2.1 Ethereum 鏈架構

Ethereum 是一個重要的區塊鏈平臺,是先進公有鏈的代表。整體架構如圖1 所示,主要分成三部分:底層服務、核心層、頂層應用。

圖1 Ethereum 架構

頂層應用包括Ethereum 客戶端、智能合約、ENS、錢包等等,通過Web3j 等API 與下層進行通信。核心層包含區塊鏈、共識算法、EVM 等核心部件,EVM 是Ethereum 主要創新,所有智能合約均運行在EVM 上,以實現復雜的代碼邏輯。底層服務包含密碼算法、LevelDB數據庫、P2P 網絡服務等。

2.2 Ethereum 內容安全

不論是BTC 還是Ethereum 都存在可供自主寫入數據的冗余空間。中本聰在創世紀區塊的Coinbase 字段記錄下了第一條永久信息即泰晤士報當天的新聞頭條:“The Times 03/Jan/2009 Chancellor on brink of second bailout for banks”。此后不斷有各種信息被寫入到BTC,知名礦池F2Pool 將紐約時報新聞標題寫入BTC 第三次減半前最后區塊中,以致敬中本聰。除了coinbase 字段,Andrew Sward 在論文研究了各種將數據嵌入BTC 的方法,包括P2SH、P2FKH、OP_RETURN、P2FK 等數據嵌入,并對各種嵌入方法的效率做對比分析[2]。文獻[3]提出利用算術編碼將文本或其他數據嵌入到BTC 交易之中,以達到證明數據的真實性驗證和永久保存的目的。

凡事皆有兩面性,少部分用戶出于同樣也會將色情、政治、詐騙等垃圾信息寫入區塊鏈。然而目前業界對于區塊鏈內容安全的研究較少,Roman Matzutt 對BTC 全鏈的內容作了定性和定量分析[4],提取了1 557 個有內容意義的文件,并發現其中存在兒童色情內容的鏈接和政治敏感內容。相比于BTC,Ethereum 具備更多的冗余空間且所需權限更低,目前尚未發現有相關論文對Ethereum 全鏈內容做定性與定量分析,發現其風險內容,本文后面將闡述對Ethereum 內容安全的分析。

3 數據提取與測量

3.1 Ethereum 節點搭建

商業化的區塊鏈瀏覽器如Etherscan 可用于查看具體的區塊或者交易信息,并提供少量智能合約信息下載。此外,相關研究也提供了一些區塊鏈數據查詢工具與框架,例如論文[5]提出BlockSci 用于區塊鏈數據分析。論文[6]設計了查詢工具EtherQL 為Ethereumt 提供高效查詢,但該工具已經停止維護更新。論文[7]提出利用Ethereum 內部機制的系統化、高保真數據探索框架DataEther。

然而,上述工具與框架要么停止更新要么對API 做了使用限制,無法用于構建Ethereum 的全量數據集。搭建個人本地節點可以解決上述問題。目前需要兩種客戶端來運行節點,分別是“執行客戶端”和“共識客戶端”。執行客戶端偵聽網絡中廣播的新交易,共識客戶端實現了PoS 共識算法,使網絡能夠根據來自執行客戶端的經過驗證的數據達成一致。本文使用Geth 作為執行客戶端,Prysm 作為共識客戶端,搭建個人本地輕節點。

3.2 數據集概述

Geth 與Prysm 經過大約一周時間的穩定運行后,本地輕節點即可跟隨同步主網高度,此時節點占據本地存儲空間約930G。本文基于Web3j 框架豐富的Ethereum 接口提取解析了Ethereum 自上線以來的區塊數據和交易數據,并將實時更新的區塊數據解析入庫。如表1 所示,解析的數據劃分為2 個大數據集(1)block_info 數據集、(2)transaction_info 數據集。

表1 數據集

3.3 數據測量與分析

基于3.2 節中的大數據集,我們對Ethereum 數據進行了初步測量與分析。

(1)交易數據

Ethereum 剛誕生時并不活躍,在創世紀區塊發生了8 893 筆交易之后,直到高度46 147 的區塊才記錄第一筆真正的交易。隨著區塊鏈技術的發展,Ethereum 社區也更加繁榮,交易不斷增加,最多的一筆交易價值超過1 千萬個Ether。如圖2 所示,Ethereum 前三年的交易數量呈現指數級別增長,在2021 年達到頂峰,該年度總交易量超過4.6 億次。

圖2 交易量增長曲線圖

(2)區塊數據

如圖3 所示,本文統計了區塊高度[0,18 000 000]中單個區塊中記錄的交易數量情況,數據顯示單個區塊寫入交易量為0 個的區塊為1 636 154 個,從時間戳來看全部位于Ethereum 誕生之初。單個區塊寫入交易量最多的區塊鏈高度為1 302 929,共計打包了1 431 筆交易。

圖3 單個區塊記錄的交易數量分布圖

(3)去中心化分析

目前以太坊區塊高度超過1 800 萬,其中高度區間[0,15 537 393]執行PoW 共識算法,對該區間數據去重處理得到5 624 個礦工地址,即平均每個礦工挖出約2 762 個區塊。對礦工地址與挖出區塊數量的分布做進一步分析。如圖4 所示,橫坐標是挖出區塊數量的Top N 礦工地址,縱坐標是占比??梢钥吹絋op 20 的礦工挖出的區塊占比為80.00%,TOP50 的礦工挖出的區塊占比接近90%。其中隸屬于知名礦池Ethermine 的地址0xea674fdde714fd979 de3edf0f56aa9716b898ec8 挖出區塊數量最多,達到驚人的3 271 460 個,占比21.05%。

圖4 挖礦數量TopN 礦工CDF 分布圖

礦工的參與度直觀地衡量了區塊鏈去中心化程度,因此我們得到一個結論,在Ethereum 區塊鏈中,絕大部分區塊由極少部分礦工(礦池)挖出,區塊鏈的中心化程度已經高到令人擔憂。當礦池聯合起來算力完全可以超過51%,左右區塊鏈走向。

(3)共識算法轉換分析

2022 年9 月15 日Ethereum 網絡在區塊高度15 537 393觸發了重大升級,共識算法正式從PoW、PoS 混行轉為PoS。共識算法的轉換必定對Ethereum 產生重要影響,我們基于數據集做了相關分析。

首先分析共識算法轉換對于礦工的影響。測量統計數據如下,以高度15 537 393 為分界點,小于等于該高度的且成功挖到區塊的不同礦工地址僅有5 624 個,十天后礦工地址新增加了2 263 個,一個月后礦工地址新增加了3 879 個。短短數天礦工數量的增長數量超過了過去數年的的增長。因此Ethereum 升級共識算法為PoS 之后,降低了挖礦門檻,鼓勵了大量新的礦工加入Ethereum 網絡,加強了中心化。

其次分析共識算法轉換對于Ethereum 網絡TPS 的影響?;趖ransaction_info 數據集計算共識算法切換前后兩個階段的TPS 以及整體平均TPS 得到如圖5 所示。通過對數據計算證明,Ethereum 共識算法由PoW/PoS 混行轉換為PoS 后,網絡性能得到優化,平均TPS 從7.6 提高至12.2,提高了60.5%。

圖5 升級前后TPS 對比示意圖

4 上鏈信息內容安全分析

不可篡改是區塊鏈最重要的特性之一,因此很多用戶利用區塊鏈的冗余空間進行信息的自主寫入,已達到信息上鏈并存證的目的。根據Ethereum 數據結構可知,當區塊被挖出時,礦工擁有在該區塊的“extraData”字段自主寫入信息的權限。當Ethereum 交易為外部非合約調用時,用戶可以在該交易的“input”字段自主寫入一些附加數據。因此本文對于上鏈信息的分析主要基于extraData、input兩個字段內容。如圖6 所示,借助詞云進行直觀展示全量“extraData”字段內容,可以看到高頻詞匯均為礦池簽名、礦機型號等,從另一方面印證了章節3.3 中關于該礦池挖礦數量巨大的事實。

圖6 “extraData”字段詞云展示

4.1 涉詐騙信息分析

由于區塊鏈的金融屬性,數字貨幣詐騙層出不窮并給區塊鏈發展帶來負面影響,一些Ethereum 用戶被騙后試圖挽回損失。然而由于區塊鏈的高度匿名性,受害者出于無奈只能通過交易的“input”字段向黑客發出請求或威脅,試圖要求對方返還Ether。因此我們通過分析“input”字段語義可以發現一些涉嫌欺詐的Ethereum 錢包地址。

例如,“0xa773603b139Ae1c52D05b35796DF3Ee76D 8a9A2F”是一個典型的詐騙Ethereum 錢包地址,如表2所示列出了3 個(僅列出小部分)不同受害者在“input”字段請求返還被騙的Ether,直接印證了該地址可能被用于接收詐騙到的Ether。

表2 疑似涉Ether 詐騙錢包地址

4.2 色情信息分析

本文在Ethereum 中發現并提取了約100 萬個url 鏈接,其中圖片url 超過5 萬個,經過爬取以及模型算法識別,發現指向色情內容的url 超過了200 個,其中指向知名成人網站pornhub.com 鏈接多達22 條。例如交易hash為0xb7d54a668f95d3e444e9306ed6b6164c21f4125d2804469 fe92d6525828817ee 記錄了1 個色情網站url。

Ethereum 無法直接存儲圖片、視頻、音頻等多媒體文件,因此一些用戶將文件進行編碼后寫入Ethereum。經過我們的檢測,發現在Ethereum 至少已經存在圖片編碼文件158 個,經過解碼還原后,其中有9 張圖片屬于色情內容。交易hash 為0x57c2 a05bd95b0e3abf13108c2e220a8f99 4fcc173ef4497fb8a578adb3bb79d3的“input”字段經解碼后如圖7所示(已馬賽克處理)。

圖7 Ethereum經解碼后存在的色情內容

5 總結與展望

本文針對區塊鏈大數據分析存在的挑戰,完成了以下三方面的工作。一是通過建立本地節點,實現了實時同步Ethereum 數據。二是實現高性能地讀取解析實時數據讀,從而將鏈上異構數據構建成良好和易于處理的實時大數據集,數據集總量超過20 億條。三是對Ethereum 全鏈數據進行探索分析,包括去中心化程度分析、TPS 分析、內容安全分析等。尤其是在風險內容分析方面,大量風險內容已經存在Ethereum,我們對相關內容風險內容實現了精確定位,并進行定性和定量分析。整體來看,風險內容與在Ethereum 全部數據量中占比很小,但已經足夠引起警惕。我們認為未來的區塊鏈設計必須主動應對風險內容,以避免惡意插入風險數據。

猜你喜歡
礦工共識客戶端
金牌挖礦工
共識 共進 共情 共學:讓“溝通之花”綻放
論思想共識凝聚的文化向度
商量出共識
老礦工的家國情懷
縣級臺在突發事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
基于Vanconnect的智能家居瘦客戶端的設計與實現
礦工老李
別讓“PX共識”在爆炸中瓦解
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合