外匯天眼APP訊 : Polkadot 是用於可擴展的去中心化計算和互操作性的區塊鏈。在本文中,我們將研究網絡的主要部分之一:平行鏈。
今天的區塊鏈以非常標準的形式出現,包括兩個部分。第一部分是共識算法,它提供了安全性。第二部分是狀態機,它提供了鏈的某些方面,鏈通過它獲取安全性。以太坊、比特幣、Zcash 等都受到工作量證明共識(PoW)或其變體的保護,但是它們處理的交易和帳户的種類(組成其獨特狀態機的事物)卻完全不同。想象一下一個開發人員,他提出了一個關於新區塊鏈的好主意,該區塊鏈可以提供有效的隱私或財富分配或其他令人興奮的功能。在開發人員致力於實現該唯一狀態機的同時,他們還必須實現某種共識算法,並且在啓動其鏈時,它必須與其他人競爭安全資源。這給開發新的區塊鏈項目帶來了一定的開銷和不安全性。
讓我介紹一下平行鏈。平行鏈(可平行運行的鏈)是區塊鏈的一種簡單形式,它附加到「中繼鏈」提供的安全性上,而不提供其自身的安全性。之所以稱為中繼鏈,是因為它不僅為接入的平行鏈提供了安全性,而且還保證了它們之間安全的消息傳遞。平行鏈的一個關鍵特徵是它們執行的計算本質上是獨立的。圖靈完備的智能合約的全面通用系統在確定哪些交易將彼此「衝突」時會遇到問題,這意味着可能並行化的交易通常按順序運行,從而浪費了寶貴的計算時間。在平行鏈之間劃清界限意味着我們可以一次執行所有這些鏈,而不必擔心發生衝突——如果我們有 10 條平行鏈,我們可以使用相同的安全源來執行 10 倍的工作。
高度專業化的平行鏈還有另一個目的:它們可以針對其專業領域,以最有效的方式實現數據存儲和交易操作,而不會陷入特定於區塊鏈的腳本語言或虛擬機中。像比特幣腳本和 EVM 之類的模型,在設計時就在其核心中考慮到了互操作性的目標,但是使用這些模型的系統為所有的實現部分支付了日益增加的執行成本,而不僅僅是那些來自同一網絡上運行的其他系統可以訪問的部分。相比之下,Polkadot 平行鏈通過異步消息傳遞相互通信,因此僅在平行鏈相交的邊界處支付數據一致性的代價。
請注意,你仍然可以創建一條為完全通用和圖靈完備的智能合約提供框架的平行鏈。一個簡單的例子就是由 EVM 驅動的平行鏈。出於上述原因,該平行鏈上執行的合約在受益於以太坊智能合約的通用性和互操作性時,也會遭受其帶來的不便。主要區別在於它是完全選擇加入的。我們認為 Polkadot 能夠集成重點解決方案,同時保留使用極其通用的框架的可選性,這是其最強大的功能之一。
平行鏈最有趣的用例之一是作為可擴展性的工具。你可以創建具有自己的平行鏈的平行鏈,依此類推。這將創建一個樹狀結構,可用於執行高度分佈式的計算,而不會減少根中繼鏈本身的總體負擔。主要問題是確保數據可用性——平行鏈區塊應隨附有效性驗證證明,任何人都可以至少在一定時間段內使用。驗證人負責確保其驗證的塊的證明仍然可用。不幸的是,如果不在鏈上移動消息的話,就不可能(或者至少很難)證明原本應該發送的消息並沒有發送。我們可以通過信譽保證來避免此問題:當相對受信任的各方將驗證人作為隱瞞數據時,會受到懲罰。這也可以推廣到代幣投票系統或多層法院。為了降低惡意和虛假報告的有效性和實用性,每項舉報不當都應伴有不可退款的資金消耗。當有足夠多的人正在觀看計算時,例如在第一級平行鏈的情況下,通常會有必要的數據。緩解風險的另一種策略是,在設計平行鏈時就規定好,當鏈停滯或受到攻擊時,便可以收回儲存的價值,儘管當該鏈執行智能合約來自動鎖定資金或自行管理自己的費用時,這很難實現。
也許更有趣的可伸縮性方法是使用零知識(ZK)證明。像 ZK-SNARKs 或 ZK-STARKs 這樣的現代非交互式 ZK 證明,讓我們能夠檢查一項證明,來了解帶有某些已知和未知輸入的已知程序是否已正確執行,並瞭解該程序的輸出是什麼,而且不會泄漏任何有關私人輸入的信息。最常見的是,像這樣的 ZK 證明被稱為保護隱私的工具,但它們也可以用於提高性能:令人驚訝的是,無論程序自身的複雜程度如何,檢查這種零知識證明的時間大多是恆定的,驗證證明的時間會少於相應程序的執行時間!這意味着即使是非常複雜的交易(可能要花費數小時的處理時間)也可以在短時間內通過鏈的驗證人來驗證。不幸的是,創建 ZK 證明的計算和內存成本仍然高於普通用户可接受的成本。在這些成本降低之前,在實踐中使用 ZK 證明也只是美好的設想。
但是,平行鏈的偉大之處在於它們非常地通用。通過允許每個平行鏈定義其自身有效性的概念,我們可以從當前的龐大證明無縫過渡到將來的更輕、更高級的證明。隨着分片研究的發展,可以輕鬆添加使用最新技術的平行鏈。最終,這就是 Polkadot 的價值主張:它處於正確的抽象層次,可以在現在和將來使用,而沒有任何不必要的開銷。該系統的設計不僅可以適應任意演變,而且還具有可擴展性,可以毫不費力地集成最新技術成果。