1. 程式人生 > >業內首發 | 區塊鏈資料服務

業內首發 | 區塊鏈資料服務

 

區塊鏈資料服務(Blockchain Data Service,BDS)是京東雲區塊鏈產品部發推出的,其將區塊鏈的鏈式、非結構化資料通過技術手段進行結構化儲存,實時同步到高效能資料倉庫中。
使用者可以通過區塊鏈資料查詢工具,實現簡單的條件查詢和複雜的 SQL 查詢,從而助力基於區塊鏈資料的創新企業快速起步。

區塊鏈資料服務具有以下特性:

  • 豐富性:涵蓋了 BTC、ETH、EOS、LTC、XRP、BCH 等幾十個知名區塊鏈專案,自定義了涉及使用者、交易、區塊等 100+ 獨家資料指標,聯網即可查詢鏈上實時資料,即開即用,方便快捷。

  • 便捷性:提供了一個互動式的資料視覺化 BI 工具,支援通過點選和拖拽的互動方式進行條件查詢,可實時生成各類資料報表、圖形化介面。

  • 專業性:支援標準 SQL 查詢語句,可輕鬆實現複雜的查詢邏輯。

京東雲的 BDS 是國內首家提供區塊鏈資料線上分析服務的產品。

 

產品背景

近兩年隨著區塊鏈技術的興起,整個行業可謂是百家爭鳴,有諸如 BTC,ETH,XRP 等耳熟能詳的公有鏈專案,也有 Fabric,Enterprise Ethereum Alliance,Corda R3 等眾所周知的聯盟鏈專案。

不管是公有鏈也好,聯盟鏈也罷,其實一個個都是獨立的資訊孤島,資料和資訊無法在彼此之間流通。在當今資料為王的網際網路時代,如何將這些區塊鏈的資料和資訊整合到一起,並能方便的利用當前業界已經相對成熟的資料分析工具來針對區塊鏈資料進行分析和建模,成為了京東雲產品部一直在思考的一個問題。

最終,京東雲產品部秉承產品設計初衷,推出了區塊鏈資料服務這款產品。

 

產品架構圖

 

區塊鏈資料

在 區塊鏈資料 方面,由於大部分的公有鏈全節點都部署在海外,所以在國內的環境下部署全節點同步資料經常會出現同步失敗的情況。京東雲區塊鏈產品部依託京東雲的強大基礎能力,針對每條獨立的公鏈,在海外部署了多個區塊鏈全節點來確保實時同步公鏈資料。

我們觀察發現,目前市值排名前三的虛擬貨幣分別為 BTC,ETH,XRP,這三者中 BTC 全節點所佔的儲存空間是最少的,目前其全節點儲存空間為 200 GB,而 ETH 全節點的儲存空間已經接近 3 TB,全節點儲存空間最大的當屬 XRP,目前已經接近 10 TB,一般的物理伺服器已經無法儲存這邊大的資料量。

在進行公有鏈的非結構化資料分析的時候,最初我們採用了公有鏈全節點自身暴露的介面,通過 RPC 呼叫查詢鏈上原始資料,這種方式雖然便捷,但是如下問題:

  1. 資料時效性:全節點同步到的 block 資料,需要持久化到磁碟上之後,才能通過 RPC 介面獲取;

  2. 效能損耗:全節點響應 RPC 請求,需要讀取磁碟的資料,會有 IO 損耗,同時處理所有的外部請求需要消耗 CPU;

綜合考慮之後,我們直接通過修改了公有鏈全節點原始碼,在全節點同步到 block 資料的時候,就直接將資料推送給大資料分析平臺,從而確保了資料的時效性。

 

自定義資料

在 自定義資料 方面,京東雲區塊鏈產品部結合了 AI,網路爬蟲等技術手段進行了創新,產生了我們獨有的基礎資料。

由於區塊鏈自身的匿名性特性,其實無法知道區塊鏈上每個地址的真實歸屬。京東雲區塊鏈產品部通過網路爬蟲獲取網際網路上的區塊鏈相關的所有資訊,結合鏈上的交易行為,通過 AI 技術進行資料分析,針對地址進行標註,定位地址的歸屬情況。

 

大資料分析平臺

在 大資料分析 方面,基於區塊鏈資料和自定義資料,京東雲區塊鏈產品部經過長期的研究、分析、計算,原創了很多有意義的獨家資料指標。這些資料指標除了交易金額,交易次數,活躍地址,新增地址等一些基礎的指標外,還有地址分類,市值價值比,使用者留存等高階的指標。

資料分析不僅有實時的資料分析,也有離線定時執行的資料分析。比如目前進行地址分類的時候,針對每天新增的地址,是需要結合全量歷史地址資料的聚類判斷,這項資料指標我們目前是採用離線分析方式,每天定時跑資料聚合任務,目前光進行每天新增地址的分類,大概需要耗時 2 ~ 3 個小時;同時可以預見未來隨著資料量的增加,資料聚合的耗時也會相應增加。

因此,京東雲區塊鏈產品部依託京東雲的基礎計算能力,通過資料分析叢集服務,預先計算了 100+ 個基礎和高階資料指標。

舉個例子,我們來看看 btc_statistics_day_transaction 的表結構資訊

btc_statistics_day_transaction

按天分析交易相關數

欄位 型別 定義
id INT 自增ID
timestamp INT 時間戳
value_day_consume DOUBLE 幣天銷燬
tx_rate DOUBLE 交易速率
tx_count INT 交易次數
tx_vin_avg DOUBLE 交易輸入平均值
tx_vout_avg DOUBLE 交易輸出平均值
tx_size_avg DOUBLE 交易空間大小平均值
tx_value_sum DOUBLE 交易金額總和
tx_value_avg DOUBLE 交易金額平均值
tx_fee_avg DOUBLE 交易手續費
tx_size_fee_avg DOUBLE 每KB交易手續費
tx_value_without_hot_address DOUBLE 排除熱門地址的交易金額
tx_value_without_long_chain DOUBLE 排除長鏈交易的交易金額
block_trade_count INT 大額交易數量
block_trade_sum INT 大額交易總金額
address_count_sum INT 地址總數
address_count_new INT 新增地址數
active_address_count INT 活躍地址數
address_vin_vout_avg DOUBLE 交易地址交易次數平均值
address_tx_value_avg DOUBLE 交易地址交易金額平均值
active_percent DOUBLE 地址活躍率
store_rate DOUBLE 儲存率
ratio_of_market_value DOUBLE 市值價值比
freshness DOUBLE 新鮮度
dormant_address INT 休眠地址數
dead_address INT 死亡地址數
wake_up_address INT 甦醒地址數
reborn_address INT 復活地址數

其中其實有不少有意思的資料指標,比如:

  • 復活地址:表示此地址長期未產生交易,然後今天突然產生交易了;如果當天出現了大量復活地址,其實可以間接說明使用者開始活躍了。

  • 地址活躍率:表示產生交易的地址佔總地址數的比例,通過這個指標可以看整體市場的活躍度,此值越高,市場越活躍。

  • 儲存率:表示未交易的虛擬貨幣佔總虛擬貨幣供應量比例,這個指標體現了虛擬貨幣在市場上的流通情況,此值越低,虛擬貨幣的流通率越高。

 

區塊鏈資料 BI 工具

在 區塊鏈資料 BI 工具 方面,提供了一個互動式資料視覺化 BI 工具,通過簡單的點選,拖拽就可以生成你想要的資料報表,同時也支援通過修改資料視覺化展現方式,將資料報表轉成柱狀圖、折線圖、餅圖等各種圖形化介面。

資料報表示例:BTC 地址表

如果你有一定的 SQL 基礎,也可以自己編寫一些複雜的 SQL 命名,實現表與表之間的關聯查詢,從而更直觀的進行資料分析對比。

表關聯查詢示例:BTC 交易資料表和 BTC 交易輸入資料表

針對每個使用者,此工具支援自定義資料面板,可以將查詢出來的資料報表、資料圖形化介面記錄到資料面板中,同時針對資料面板中的資料支援自定義重新整理時間,實時更新,這樣就可以避免每次想看資料的時候都需要重新進行一次查詢。

資料面板示例:JDCloud Example

 

應用場景

在 應用場景  方面,因為有了區塊鏈資料,可以基於此資料做各種各樣的應用服務,舉幾個簡單的場景:

  1. 可以做基於區塊鏈的運營解剖,分析某個公有鏈的執行情況,基於這些資料,可以進行公有鏈評級;

  2. 可以做交易圖譜分析,通過分析鏈上資料,生成交易圖譜,可以分析是否存在通過虛擬貨幣進行洗錢,非法集資等違法行為;

  3. 可以做商業洞察,通過各項資料指標,進行分析對比,進行機器學習,可以預測虛擬貨幣未來的發展趨勢,判斷其未來走向。

產品小結

就像京東雲提供公有云服務,給所有使用者提供最基礎的計算、儲存、網路服務,京東雲區塊鏈產品部一直致力於區塊鏈底層技術的相關研究,針對公有鏈進行最基礎資料提取、分析服務,致力於服務所有基於區塊鏈資料進行創新的企業或個人,大大降低准入門檻。

在未來,我們計劃將開源區塊鏈資料服務,從而讓更多的開發者可以引數於進來,大家一起來進行公有鏈的基礎資料提取、分析,從而可以接入越來越多的公有鏈資料,甚至可以接入聯盟鏈的資料、私有鏈的資料。將區塊鏈資料服務打造成一個區塊鏈的 Google 搜尋引擎,所有區塊鏈相關的內容都可以在這裡很便捷地查詢到。

京東雲區塊鏈產品部始終沿襲了京東雲 GOOD 文化:

  • Growth mindset - 成長心態

  • Obsessed with customer - 擁抱客戶

  • Open source & Open minded - 開源包容

  • Data driven - 資料驅動

 

點選"京東雲"瞭解更多詳情