比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > DYDX > Info

區塊鏈:區塊鏈存儲爆炸:問題、分析與優化

Author:

Time:1900/1/1 0:00:00

背景

DeFi、GameFi等去中心化應用的蓬勃發展,極大地增加了對低交易費用的高性能區塊鏈的需求。然而,構建高性能區塊鏈的一個關鍵挑戰是存儲爆炸。下圖是取自Etherscan的圖表,它說明了一個以太坊全節點的區塊鏈數據大小。

從圖中我們可以看出,節點的鏈數據規模穩步增長,現在已經達到~9TB。由于去中心化區塊鏈的一個目標是允許普通配置的計算機運行節點,因此在普通配置的計算機上強制要求9TB+存儲會難以達到。

分解存儲開銷

如果我們進一步分析存儲使用情況,我們可以發現區塊數據只占了約300GB的數據,這一數字遠小于9TB。那么剩下的8.7TB數據從何而來呢?

實際上,存檔節點執行所有塊并保留所有歷史數據,包括:

區塊

狀態

交易收據

這其中,狀態是這8.7TB的主要組成部分。所以有時,我們將存儲爆炸稱為“狀態爆炸”。但是為什狀態會如此之大?

什么是以太坊狀態?

以太坊狀態是一個MerklePatrica樹,其中

區塊鏈開發平臺QuickNode上線微軟應用商店Azure Marketplace:7月20日消息,區塊鏈開發平臺QuickNode宣布上線微軟線上應用商店Microsoft Azure Marketplace并推出其區塊鏈可訪問性基礎設施。QuickNode客戶現在可以使用Azure云平臺部署適合業務目標的企業RPC節點并追蹤節點性能、查詢由Azure云平臺支持的區塊鏈數據、訪問Web3開發工具包(包括應用程序接口API、一鍵式Web3應用商店、開發資源等)。[2023/7/20 11:07:39]

葉子節點是地址(0x...)=>帳戶的映射,其中帳戶存儲與地址關聯的余額、nonce等

內部節點維護樹結構,以便可以快速計算整個樹的哈希根

由于存檔節點將保留所有區塊的所有歷史狀態,這意味著MPT中的任何更新都將創建O(log(N))個內部節點,并且不會刪除舊的內部節點。

住建部等十三部委:在建造全過程加大區塊鏈等技術集成與創新應用:7月28日消息,住建部等十三部委印發關于推動智能建造與建筑工業化協同發展的指導意見。要求加快推動新一代信息技術與建筑工業化技術協同發展,在建造全過程加大建筑信息模型(BIM)、互聯網、物聯網、大數據、云計算、移動通信、人工智能、區塊鏈等新技術的集成與創新應用。(證券時報)[2020/7/28]

Geth的全節點

為了解決存檔節點狀態爆炸的問題,Geth的天才工程師們創建了一種稱為“修剪”模式的新模式,該模式僅定期存儲MPT。這里我們舉一個簡化的例子,其中節點只保存每3個區塊的MPT。。

通過定期存儲MPT,狀態的存儲大小顯著減少。據Etherscan數據,目前Geth全節點的區塊鏈數據大小約為1TB。

Geth的可快速同步的全節點

通過從創世區塊開始重放所有交易來運行節點的一個問題是,重放所有交易會占用很長時間。一般來說,建立這樣一個節點需要數周時間才能從創世區塊趕上網絡的最新狀態。為了加速節點的啟動過程,Geth進一步提供了一種快速同步模式,可以下載最新的穩定區塊的MPT,而無需重放和維護區塊之前的歷史MPT。下載完MPT后,它會像全節點一樣重放新區塊。

動態 | 印度特倫甘納邦設立區塊鏈孵化器:2月16日消息,印度特倫甘納邦(Telangana)正在建立一個區塊鏈孵化器,為區塊鏈初創企業提供支持。據悉,該項目為T塊加速器,是由特倫甘納邦政府與海得拉巴信息技術學院(IIIT)以及印度商學院(ISB)合作創建的。(Coingeek )[2020/2/16]

在不存儲歷史MPT的情況下,一個Geth節點的存儲大小可以進一步減少到447G。通過減去300GB的區塊數據,我們推斷狀態大小約為150GB。

問題

以目前以太坊447GB的存儲大小和15TPS,我們預計具有1TBSSD的普通配置計算機應該能夠運行以太坊節點相當長的一段時間。那么存儲爆炸或狀態爆炸真的存在嗎?或許未來幾年以太坊并不會,但假如我們可以將以太坊的虛擬機(EVM)擴展到數百或數千TPS呢?

讓我們將目光轉向另一個基于EVM的鏈,幣安智能鏈。截至2021年12月8日,BSC已有:

約984GB鏈上數據,其中區塊約占550GB,狀態約占400GB。

20.6623億筆交易,100TPS

聲音 | 懷俄明州區塊鏈聯盟聯合創始人:紐約總檢察長辦公室對Bitfinex的處理存在雙重標準:據ambcrypto報道,區塊鏈布道者、美國懷俄明州區塊鏈聯盟聯合創始人Caitlin Long就“Bitfinex被指控使用Tether資金秘密彌補8.5億美元損失”一事發表評論稱,她被“驚呆了”,但對此消息“并不感到驚訝”。Long表示,雖然加密交易所必須理清自己的所作所為,并證明償付能力,但紐約總檢察長辦公室(NY AG)對此事的處理存在“雙重標準”。她指出,美林證券(Merrill Lynch)曾在2009年至2012年發生過類似的事情,但NY AG并未對其采取相同行動。Long還表示,交易所應“自愿披露”有關其償付能力、準備金和審計財務報表的信息。如果這些不是按照他們的條款進行的,那么監管機構、投資者或訴訟者將“以對其不利的條款強制執行”。[2019/4/27]

如果我們進一步用交易數量來預測數據大小,我們可以得到:

如果TPS為100,即~3,153MTPY

1年后,總TX~5,219M,區塊~1.375TB,狀態~1.085TB

3年后,總TX~11,525M,區塊~3.025TB,狀態~2.387TB

如果TPS為150,即~4,730MTPY

NULS聯合創始人冉小波:區塊鏈最主要的東西就是共識:NULS聯合創始人冉小波在接受媒體采訪時提到,區塊鏈的市場非常巨大,它面向的用戶是全球性的,是開放性的。區塊鏈的魅力點有三:其一,門檻低,所有人都能加入進來并大范圍內實現“價值的傳遞”。其二,建立在Token的激勵分配機制之上,在這種經濟模型下,可以真正去實現共享經濟的生態。沒有Token的共享經濟不是真正的共享經濟,因為從未將利益和消費者的利益結合起來。其三,通過共識機制實現了一種高度防篡改的技術體系,從而以極低的成本來構建信任體系。區塊鏈最主要的東西就是共識,真正使用區塊鏈去解決一個行業的痛點需要得到非常多人的共識和支持。一旦建立起一個社區機制、社區生態,不管在怎樣的競爭條件下,區塊鏈都能夠在小范圍形態下得到生存。[2018/5/16]

1年后,總TX~6,796M,區塊~1.809TB,狀態~1.427TB

3年后,總TX~16,256M,區塊~4.327TB,狀態~3.414TB

綜上所述,對于BSC來說,如果保持目前的速度甚至更高,則很快就會達到以太坊存檔節點相同的存儲大小,這是普通計算機幾乎無法運行的。

具有極高TPS區塊鏈的存儲爆炸問題

如果我們對一個極高TPS的區塊鏈做一個更大膽的假設,這個數字會變成多少?我們來考慮一個具有1000TPS的區塊鏈并分析其區塊和狀態大小,將是:

假設tx大小約為100字節,每年區塊所需的存儲量為1000(TPS)*100*365*24*3600=2.86TB

假設MPT有100億賬戶,我們預計狀態大小將為150G/0.18B*10B=8.3TB

將這些數字放在一起,我們很容易得出一個結論,這是大多數普通配置計算機將無法承受的要求!

優化

為了優化存儲成本,我們必須將限制放寬為兼容EVM而不是兼容以太坊。即,我們必須構建/運行另一個支持EVM的鏈,而不是高度優化的以太坊客戶端。

狀態存儲優化

我們提出的第一個優化是使用普通的KV而不是MPT。當MPT很大時,MPT中的所有內部節點可能非常昂貴。而我們的優化將去掉MPT中的所有內部節點。假設每個賬戶的數據大約是50字節,我們可以節省下100億賬戶的數據為:

~10B*50+100GB=600GB,大約是MPT版本的1/10!

雖然使用普通KV會帶來巨大的好處,但一個主要問題是我們無法在如此短的區塊間隔內計算每個區塊的狀態后哈希,這意味著我們將失去以太坊的以下好處:

快速同步:下載任何區塊的狀態并通過重放剩余的區塊來快速同步網絡

分叉檢測:來自對等方新創建的區塊是否會導致與本地執行區塊的狀態不同。

為了啟用快速同步,我們有一個周期性的快照區塊。一個快照區塊包含前狀態哈希這一附加信息,即前一個快照區塊的后狀態哈希:

非快照區塊不維護狀態哈希,而是具有增量哈希,其中包含該區塊的所有交易事務的原始數據庫操作的哈希。這使得分叉檢測成為可能!

我們使用交易前狀態哈希來代替以太坊中區塊的交易后狀態哈希。原因是節點不能立即計算狀交易后的狀態哈希,但是通過使用交易前狀態哈希,節點可以使用整個epoch間隔來計算哈希。例如,假設狀態哈希計算每秒處理10M的狀態數據,那么計算600GB的整個狀態將需要600GB/10M~16.67小時

計算狀態前哈希的流程如下:

1.當一個快照區塊被接收并最終確定時,它的KV狀態被快照,并創建一個后臺線程來迭代所有KV條目并計算哈希。

2.當下一個快照區塊被創建時,計算出的狀態前哈希值將存儲在該區塊中。同樣,節點將創建KV的另一個快照并在后臺計算其哈希。

3.當下一個快照區塊被創建時,節點除了存儲狀態前哈希之外,節點現在可以釋放快照區塊的KV快照,這意味著來自快照區塊以來所有被刪除/更新的數據將被自動垃圾回收

其結果意味著,要存儲狀態,節點只需要最多兩個KV快照。

區塊存儲優化

使用快照區塊,我們可以通過僅存儲以下數據來進一步減少節點中所需的區塊數據:

最新的快照區塊的交易執行前狀態快照,即快照區塊的交易執行后狀態

快照區塊之后的完整區塊?

我們可以對存儲成本進行簡單的數學計算:假設epoch持續時間為2周,則區塊重放大小為

2*14*24*3600*100*1000=224GB!

而且,這里的數字不會隨著時間的推移而增長!

總結

我們分析了以太坊當前的存儲使用情況:

不僅是區塊,狀態存儲消耗了很多的空間

當TPS>1000時,存儲空間用量高得令人望而卻步

我們提出對區塊和狀態進行優化:

區塊大小從每年2.86TB減少到224GB

狀態大小從8.3TB減少到600GB

一臺2TB的普通配置計算機應該能滿足長時間運行節點的條件

缺點:輕節點無法驗證狀態中的一個數據

致謝

感謝dapp-learning主辦此次活動。教學全程視頻可點擊公眾號第二條推送觀看。

Tags:區塊鏈MPT以太坊TPS區塊鏈域名的用途JMPT幣以太坊價格今日行情走勢分析https://etherscan.io

DYDX
DUN:分享一下對 Nansen Dune 以及數據市場的片面想法

下面是一個推特的Thread,分享一下。1.今天都在說Nansen和Dune的融資和估值,也跟朋友大概聊了一下,因為我們也有類似的業務.

1900/1/1 0:00:00
元宇宙:五大咨詢公司如何看待元宇宙?

近期元宇宙等相關概念非常火熱。許多大公司都紛紛布局相關產業,無論是基建,顯示設備,軟件等。此前01區塊鏈整理了投行對于元宇宙的看法以及意見。整體上看好元宇宙的未來發展.

1900/1/1 0:00:00
加密貨幣:美國政府如何處理其龐大的加密金庫?

摘要 美國政府定期舉行拍賣會,拍賣其扣押的比特幣、以太坊、萊特幣和其他加密貨幣庫存。隨著2013年“絲綢之路”被取締,拍賣活動拉開了序幕。“絲綢之路”是一個從事非法商品交易的暗網市場.

1900/1/1 0:00:00
元宇宙:擁有3萬名虛擬主播的B站 能乘上元宇宙的東風嗎?

或許,B站需要元宇宙,但這并非朝夕之功。互聯網大廠在元宇宙攻城略地,并不新鮮,而B站董事長陳睿在這上面加了個“最”字,點燃了人們的好奇心和輿論沸點.

1900/1/1 0:00:00
加密貨幣:加密貨幣、去中心化金融和交易的演變:一種交易成本方法

作者基于交易成本視角,提供了一個理論上統一的交易演變的過程,且當下進化前沿是加密貨幣和去中心化金融。作者表明,隨著貨幣的每一個新發展,新的交換形式或媒介必須降低相對于相關替代品的交易成本.

1900/1/1 0:00:00
BIS:嵌入式監管:如何將監管融入區塊鏈金融

分布式賬本技術在金融領域的推廣有助于提高金融監管的效率和質量。本文提出了嵌入式監管的理由,即通過閱讀市場賬本來自動監控代幣化市場合規的監管框架,從而減少公司主動收集、核實和傳遞數據的需要.

1900/1/1 0:00:00
ads