目前以太坊 2.0 還在完善與測試階段, POS 機制又分成許多種版本與解決辦法,本篇文章僅能大致討論共同的特性、挑戰與潛在解決方案,並不能完全代表所有的 POS 機制,因為現在許多採行 POS 機制的區塊鏈仍是高度中心化,僅由少數幾個節點進行治理,所以在操作上面臨的問題都不大;然而以太坊需要同時連接數千個節點並確保其安全性,背後的技術難題與挑戰完全是不同等級。
弱主觀性(Weak Subjectivity):POS 需要可信任的第三方來源
區塊鏈在分散式資料庫的同步過程中可能會產生好幾個版本,對於離線很長一段時間或是剛上線的節點來說,他們一開始必須找到正確的版本號才能開始挖礦。
傳統 POW 共識機制下,當節點連上區塊鏈網路時,它只需要找到最長鏈即為正確的區塊鏈版本,例如比特幣設定所有節點都要選擇最長鏈的版本進行同步,並拋棄其他版本,由於 POW 機制讓最長鏈成為算力最集中的地方,因此正確性可以逼近 100% ,不需要仰賴其他節點告知,這個稱為客觀性(Objectivity)。
主觀性(Subjectivity)則是指節點必須靠單一來源來確定正確版本號,如果資料庫達成共識需要和其他資料庫群進行溝通互動,例如 POS 達成共識需要「投票」,由於缺乏算力保護,在這個情況下,剛上線的節點不能尋找最長鏈(有可能是假鏈),而是仰賴其他節點群傳輸正確的區塊鏈版本,由於信任來源並非單一節點,所以稱為弱主觀性(Weak Subjectivity)。
弱主觀性的問題不大,只要節點一直保持在線或是節點離線時間不要太長都能立即找到正確的版本號,另外新進節點所使用的挖礦軟體只要允許手動選擇區塊鏈版本號即可解決,正確的版本號可以從基金會、朋友或是社群取得。
事實上 Vitalik 已經承認 POS 無法避免弱主觀性的問題,節點必須仰賴其他節點群告知正確的區塊哈希值以確認版本號,某種程度違反了區塊鏈完全不需要信任的原則,但這仍是跟效率妥協下的解決辦法。
如果要解決能源消耗,為何要堅持用 POS ?
問題來了,既然 POS 的安全疑慮這麼多,為什麼以太坊要採用 POS 機制?
如果考量到能源消耗, EOS 的 DPOS 機制看起來不錯,由節點群中選舉產生 21 個超級節點,並於超級節點群進行出塊及驗證,由於驗證過程牽涉隨機數,不同品牌與驅動的硬體計算結果會略有差異。因此 21 個超級節點群的硬體設施都要相同且穩定,否則各節點同步失敗的機率也很高,現在 EOS 超級節點全都建立在亞馬遜雲端平台(AWS)上,而且被少數利益團體掌握,難以消除中心化疑慮,不符合以太坊的價值方向。
傳統拜占庭容錯(PBFT)在聯盟鏈中也相當受歡迎,衍生的一系列 BFT 變形也陸續被設計出來,這個機制可以容納三分之一的惡意節點,意思是只要有三分之二的節點同意即能達成共識,但拜占庭容錯還是無法解決天生效率低下的問題。
由於共識過程需要提前確認節點數目,運行過程中無法動態加入節點,網路內節點是互相連接反覆進行驗證,導致節點連接數目超過 30 個之後常常會出現同步失敗的現象,如果超過三分之一的節點離線,系統就會停止運作,根本無法用於公鏈上。
目前以太坊 2.0 還在完善與測試階段, POS 機制又分成許多種版本與解決辦法,本篇文章僅能大致討論共同的特性、挑戰與潛在解決方案,並不能完全代表所有的 POS 機制,因為現在許多採行 POS 機制的區塊鏈仍是高度中心化,僅由少數幾個節點進行治理,所以在操作上面臨的問題都不大;然而以太坊需要同時連接數千個節點並確保其安全性,背後的技術難題與挑戰完全是不同等級。
信任與安全性的取捨
要解決 POS 機制的安全性問題,很大一部份是透過「事後懲罰機制」,也就是說共識演算法本身無法預防或是阻止,而是要等待嘗試攻擊後才能進行懲罰,例如扣除過久未上線的節點保證金、處罰雙重投票的節點等等,而且懲罰衍生治理成本相當高昂,要有第三方平台去追蹤、分析以及懲罰這些節點,然而額外機制正讓區塊鏈變得更複雜。
當系統越複雜精密,系統安全性也就越脆弱,比特幣與以太坊成功的關鍵在於共識機制簡單但是強大,經過數年還難以被破解,當以太坊進入 POS 機制時,交易速度與成本有望下降,但也必須開始信任多方的訊息,而不是現有的完全去信任化的機制,難免會損害其安全性。
也就是說,分散式系統的「信任」與「效率」存在一定的取捨與衝突關係,以銀行為例子,傳統銀行的作業流程繁複,每一道作業都需要經過繁複的手續,目的是為了防弊,副作用則是效率低下,例如跨國轉帳耗時數天到數星期,過程要經過繁複的防洗錢審核與多方轉帳,如果不需要審查跟轉帳,那麼在短短數小時就能完成 —— 如果要系統快,就要犧牲安全性,反之亦然。
以太坊現在確實存在效率的問題,原因在於區塊鏈系統設計的本質是「不須信任」的分散式系統,它可以避免大量的惡意節點作弊,防弊代價是要消耗龐大的電腦算力,如果要改善效率,肯定要加強信任節點的程度,要在信任與效率之中取得一個平衡點, POS 就是在取捨下誕生的選項,安全性雖然不如 POW 強,但足以抵禦惡意攻擊且能夠以較高的效率運作。
不只如此,以太坊 2.0 不只著力在 POS ,以太坊還要在分散式系統導入 Sharding 、 Plasma 、 State Channel 等等的功能,還得具備原先的智能合約功能,等於要整合平行處理、側鏈、閃電網路等等的子系統,確保上述所有的功能都在權益機制的保護之下,維持整個網路的安全性,複雜度與原先的以太坊系統不是同一個層次,上述提到的問題也僅止於 Vitalik 論文中提到的理論難題,實際系統問題與漏洞肯定更多。
這些功能如果是在封閉式的聯盟鏈還算可行,但他們打算將如此複雜的系統架構導入公鏈,不太可能是短短幾年內可以完成的工作,如果真的成功打造出理想中的以太坊 2.0 ,那就不只是做出一項區塊鏈產品,而是打下分散式技術的里程碑。
聲明:文章僅代表作者個人觀點意見,不代表區塊客觀點和立場,所有內容及觀點僅供參考,不構成投資建議。投資者應自行決策與交易,對投資者交易形成的直接間接損失作者及區塊客將不承擔任何責任。