RSA累加器,區塊鏈瘦身神器?
我們知道,默克爾樹結構(Merkle tree)對於區塊鏈專案而言是非常重要的,無論是比特幣區塊鏈還是以太坊區塊鏈,都會用到這類資料結構,但這也會帶來一個問題: 即帶來大量的資料 。截至發稿時, ofollow,noindex" target="_blank">比特幣區塊鏈的資料量已經達到了187G ,而以太坊區塊鏈的整體資料量 在今年5月份時就已經超過了1TB 。這樣恐怖的資料量,已經不是一般人能承受得起的了,我們迫切需要另一種資料結構。
而 RSA累加器(RSA accumulators) ,可能就是這樣的一劑良藥,這是一種功能類似於默克爾樹(Merkle tree)的資料結構,而這類方案的例子,最初是由 Benjamin Wesolowski提出的 ,後來,在10月5日的Scaling Bitcoin會議上,斯坦福大學的Benedikt Bünz也介紹了通過這種資料結構替代比特幣默克爾樹的想法,有興趣的讀者可以看一下視訊講解 :
根據Benedikt的想法,通過這種資料結構,我們可以把比特幣區塊鏈的資料壓縮到 1.5KB ...作為吃瓜觀眾的我們,可能會非常興奮了。
但真的能有那麼神奇嗎,我們不妨參照一下以太坊創始人Vitalik Buterin在這方面的研究,這些天,他正好也在研究將這種資料結構應用到以太坊的Plasma方案(畢竟以太坊主鏈的可操作性是比較小的)。
通過他的計算, 原本每年2.5 GB 的Plasma子鏈資料,可通過這種資料結構被壓縮到每年3.6 MB,壓縮率達到了驚人的99.856% ,可見其效果是值得肯定的,在以後的區塊鏈解決方案,我們不妨考慮使用這樣的資料結構。
以下為Vitalik的論證譯文,由於存在大量公式,便以圖片的形式展現:
Vitalik還有進一步的研究,有興趣的讀者可以訪問這個連結:https://ethresear.ch/t/log-coins-sized-proofs-of-inclusion-and-exclusion-for-rsa-accumulators/3839