區塊鏈數據服務(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 調用查詢鏈上原始數據,這種方式雖然便捷,可是以下問題:
數據時效性:全節點同步到的 block 數據,須要持久化到磁盤上以後,才能經過 RPC 接口獲取;
性能損耗:全節點響應 RPC 請求,須要讀取磁盤的數據,會有 IO 損耗,同時處理全部的外部請求須要消耗 CPU;
綜合考慮以後,咱們直接經過修改了公有鏈全節點源碼,在全節點同步到 block 數據的時候,就直接將數據推送給大數據分析平臺,從而確保了數據的時效性。
在 自定義數據 方面,京東雲區塊鏈產品部結合了 AI,網絡爬蟲等技術手段進行了創新,產生了咱們獨有的基礎數據。
因爲區塊鏈自身的匿名性特性,其實沒法知道區塊鏈上每一個地址的真實歸屬。京東雲區塊鏈產品部經過網絡爬蟲獲取互聯網上的區塊鏈相關的全部信息,結合鏈上的交易行爲,經過 AI 技術進行數據分析,針對地址進行標註,定位地址的歸屬狀況。
在 大數據分析 方面,基於區塊鏈數據和自定義數據,京東雲區塊鏈產品部通過長期的研究、分析、計算,原創了不少有意義的獨家數據指標。這些數據指標除了交易金額,交易次數,活躍地址,新增地址等一些基礎的指標外,還有地址分類,市值價值比,用戶留存等高級的指標。
數據分析不只有實時的數據分析,也有離線定時執行的數據分析。好比目前進行地址分類的時候,針對天天新增的地址,是須要結合全量歷史地址數據的聚類判斷,這項數據指標咱們目前是採用離線分析方式,天天定時跑數據聚合任務,目前光進行天天新增地址的分類,大概須要耗時 2 ~ 3 個小時;同時能夠預見將來隨着數據量的增長,數據聚合的耗時也會相應增長。
所以,京東雲區塊鏈產品部依託京東雲的基礎計算能力,經過數據分析集羣服務,預先計算了 100+ 個基礎和高級數據指標。
舉個例子,咱們來看看 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 工具,經過簡單的點擊,拖拽就能夠生成你想要的數據報表,同時也支持經過修改數據可視化展示方式,將數據報表轉成柱狀圖、折線圖、餅圖等各類圖形化界面。
數據報表示例:BTC 地址表
若是你有必定的 SQL 基礎,也能夠本身編寫一些複雜的 SQL 命名,實現表與表之間的關聯查詢,從而更直觀的進行數據分析對比。
表關聯查詢示例:BTC 交易數據表和 BTC 交易輸入數據表
針對每一個使用者,此工具支持自定義數據面板,能夠將查詢出來的數據報表、數據圖形化界面記錄到數據面板中,同時針對數據面板中的數據支持自定義刷新時間,實時更新,這樣就能夠避免每次想看數據的時候都須要從新進行一次查詢。
數據面板示例:JDCloud Example
在 應用場景 方面,由於有了區塊鏈數據,能夠基於此數據作各類各樣的應用服務,舉幾個簡單的場景:
能夠作基於區塊鏈的運營解剖,分析某個公有鏈的運行狀況,基於這些數據,能夠進行公有鏈評級;
能夠作交易圖譜分析,經過分析鏈上數據,生成交易圖譜,能夠分析是否存在經過虛擬貨幣進行洗錢,非法集資等違法行爲;
能夠作商業洞察,經過各項數據指標,進行分析對比,進行機器學習,能夠預測虛擬貨幣將來的發展趨勢,判斷其將來走向。
就像京東雲提供公有云服務,給全部用戶提供最基礎的計算、存儲、網絡服務,京東雲區塊鏈產品部一直致力於區塊鏈底層技術的相關研究,針對公有鏈進行最基礎數據提取、分析服務,致力於服務全部基於區塊鏈數據進行創新的企業或我的,大大下降准入門檻。
在將來,咱們計劃將開源區塊鏈數據服務,從而讓更多的開發者能夠參數於進來,你們一塊兒來進行公有鏈的基礎數據提取、分析,從而能夠接入愈來愈多的公有鏈數據,甚至能夠接入聯盟鏈的數據、私有鏈的數據。將區塊鏈數據服務打形成一個區塊鏈的 Google 搜索引擎,全部區塊鏈相關的內容均可以在這裏很便捷地查詢到。
京東雲區塊鏈產品部始終沿襲了京東雲 GOOD 文化:
Growth mindset - 成長心態
Obsessed with customer - 擁抱客戶
Open source & Open minded - 開源包容
Data driven - 數據驅動