撰文:Gavin Wood
翻譯:Phala Team

前情提要:

7 月 28 日,雪崩協議一名成員收集了雪崩協議社區內部一些對波卡的質疑,發佈在了波卡 Riot 官方羣,箇中不乏對波卡可拓展性、插槽機制、跨鏈性能的貶損。此文爲 Polkadot 聯合創始人 Gavin Wood 對此事的迴應。

Gavin Wood 親筆 : Polkadot 與 Avalanche Protocol


顯然,雪崩協議 [1] 社區似乎對波卡有些誤解 [2]。希望這篇可以讓雪崩協議的各位看個明白。

關於:

「波卡只有 100 條平行鏈」(假設這些平行鏈對應 1000 個節點)

「你們只有 100 條平行鏈」(假設這些平行鏈都有 1000 個節點高速運作在中繼鏈上)

「波卡預計將有 1000 個驗證人,但願您這麼古板的共識能走得通——這麼多的時間不花在共識上而是花在驗證區塊上」

「就算 100 條平行鏈本身不是硬限制,但歸根結底每個平行鏈都需要有人來做驗證人。這可能就是一個硬限制了,涉及到可拓展性。或許波卡平行鏈可以比 100 條多一點,但什麼用呢,100 個應用鏈真的不算多」

波卡的設計期望是,每一個區塊都可以並行的執行 100 條平行鏈 / 平行線程。

拋開縮寫的涵義,GRANDPA[3] 共識並不古板。在有 400 個驗證人的 Kusama 網絡上,GRANDPA 可以實現亞秒級的區塊確認速度。這還只是 400 個驗證人。而經過我們的測算 1000 個驗證人是很容易達到的。

鑑於目前這些核心功能的複雜性在可控範圍之內,隨着網絡的完善和開發語言的優化,門檻降低後這個數字肯定會良性增加。到那時會有遠超 1000 名的驗證人和遠超 100 個插槽的平行鏈加入波卡網絡。

關於:

「各個節點到各個節點間的通信會越來越困難,區塊大小會越來越大,帶寬要求和處理要求也會越來越高,從而導致節點運行者的中心化(就像 Solona 一樣)」

波卡的設計很乾淨,不會有子系統(主要就是 GRANDPA 共識和其他確保可用性的部分)大量佔用通信資源。這些模塊的帶寬要求也不高,要麼很低,要麼即便是增加也是線性增加。可能這確實無法百分之百保證所有平行鏈都平安無事,但我們有理由相信波卡的交易吞吐能力是可以隨着時間的推移而增加的。

認爲雪崩協議和 Polkadot 一樣允許任意數量的鏈「被連接」是一種錯誤的誤導。Polkadot 平行鏈插槽(很像 Eth2.0 分片)調動整個網絡的能力來確保安全。而雪崩協議可能允許更多的鏈被「連接」(就像 Cosmos 一樣),但一般來說,這些連接的鏈遠不如中央鏈安全。

一個有用的跨鏈應用不應在跨鏈運行時顧慮共識層面的安全隱患。這意味着它要麼跑在中央部分極其安全的鏈上(只比我們的現行方案安全一絲),但受制於效率;要麼讓跨鏈應用(inter-chain application)只在安全性最低的鏈上跑(會有被攻擊的可能,所以也只比我們現行的側鏈橋接方案安全一絲)。

雪崩協議並不是第一個將「可拓展」和「有很多鏈」偷換概念的項目。一個真正可拓展的共識系統應該能以同質量的安全性執行狀態轉換,同時它還是去中心化的且拜占庭容錯(BFT)的。如果能像波卡一樣,以近乎本地運算的速度完成圖靈完備的狀態轉換,那您們是真的很棒。

可惜雪崩協議目前做不到這一點。

關於:

中繼鏈的確認時間是 12-60 秒。但肯定不止,因爲 Fisherman 節點還要留有挑戰時間,白皮書上說這也需要 60 秒。

那他們(指波卡團隊)的目標就是 60 秒(這還是很高)。只不過這可能通過 Fisherman 節點來調整(這就是他們的貓膩,因爲他們沒有寫明 Fisherman 節點的區塊確認時間)。所以,儘管概率不大,但已經確定好的區塊有可能在 GRANDPA 中被逆轉(如波卡官網自己放的視頻裏提到的)

平行鏈交易確認大概需要 60 秒,比中繼鏈慢幾秒。但它與橋接網絡不同,跨鏈分片是完全安全且零延遲的。

從最近發佈的設計更新來看,我們已經從驗證人模塊引入了明確的二級確認機制。因爲我們已經從驗證者集中引入了明確任命的二級檢查員,所以不再需要漁民獲得我們的基線安全保證(請參閱概述文件中的 4.4.2 節「有效性和可用性」)。不過 Fisherman 節點將被保留,因爲他們有助於加強整個網絡的安全性。

在實際操作中,如果你的交易很小或風險不是那麼大,你所需的確認時間會遠遠小於理論最大值。比特幣的確認機制分三級,內存池(跟買瓶啤酒感覺差不多的交易)、1 個區塊(跟網購感覺差不多的交易)、6-12 個區塊(剩下的所有類型的交易)。這便是所有的區塊確認等級,他代表了不同的經濟成本。比如說 12 個區塊的確認,就意味着逆轉 12 個區塊的成本,本質上就是在同樣時間內挖出 13 個區塊的能力(即,51% 攻擊)。逆轉一個區塊,就需要能挖 2 個區塊。如果要逆轉內存池裏的交易,則只需要在交易被礦工打包前用另一個交易替換掉它。這一層相對容易。

也可以說 Polkadot 是有次級確認階段的,視情況不同,回滾成本也不同。區塊的終結性一般不是理論上的確認,而是由具體的情況,就某些特定的經濟成本而言確認的。比如你已經有了 5 輛蘭博基尼,現在要買第 6 輛,那你大概需要等 60 秒左右等待交易在中繼鏈上確認。而如果你只是想買一杯咖啡,那顯然交易只要在平行鏈的內存池或 PoV 區塊裏進行確認就足夠了,這隻要幾秒的時間。

值得一提的是,大家都明白比特幣的這樣的 PoW 鏈只存在「概率性確認」,但 PoS 鏈,即便是聲稱「瞬時確認」的鏈,也不能完全保證百分之百不會出問題。而且其實所有代幣經濟共識系統(不管是區塊鏈,DAG[4] 還是其他),最終極的保護來源於其經濟本身。它們的安全保障其實來源於經濟上的考量,因爲一個攻擊者一般都是一個經濟上理性的個體,或者他根本承擔不起攻擊的成本。如果上述保障都不成立,那您的共識算法寫得再天花亂墜也沒有意義。

關於:

「插槽名額有限所以 100 條平行鏈要內卷」

波卡會提供兩種市場經濟式的機制,讓買家的平行鏈體驗安全無虞:

  1. 一次性買斷 6-24 個月的插槽租賃權。
  2. 借用平行線程,每次僅在區塊鏈邏輯迭代的時候支付一點點費用。

所有系統都需要一定程度上的反羊毛和反垃圾信息機制,所以我們採取了收費的方式。由市場決定收費標準和市場化執行機制在加密經濟生態中也是很典型且常見的。

根據我們的初步估計,初始版波卡每秒可以處理的交易量可以達到以太坊的 4000 倍。由於供應量提高了 4000 倍,在傳統經濟學意義上,交易價格也會相應降低。

關於:

「中繼鏈無法驗證區塊時,就相當於可被審查」

「這就可能會導致審覈」

不知道你怎麼得出的這種結論。它是錯的。

關於:

「可能最終要交鉅額服務費」

平行鏈插槽不收服務費,只是會有根據市場需求進行公平拍賣的機會成本和保證金。

關於:

「必須每隔幾年就參加一次拍賣,不然(你的槽位會被佔)導致整個解決方案不能繼續用」

「必須被迫支付鉅額費用以繼續在波卡上運行你的項目。要麼就要在內卷中勝出,還要時刻做好萬一情況下遷移到新鏈的準備……」

平行鏈一次性只可以買斷 24 個月。如果要續約,需提前 18 個月進行續租。所以,一條平行鏈有 18 個月的提醒期。如果在這 18 個月中,你沒有一次贏得拍賣並最終沒有拿下槽位,你的保證金會被釋還給你。你可以再次用這些錢參與下一次競標。

而且,即使沒有拿到槽位,也完全沒有遷移的必要。雖然目前我們無法預測插槽市場的情況,但我們會盡力保證平行線程能作爲一種完美的候補。

假設我們有 70 個平行鏈插槽,則:

  • 這其中任何一個插槽的租賃成本都不會超過第 70 個插槽的競標價格
  • 任何一個平行鏈的租賃成本也不會超過波卡維護成本的 1/70,且
  • 波卡的共享安全性是非常高效的,根據驗證人數量的不同,維護成本相比其他非跨鏈更低。

後兩點意味着,吞吐量相同的情況下,使用波卡會比使用其他非跨鏈更便宜。

於此,可以預見,平行鏈成本僅僅會是爲波卡安全性和互操作性付費的一小部分。

關於:

「跨鏈到別的生態的時候,比如 ETH、BTC,每一次都需要用到平行鏈(槽位將更難搶)」

「與 BTC 和 ETH 進行跨鏈的時候因爲有個平行鏈在中間所以區塊確認時間會大大增加」

一個橋不太可能佔用整個平行鏈的資源。特別是像比特幣這種 TPS 不高的鏈的橋,工作負載不會很大,可能只會佔用一個平行線程,或僅僅作爲某一平行鏈上的衆多橋之一。

關於:

「ETH 2.0 的確認時間都要 6 分鐘,波卡說只要 12-60 秒(實際上可能更長……因爲 Fisherman 節點還要確認一遍,而且可能會導致已經確認的區塊回滾……」

「即使你聲稱有超過 VISA 的 TPS,但如果確認時間爲 60 分鐘也沒什麼實用價值。」

不是。小交易只要幾秒就可以確認完。如果是爲了百分之百安全,那您可能要等待 60 秒(儘管這種情況在正常操作中並不常見)。

關於:

「在雪崩協議上你對自己的區塊有完整的主權,可以發鏈,不會被勒索收費以驗證你的區塊。」

「雪崩協議的確認時間不到 3 秒。而且由於每個人都可以用子網進行驗證,這是一個絕對安全的絕佳跨鏈操作環境。」

雪崩協議所謂的「子網安全性」和波卡的共享安全性完全不是一回事。何談性能上的比較。

實際上,雪崩協議類似一箇中心化的 Cosmos,由選出來的重疊的驗證人組充當了子網安全性。

這將導致整個系統內各個鏈間的安全性有極大的不均。跨分片攻擊是可行的,因爲來自一個(低安全性)鏈的消息可以導致另一個(更安全的)子網上的狀態遷移。這樣一來整個網絡的安全性就等同於安全性最差的那個鏈。

跟 Cosmos 的問題一樣,任何試圖設計一箇中央區域以執行敏感邏輯的解決方案都會遇到可拓展性瓶頸,且會讓一部分鏈劣化爲狀態轉換無法信任的「二等公民」。不管程序在哪個鏈上執行,都有同等級的安全性保障,這纔是一個可拓展的系統。

綜上,雪崩協議並不安全,也不具備可拓展性。

來源鏈接:hackmd.io