區塊鏈技術何去何從(四)?

關於這個系列,專員之前已經寫了大概三篇了,專員在這個系列的觀點其實並不一定是主流的觀點,只是專員在日常的學習和工作中總會遇到一些區塊鏈技術的瓶頸問題,結合著專員小夥伴跟專員介紹的一些方向和專員自己的自己的思考來跟大家介紹的。這個系列,在專員的記憶中應該很久沒更新了,之前主要是介紹了專員對區塊鏈中共識協議,虛擬機模塊以及密碼學模塊三個方向發展思路的介紹和想法。小夥伴們,要是有想法可以回過頭去看一下,《區塊鏈技術何去何從(一)?》,《區塊鏈技術何去何從(二)?》,《區塊鏈技術何去何從(三)?》這三篇文章。

專員簡單的概括一下,針對共識協議,專員覺得主要是三個方向:低能耗,分層共識和部分共識;針對虛擬機模塊,虛擬機更加多樣化,安全性也會更高;而密碼學模塊主要方向就是高效率,隱私保護以及高安全。

而今天,專員主要是想講講存儲模塊的優化

1

簡單介紹一下現在的存儲模塊的一些事情

其實,專員覺得,現階段做公鏈的很少會注意到存儲本身的優化,其實也是有原因的,因為其實現在公鏈的瓶頸也還沒到存儲的模塊,更多主要的是共識模塊導致整個區塊鏈網絡的效率低下,但其實在聯盟鏈領域,很多時候會發現,存儲模塊就會是一部分的瓶頸了,所以也有技術人員在這方面著重思考。

首先來聊一下最近很火的EOS RAM

EOS要達到百萬級別的TPS,必然會遇到存儲瓶頸的問題,但是EOS的解決方案其實就是EOS RAM,最近也鬧得特別火,其實學過計算機的人都知道,內存的存儲效率會大大大高於硬盤存儲的效率,但是有個問題就是說內存的數據是不能持久化的,也就是說,一旦系統宕機,數據就不能恢復了。但是EOS則是通過超級節點這個架構體系的優化,來解決了這個宕機這個事情。也就是通過RAM這種內存級別的存儲優化來提高了整個網絡的存儲效率。

區塊鏈技術何去何從(四)?

但是,其實現在很多模式,還是要把數據持久化下來的.

比如現在日益發展壯大的以太坊

其實整個存儲模型就很簡單,最最底層的持久化存儲引擎就是LevelDB,Leveldb是一個google實現的非常高效的kv數據庫,LevelDB也是開源的大家有興趣也是可以去研究一下的。

專員簡單的介紹一下LevelDB吧,LevelDB是一個基於LSM樹的存儲引擎,具有很高的隨機寫,順序讀/寫性能,但是隨機讀的性能很一般,也就是說,LevelDB很適合應用在查詢較少,而寫很多的場景。但是,LevelDB的架構始終也是有存儲的性能的,一旦存儲數據量過大,LevelDB會不斷的Compaction,導致整個數據寫入以及讀取的效率大大降低,但是我們都知道,以太坊數據也會日益增大,導致整個區塊鏈網絡的性能也會降低。

現在的處理方向專員覺得主要有那麼幾個:

區塊鏈技術何去何從(四)?

首先針對區塊鏈連續性區塊數據的特點,編寫特殊的存儲引擎,利用磁盤的順序寫的效率高的特點來特高存儲的效率,現階段,專員發現超級賬本的fabric已經逐漸往這個方向發展了。

其次,是針對數據量大的問題,利用分佈式數據來存儲數據,例如EOS利用IPFS來進行某些大數據量的存儲,利用分佈式存儲的特點來進行分散單機存儲壓力的特點,由此可以降低LSM類引擎大數據量存儲效率低下的問題。

最後,針對LSM類型的存儲引擎的讀取效率的低下,很多區塊鏈項目逐步通過增加完善的Cache機制來進行讀取方面的存儲的優化,使讀取的數據能夠儘量在Cache層面目中,不必在LevelDB等持久化引擎中讀取,大大提供數據讀取的效率。

文末

綜上,專員覺得,其實區塊鏈很多技術都是傳統技術演變並且優化得來的,專員所說的那些方案,其實放在傳統的互聯網模式中也會不斷的被用到,而區塊鏈也能很好的藉助這種思維去優化自己的整個系統網絡,是區塊鏈的執行效率更高,能夠幫助更多的業務實現落地,使區塊鏈能真正的用到實處。


分享到:


相關文章: