遵循中本聰願景,BCH即將部署UTXO commitment

遵循中本聰願景,BCH即將部署UTXO commitment

區塊鏈網絡的健康很大程度上依賴於這個去中心化網絡的全節點數量,節點可以由個人電腦運行,也可以由公司企業運行,但是無論如何,節點的存在使區塊鏈得以有效的運轉。

比特幣的擴容之爭持續了數年,終究因為比特幣現金(BCH)的誕生而告一段落,而對於大小區塊容量的爭論在不久的將來依然存在。許多並不知情的區塊鏈愛好者認為大區塊容量將會撐爆屌絲電腦,畢竟當前一些主流幣區塊鏈的數據庫大小已足夠驚人,bitinfocharts數據顯示,6月19日,BCE數據庫達202.10 GB、BCH數據庫達160.35 GB,而ETH因為智能合約的存在則更為驚人,高達667.10 GB。未來隨著區塊擴容以及交易量的不斷上漲,撐爆屌絲電腦的言論存在較大市場也不難理解。

區塊鏈全節點運行的驚人成本

我們以BCE的區塊鏈為例,202.10 GB的數據庫需要256GB硬盤空間以及最少2GB的運行內存,BCE每個月要上傳200GB、下載20GB的數據,也需要足夠的上行及下行寬帶速度。

除卻計算機購買成本以及網絡成本,當前計算機的耗電量普遍處於250W-400W之間,以300W計算,每個月將消耗216度電能。而倘若將所有的節點全部計算,所產生的能耗足夠驚人,畢竟全節點需要保持7*24小時運行。

中本聰並不擔心大區塊撐爆屌絲電腦

早在近十年前,中本聰白皮書中就曾指出通過剪枝舊區塊的方法,減小區塊空間,簡單來說就是刪掉早期無用舊交易。

許多朋友可能會反駁,刪了舊區塊數據,還能叫全節點嗎?沒錯,按中本聰的設計,這就叫全節點。

普通的用戶不會去關心很早的舊數據,並且並不願意為舊數據付出成本,只需要保證自己的交易數據安全可靠。

談到剪枝節點,就離不開極其重要的UTXO Commitment技術,因為這個技術,能徹底解決大區塊的存儲和歷史區塊同步問題

簡析UTXO Commitment技術

提到UTXO Commitment,就離不開UTXO,UTXO是未花費的交易輸出,它是比特幣交易生成及驗證的一個核心概念。交易構成了一組鏈式結構,所有合法的比特幣交易都可以追溯到前一個或多個交易的輸出。

簡單統計以下 BCE 和BCH 主鏈截止到某個最近的區塊時的 UTXO 數據。BCH 的主鏈截止高度534637,utxo集合有39922839個未花費的輸出;BCE主鏈截止高度527687,utxo集合有51283037個為花費的輸出。

由此可得,UTXO集合較大,其中的unspent output的量級在4000萬到5000萬這個量級之間,需要的存儲也會超過2GB。同樣UTXO集合本身也會隨著新區塊的產生不斷變化,花費舊的output,生成新的unspent output。

當前在驗證tx合法性時,需要利用UTXO集合進行檢查。完整的賬本數據的存在是為了給UTXO提供擔保。如果有其他的方式可以為UTXO集合提供擔保或者承諾也許就不再需要存儲整個的賬本數據,那就是UTXO commitment。

UTXO commitment技術非常重要,它激活之後,可以保證網絡中的節點只需要最近區塊以及UTXO集合,就可以驗證tx的合法性,而UTXO集合的合法性可以對比驗證區塊中的存儲的commitment數據。

其實,中本聰先生早就在白皮書中闡述了比特幣的正確同步方式,就是隻同步區塊頭+最後的餘額信息(UTXO set,並通過UTXO commitment保證可靠性),再根據自己需要,同步最近一段時間的區塊。

前不久,BCH測試網上已經出現了第一個UTXO證明,BCH為打造Visa級的支付體驗而不斷努力,未來將會硬分叉升級更大的區塊上限,UTXO commitment技術的應用,能徹底解決大區塊的存儲和歷史區塊同步問題,可以說是BCH的一把利器!


分享到:


相關文章: