編按:本文為QuarkChain創始人兼CEO周期博士撰寫的技術文章,并以此文章為基礎,在DAppLearning進行了技術分享講座。
DeFi、GameFi等去中心化應用的蓬勃發展,極大地增加了對低交易費用的高性能區塊鏈的需求。然而,構建高性能區塊鏈的一個關鍵挑戰是存儲爆炸。下圖是取自Etherscan的圖表,它說明了一個以太坊全節點的區塊鏈數據大小。
從圖中我們可以看出,節點的鏈數據規模穩步增長,現在已經達到~9TB。由于去中心化區塊鏈的一個目標是允許普通配置的計算機運行節點,因此在普通配置的計算機上強制要求9TB存儲會難以達到。
區塊
狀態
交易收據
這其中,狀態是這8.7TB的主要組成部分。所以有時,我們將存儲爆炸稱為“狀態爆炸”。但是為什狀態會如此之大?
報告:以太坊交易所儲備在2022年下降超30%:金色財經報道,據鏈上數據顯示,由于以太坊交易所儲備在2022年下降超30%,投資者在2022年期間撤回了大量以太坊。據悉,“交易所儲備(exchange reserve)”是衡量目前存儲在所有中心化交易所錢包中的以太坊總量的指標,指標值的下降意味著投資者目前正在轉移他們的代幣,這表明拋售供應正在減少。長期的交易所提款可能表明持有人目前正??在增持,這意味著他們看好加密貨幣。[2022/12/24 22:05:20]
什么是以太坊狀態?
以太坊狀態是一個MerklePatrica樹,其中
葉子節點是地址(0x...)=>帳戶的映射,其中帳戶存儲與地址關聯的余額、nonce等
內部節點維護樹結構,以便可以快速計算整個樹的哈希根
Pax Treasury在以太坊網絡增發約1196萬枚PAX:金色財經報道,Whale Alert數據顯示,北京時間2月7日00:57,Pax Treasury在以太坊網絡增發11,959,550枚PAX,增發哈希為0xa9e66d5a6d6a6716554cb384f539a015684b2b47f11ec2647f6fee4a8d5c5419。[2021/2/7 19:06:12]
由于存檔節點將保留所有區塊的所有歷史狀態,這意味著MPT中的任何更新都將創建O(log(N))個內部節點,并且不會刪除舊的內部節點。
通過定期存儲MPT,狀態的存儲大小顯著減少。據Etherscan數據,目前Geth全節點的區塊鏈數據大小約為1TB。
在不存儲歷史MPT的情況下,一個Geth節點的存儲大小可以進一步減少到447G。通過減去300GB的區塊數據,我們推斷狀態大小約為150GB。
數據:以太坊穩定幣總發行量突破230億 創歷史新高:DeBank數據顯示,以太坊穩定幣總發行量已突破230億,達到235億美元,創下歷史新高。以太坊穩定幣是用于以太坊區塊鏈網絡中的法幣,通常和法幣價格錨定,由第三方審計,有真實美元作為儲備或由復雜的算法來保障其價格。按照發行量計算,目前排名前三的以太坊穩定幣分別是:1.USDT:約147億美元,發行量占比62.63%;2.USDC:約48億美元,發行量占比20.45%;3.DAI:約13億美元,發行量占比5.86%。[2021/1/15 16:11:42]
幣安智能鏈。截至2021年12月8日,BSC已有:
約984GB鏈上數據,其中區塊約占550GB,狀態約占400GB。
20.6623億筆交易,100TPS
以太坊2.0項目負責人:以太坊2.0存款合約將在兩周內推出:以太坊2.0項目負責人Danny Ryan表示,以太坊2.0存款合約將在兩周內推出。他表示,必須先推出以太坊2.0第一版規范,然后再推出存款合約。有兩個因素導致他們還沒有發布最終的2.0規范。主要原因是Supranational創建的BLS密碼庫。
Danny Ryan表示,Boneh–Lynn–Shacham(BLS)簽名對于創建密鑰,簽名消息至關重要,并且在早期階段也很重要。他稱,目前BLS密碼庫正在進行審計,并取得了一些初步結果,還有大約兩周的時間要進行審計。Danny Ryan說:“盡管已經對存款合同進行了書面,測試和正式驗證,但我們正在努力使BLS的標準化工作在發布之前能夠穩定下來……”
Ryan進一步說,還有其他事情,如客戶強化,束縛失敗,優化資源消耗,正在進行的客戶審計,平滑啟動板,所有這些事情都在并行進行,但最大的阻礙是對全新的BLS密碼庫的審計。(Trust Nodes)[2020/10/23]
如果我們進一步用交易數量來預測數據大小,我們可以得到:
現場丨V神:對以太坊可以有的多個期待:金色財經現場報道,在9月18日的2019第五屆區塊鏈全球峰會上,以太坊創始人Vitalik Buterin介紹了未來對以太坊可以有的期待:更好、更可信的數據來源,讓應用更好更便捷地與真實世界連接;以太坊上的PoS和分片擴容技術;更多智能錢包、智能融資合約等等;現有的交易所可用零知識證明提高自身的安全性;去中心化應用會比中心化的應用更友好。[2019/9/18]
如果TPS為100,即~3,153MTPY
1年后,總TX~5,219M,區塊~1.375TB,狀態~1.085TB
3年后,總TX~11,525M,區塊~3.025TB,狀態~2.387TB
如果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:以太坊區塊鏈TPSMPT國內以太坊交易平臺區塊鏈技術的特點https://etherscan.ioJMPT價格
一只猴子到底值多少錢?如果它是來自BoredApesYachtClub的收藏品,那么它至少價值50ETH,在撰寫本文時相當于200,000美元.
1900/1/1 0:00:00LUFFY/USDT、LUFFY/ETH新版流動性礦池模式)已正式上線,交易市場50%手續費收益將新增投入到流動獎金池中;Taker和Maker手續費即日起調整至0.3%.
1900/1/1 0:00:00親愛的BitMart用戶:根據BitMart“交易對的暫停交易、隱藏及下線規則”,通過對相關交易對的持續跟蹤觀察.
1900/1/1 0:00:00今天圣誕節了,2021即將在欣喜與擔憂中結束,欣喜的是圈層在不斷擴大,擔憂的是日漸提高的操作門檻。在這一年中,有收獲,有感慨,有挫折,有感激.
1900/1/1 0:00:00TheLockNIF&Earn#1(term14days)willlaunchat8:00UTConDec29thatGate.io''s“HODL&Earn”section.
1900/1/1 0:00:00尊敬的歐易OKEx用戶:?為提升市場流動性,優化客戶交易體驗,歐易OKEx將于2021年12月31日14:00-15:00(HKT)調整部分幣幣/杠桿和合約交易幣對的最小價格精度.
1900/1/1 0:00:00