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

以太坊:以太坊存儲爆炸問題的分析與優化

Author:

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

編按:本文為QuarkChain創始人兼CEO周期博士撰寫的技術文章,并以此文章為基礎,在DAppLearning進行了技術分享講座。

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

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

區塊

狀態

交易收據

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

Galaxy Digital CEO:比特幣和以太坊社區應該休戰:金色財經報道,GalaxyDigital創始人兼首席執行官Michael Novogratz在社交媒體呼吁比特幣和以太坊社區休戰,以避免加密社區出現兩極分化心態,強調比特幣和以太坊都擁有強大的社區,他們相信各自數字資產的未來并準備在其中投入大量財富。兩個派系之間的不和源于每種加密貨幣的不同價值主張和應用,比特幣通常被視為價值存儲和數字黃金,與以太坊競爭,后者渴望成為各種應用程序和智能合約的去中心化平臺,但“比較披薩和漢堡哪個好吃”沒有意義。[2023/3/27 13:28:15]

什么是以太坊狀態?

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

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

以太坊基金會啟動賬戶抽象相關項目資助活動,截止日期為3月31日:2月28日消息,以太坊基金會宣布在2023年2月27日至3月31日啟動新一輪資助,以鼓勵圍繞賬戶抽象和支持它的必要基礎設施進行開發、研究和教育,包括webauthn交易驗證、賬戶抽象區塊瀏覽器、捆綁器、p2p消息傳遞、定序器RPC等。

據悉,本輪贈款的目的是促進和啟動多個與賬戶抽象相關的新項目。單個提案的預算上限為50,000美元,項目可以申請標準贈款計劃以獲得額外資金。[2023/2/28 12:33:27]

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

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

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

以太坊未確認交易為139,667筆:金色財經消息,據OKLink數據顯示,以太坊未確認交易139,667筆,當前全網算力為342.70TH/s,全網難度為4.56P,當前持幣地址為54,208,495個,同比增加184,217個,24h鏈上交易量為4,312,488.79ETH,當前平均出塊時間為13s。[2021/2/6 19:01:53]

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

幣安智能鏈。截至2021年12月8日,BSC已有:

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

20.6623億筆交易,100TPS

以太坊2.0質押流動性解決方案Lido啟動首日質押資產逾100萬美元:12月19日晚間,以太坊2.0質押流動性解決方案Lido宣布,該協議中質押的ETH資產價值突破100萬美元。此外,12月20日,官方稱Sigma Prime和Quantstamp已經完成Lido協議合約的審計。

據此前報道,12月19日,Lido宣布正式啟動,用戶可在Lido上進行質押ETH操作。[2020/12/20 15:51:32]

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

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

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

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

Nervos CKB推出兼容以太坊EVM的工具Polyjuice:近日,Nervos CKB推出兼容以太坊EVM的工具Polyjuice。Polyjuice是在Nervos Network之上的通用計算層,可以讓開發者在Nervos Network和其他鏈之間自由遷移,目前在做的是對以太坊的支持。

通過Polyjuice,以太坊的開發者可以無須改變任何代碼,就能夠把以太坊的應用遷移到CKB之上,實現更廣泛的應用場景,也可以在Nervos CKB這一條設計初衷完全不同的區塊鏈上,實現Account Model。目前Polyjuice的大致功能已經基本完備,同時也已經展示了在Polyjuice上直接運行以太坊域名服務ENS的Demo代碼。[2020/11/10 12:11:57]

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

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的鏈,而不是高度優化的以太坊客戶端。

~10B*50100GB=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:以太坊區塊鏈TPSETH以太坊幣最新價格走勢圖區塊鏈的幾個大騙局tps幣行情ethylenepropylene

比特幣
HTT:【獎勵發放】ARV新幣活動結束及獎勵發放的公告

ARV新幣活動結束及獎勵發放的公告作者AAXManager本周已更新尊敬的AAX用戶:AAX于2021年12月13日17:00-2021年12月19日17:00(東八區時間)舉辦的“Ariva(.

1900/1/1 0:00:00
KEX:BKEX Global 關于上線 NANO 的公告

尊敬的用戶:?????? ??? BKEXGlobal即將上線NANO,并上線NANO/USDT聚合交易對.

1900/1/1 0:00:00
CoinW將于12/15 17:00全球首發DappRadar,邀新、充值、交易領5000 USDT!

親愛的CoinW用戶: 幣贏CoinW將于2021年12/1517:00在NFT區上線DappRadar,開通RADAR/USDT交易對.

1900/1/1 0:00:00
Gate.io Copy Trading: The Number of Copies For A Single Strategy Is As HIGH As 8,675

Gate.ioquantitativetradingcenterhasbeenrenamed"copytrading"andisfullylaunched.

1900/1/1 0:00:00
MIN:對波卡至關重要的Statemint如期上線,這會對生態帶來什么影響?

Polkadot生態研究院出品,必屬精品 背景 12月17日,波卡通過并執行了第46號公投,正式將Shell升級為資產鏈Statemint,嚴格意義上來說這才是波卡上的第一條平行鏈,同時.

1900/1/1 0:00:00
比特幣:2021全球監管動態盤點:中國、美國與薩爾瓦多

吳說作者|ColinWu本期編輯|ColinWu2021年全球監管領域最重要的事情仍然來自于中美兩國.

1900/1/1 0:00:00
ads