Minisketch:降低節點頻寬要求

Published: Sep 24, 2019 by Cypherpunks Core

Pieter Wuille January 07, 2019 轉載 blockstream

最近Blockstream團隊成員Pieter Wuille和Gleb Naumenko以及前同事Greg Maxwell共同揭曉了Minisketch,這個軟體庫將能夠減少在分佈式系統中同步數據時所需的頻寬。

Minisketch原本是一個項目中的組成部分,這個項目旨在研究如何利用配置對賬(set reconciliation)來在比特幣節點之間傳遞交易信息,即“配置對賬中繼”(Set Reconciliation Relay,簡稱SRR )。SRR的目標就是要大幅度降低運行比特幣全節點的頻寬要求。

開發團隊決定將Minisketch從SRR項目中拿出來單獨發布,是因為這項技術在比特幣以及其他行業都有十分廣闊的應用前景。

為什麼選擇Minisketch?

所有分佈式系統一直都面臨著在不同節點之間同步數據的困難,如果是一個中心化的系統的話,只需要中心下令哪些數據應該保存、哪些數據應該刪除即可。

例如,在去中心化網絡上進行數據同步的一個方法是Invertible Bloom Lookup Tables (IBLT)。IBLT對CPU的要求比較低,但這是以較高的頻寬要求為代價換取的,特別是當差異數量很小時。Minisketch使用的則是更加節省頻寬要求的算法PinSketch。

和其他寬帶利用效率較高的配置對賬算法,如CPISync和Pinsketch最初的配置相比,Minisketch將佔用更少計算資源,比PinSketch快20到100倍,有時候比CPISync快上1000倍。

工作原理

由Minisketch實現的配置對賬可以更加高效地利用頻寬,不是簡單地將所有的數據列都發送過去,而是讓節點自己產生數據列的“素描(sketch)”。節點接著把這個“素描”發給其他節點進行對比。這個“素描”的大小只與節點之間差異數量期望有關,而與整個數據組的大小無關。儘管如此,節點仍然能夠確定他們從其他節點需要哪些數據。

“假設只有一個差別,這樣就很好理解了:我有一個數列{3,5,7,11},你有一個數列{3,5,7,9,11},我和你的差別就是{ 9}。我們都對這個數列裡的數字進行求和,那麼我會得到3+5+7+11=26,而你會得到3+5+7+9+11=35。我把我的求和結果26發給你,你用你的求和結果35相減之差為9。這個原理只有在差別數量為1時才能求出差別。Minisketch推廣了這個原理,發送數據的不同種類的“求和”,有N個不同的求和結果,也就能夠找到N中差別… 只要不同數據組差別的數量不大於發送的求和結果數量,Minisketch就一定能成功地找到所有的差別。” –Pieter Wuille, Blockstream聯合創始人

Minisketch在比特幣中的應用

比特幣網絡的穩定性取決於全節點間是否有足夠的連接來阻止Sybil分區攻擊。

不幸的是,一個比特幣節點大部分數據用量(一般在40%至70%)甚至根本不是用來儲存交易數據,而是用來宣布新交易的產生以及找到下一個中繼節點。目前的情況下,提高節點間的連接數量也會在一定程度上提高對頻寬的要求,這就限制了每個節點所能支持的連接數量。

配置對賬讓我們能夠高效地找出哪些交易尚未被中繼,而不需要每筆交易都要向其他所有節點宣布。尋找尚未被中繼的交易所佔用的頻寬就不再受連接數量的影響,可能會提高每個節點所能支持的連接數量。

這個解決方案的美妙之處就在於完全不需要對比特幣網絡共識規則做任何改動。當雙方的密碼學軟體都支持SRR協議的時候,SRR就會啟動,而且不會對不想參與的節點運營者產生任何影響。

SRR協議目前仍在研究初期階段,要真正應用到比特幣網絡上還有很長的路要走,但像Minisketch這樣的成果代表了比特幣全節點普及應用(以及其他分佈式網絡的優化)中的一個非常重要的里程碑。該項目的更多進展,敬請拭目以待!

cypherpunks

Latest Posts

Cypherpunks Taiwan 重啟:我們為何再次聚集?
Cypherpunks Taiwan 重啟:我們為何再次聚集?

從 2019 到現在,世界與網路都變了很多,但我們對隱私的渴望沒有改變。在數位身份、鏈上足跡與 AI 大模型全面滲透的時代,Cypherpunks 的核心信念——Privacy is necessary for an open society in the electronic age,從未如此重要。這些年來,我們見證了比特幣的主流化、Web3 的爆炸成長,也見證了過度中心化平台對個人自由與資訊掌控權的反撲。是時候重新聚集了。

MuSig:一個新的多重簽名標準
MuSig:一個新的多重簽名標準

2019年2月15日,Andrew Poelstra 轉載blockstream。比特幣及Blockstream的Liquid等相關區塊鏈使用ECDSA簽名演算法來驗證儲存在系統裡的幣的所有權歸屬。業界於2008年決定使用這個演算法是基於當時廣泛使用且未申請專利的數位簽名系統。但ECDSA存在一些嚴重的技術侷限,尤其是多重簽名閾值簽名這兩種需要多個獨立方而非單一方的簽名非常難以通過ECDSA來實現。ECDSA簽名擁有十分複雜的代數結構,導致它們非常不靈活、難以操作,迫使比特幣開發者不得不用比特幣指令碼來開發跨鏈原子交換閃電網路這類應用。如果使用更加現代的簽名方案的話,可以讓這些應用更加小巧且隱私性更好。

Cosmos 區塊鏈的工作原理,Part-1:比較Cosmos 與比特幣、以太坊
Cosmos 區塊鏈的工作原理,Part-1:比較Cosmos 與比特幣、以太坊

編者注:本文對 Cosmos 網路中區塊鏈和比特幣、以太坊進行了鉅細靡遺的比較。作者先從區塊鏈系統的棧層出發,分析了比特幣、以太坊在不同棧層上的技術要點,最後迴歸到 Cosmos 網路中的區塊鏈,概念解釋尤為清晰,是不可多得的解釋文。