https://zhuanlan.zhihu.com/p/78349978
什么是鏈上數據
鏈上數據就是寫到區塊鏈上的數據,它是一種結構化數據,但是它的形式比較復雜。我們以比特幣的區塊來說明。

每一個區塊首先會有一個區塊號,其次會包含一些區塊的基本信息,例如當前區塊的哈希值,前一個區塊的哈希值,當前區塊的時間戳以及當前區塊所包含的交易筆數等。最后就是區塊里的每筆交易的詳細信息,這里就包括交易的哈希值,轉入地址,轉出地址,轉賬金額等信息。這里需要說明的是,由於比特幣采用的是UTXO模型,它的交易可能包含多個轉入地址和多個轉出地址。但是像以太坊這樣采用賬戶模型的區塊鏈只會有一個轉入地址和一個轉出地址。
另外,由於以太坊支持智能合約,交易里可能還會包括一些智能合約相關的信息,比如創建一個智能合約,調用智能合約等操作都會上鏈。這些信息同時也增加處理和分析鏈上數據的難度。
我們再來看看鏈上數據的數據量,這取決於區塊鏈本身的活躍度以及所采用的共識機制。比特幣的共識算法是工作量證明,大約10分鍾產出一個區塊,當前每個區塊大小約為1MB,一天時間比特幣區塊鏈就會增加144MB的數據;以太坊大概每10秒出一個區塊,當前每個區塊約20KB,因此,以太坊一天會增加約173MB的數據。
與區塊鏈相關的還有其他形式的數據,例如,加密貨幣的交易行情數據、白皮書數據等。交易行情數據都是時間序列數據,包括tick行情,K線,市場深度,歷史逐筆成交等。交易數據的數據結構相對簡單,但是粒度更細。一般交易所每500毫秒就會推送最新的tick數據。區塊鏈項目里的白皮書、社群里的輿情是非結構化數據,需要用到自然語言處理技術來進行分析。但是本文僅討論鏈上數據的分析。
鏈上數據分析方法
區塊鏈提供的是賬本的完整性,數據統計分析的能力較弱,而大數據則具備海量數據存儲技術和靈活高效的分析技術,能夠極大提升數據的價值和使用空間。二者的結合,即,鏈上數據分析,是一個新興的技術領域。
鏈上數據分析的重點與難點是挖掘賬戶/地址之間的關聯關系。下圖是根據FBI掌握的“絲綢之路”的比特幣的地址而畫出的與其關聯的比特幣交易網絡。圖中的節點就是比特幣地址,圖中的邊就是一筆轉賬交易。可以看到,區塊鏈上形成的是一個非常復雜的網絡狀數據,再加上區塊鏈的匿名性,深度的鏈上數據挖掘是十分困難的,需要用到大規模網絡分析和機器學習等方法。

首先,簡單介紹一下鏈上數據分析的一些基本方法和步驟。要做鏈上數據分析第一步是獲取數據。現在基本上每一個主流區塊鏈都有自己的區塊鏈數據瀏覽器。比如比特幣的http://bitinfocharts.com,以太坊的http://etherscan.io,EOS的http://eosflare.io,以及波場的http://tronscan.org等。有些瀏覽器也提供數據的API接口,我們可以直接通過調用接口來獲取數據。但是這些網站通常有訪問限制且訪問速度比較慢,如果需要爬取大量數據就比較困難。快速系統的獲取鏈上數據的方法是搭建一個區塊鏈全節點,然后通過訪問本地的全節點獲取並解析鏈上數據,再將清洗好的數據落入數據庫。
不過這種方式成本是比較高的,對於個人來說實現起來比較困難。首先,我們需要一台性能不錯的服務器,其次,按我們之前的計算,一個鏈一天會有100M以上的數據增量,這就要求有大量的存儲空間,再者,完成整個流程也有一定的技術門檻。
完成數據的獲取,清洗和落庫之后,第二步是給地址打標簽。我們知道,區塊鏈是一個匿名的系統,通常我們並不知道這一串字符的背后,持有巨額財富的人到底是誰。但是我們做鏈上數據分析,最希望挖掘的信息就是地址間的關聯。所以我們首先要做的是盡可能的找到地址背后的實體是誰。
給地址打標簽一般有三種方法:
最簡單的方法是從一些公開的數據源獲取。比如,比特幣有www.walletexplorer.com這個網站,上面有大量比特幣地址的標簽,以太坊也可以通過https://etherscan.io/labelcloud拿到部分地址標簽,其他區塊鏈通常也能從他們的區塊鏈瀏覽器拿到部分地址標簽,但是越新的鏈標簽越少。
第二種方法就是通過充值來獲取地址標簽。因為當前的區塊鏈世界其實是以交易所為中心的,交易所控制了大部分的鏈上資金流向,弄清楚了交易所地址,就會對鏈上數據有比較清晰的全景圖。當我們將幣充進交易所后,我們可以根據交易所提供的充值地址追溯到交易所的熱錢包地址甚至冷錢包地址。
第三種方法是根據前兩種方法獲得的地址標簽去預測未知地址的標簽。這里需要用到網絡分析(如標簽傳播)機器學習(聚類,分類算法等)。基本的思路就是通過已知的地址標簽和地址間的交易關系來進行預測。通過這種方式我們就可以得到一個交易所大致的地址池。
完成這些基礎工作之后,第三步就是進一步的數據分析或運用。比如,我們可以做鏈上資金的流向監控,大額轉賬的預警,統計一個交易所持有的資產總額,建立數字貨幣的反洗錢系統等。這些信息不論對於數字貨幣的投資還是監管都是很有價值的。
鏈上數據分析在加密貨幣投資中的應用
區塊鏈的鏈上交易數據對加密貨幣投資提供了行情數據之外的另一個維度的信息。先介紹一個偏基本面的估值模型:梅特卡夫定律。梅特卡夫定律最初是用於評估一個通信網絡或者社交網絡的價值,它認為網絡的價值與其用戶數量的平方成正比。我們之前提到,區塊鏈本質是一個交易網絡,因此運用梅特卡夫模型對數字貨幣進行估值也是合理的。
以比特幣為例,首先我們需要從鏈上交易數據中統計出歷史每日的活躍地址數,然后拿到對應時間的比特幣市值,通過做對數-線性擬合建立比特幣市值和活躍地址數之間的關系。這樣我們就可以用該模型對比特幣進行估值。當市值高於估值時,說明比特幣高估,當市值低於估值時,說明比特幣低估,這就可以給投資比特幣提供參考。

第二個例子是運用鏈上數據的事件驅動投資策略。波點錢包自稱是波場官方合作的錢包,依靠承諾的高額“定存利息”和拉人頭返現,錢包余額最高時曾達到 12 億枚 TRX。2月中旬之后,波點錢包以主網升級為由停止了TRX充提現,錢包總余額一直維持在7.7億個TRX左右。但是從 3 月 18 日開始,波點錢包在未告知用戶的情況下,開始將所持有的TRX轉入到10個新建地址。我們從波場鏈上數據分析追蹤到此次波點錢包的大額轉賬行為共轉出6.83億枚TRX。3月23日,波點錢包將新建地址中的4000萬個TRX轉入幣安交易所,疑似砸盤套現。
然后,波點錢包的疑似套現行為並沒有就此結束。之后,波點錢包又進行了多次大額轉出,目的地均為幣安交易所。具體情況如下:
- 3月23日,波點錢包第一次大額提幣,轉移約4000萬個TRX至幣安交易所,幣安TRX價格下跌9%,超過同期其他主流幣種跌幅;隨后上漲約6%;
- 3月28日,波點錢包第二次大額提幣,轉移約1500萬個TRX至幣安交易所,幣安TRX價格下跌2%,超過同期其他主流幣種跌幅;隨后上漲約4%;
- 4月3日,波點錢包第三次大額提幣,轉移約9200萬個TRX至幣安交易所,幣安TRX價格下跌12%,超過同期其他主流幣種跌幅;隨后上漲約16%;
雖然TRX價格的下跌不一定由波點錢包的套現行為導致,但是從歷史數據回測中,我們可以看到,它們之間的確展現出來某些相關性,這為我們做波段交易提供了機會。我們可以以波點錢包鏈上轉出為信號,在期貨市場做空TRX;當TRX價格平穩后,平倉TRX合約,並擇機做多TRX現貨。
展望
當前的鏈上數據,絕大部分都是交易和投資為目的產生的,鏈上的資金不是直接轉入了交易所就是在去交易所的路上。不過,隨着區塊鏈技術的應用迅速發展,數據規模會越來越大,不同業務場景區塊鏈的數據融合會進一步擴大數據規模和豐富性。
區塊鏈以其可信任性、安全性和不可篡改性,可以讓更多數據被解放出來,推進數據的海量增長。區塊鏈的可追溯性使得數據從采集、交易、流通,以及計算分析的每一步記錄都可以留存在區塊鏈上,使得數據的質量獲得前所未有的強信任背書,也保證了數據分析結果的正確性和數據挖掘的效果。這些優點使其在很多領域都有落地的場景。比如,在金融領域,鏈上數據天然具備了穿透監管的特性,即對資金來源和資金流向全過程的監控。在物聯網領域,IoT設備的數據上鏈能夠是其更安全和透明,並且可以對基於相互連接的智能設備之間服務交換的微交易帶來便利。在供應鏈行業,可以運用鏈上數據來實現物品的可追溯,提高透明度。
從數據分析和挖掘的角度,通過把大數據AI技術與鏈上數據相結合,能讓區塊鏈中的數據更有價值,也能讓大數據的預測分析落實為行動,使其共同成為數字經濟時代的基石。