Gavin Wood:波卡應該如何從以鏈為中心,轉變到以應用為中心?
演講:Gavin Wood
編譯:PolkaWorld
在上一篇文章中,我們總結了 Gavin 演講的第一部分,即波卡怎樣從以鏈為中心轉變到以「核」為中心。在本文中,我們將繼續總結該演講剩餘的部分 ------ 將波卡從以鏈為中心轉變到以應用為中心,以及如何打造具有韌性的平臺。
以鏈為中心 → 以應用為中心
波卡 1.0 是以鏈為中心的範式:讓孤立的鏈可以互相發送消息,這種方式本質上和單鏈加跨鏈橋很相似,只不過平行鏈都連接到中繼鏈而已。
這導致了碎片化的用戶體驗。用戶可能在一條鏈上使用某應用,但他在另一條鏈上也想使用這個應用,也就是用多鏈的方式來使用應用。
但如果我們擁有以鏈為中心的範式,那麼也會擁有以鏈為中心的用戶體驗。而如果某個應用不是以鏈為中心,那麼所有事情都會變得很難。
在現實中,如果我們想充分利用波卡的潛力,那麼應用就需要跨鏈部署,而且需要是無縫跨鏈,至少對於用戶來說要如此,更理想的情況是對於開發者來說也是如此。
這是一個「波卡是什麼樣子」的藝術化示意圖:
我們為了快速上線波卡,而選擇了把波卡的很多應用能力放到中繼鏈上。但這其實是一種權衡取舍。
好處是,這我們可以在技術基礎完全完成前,在較短的時間內交付很多功能,例如很棒的質押、治理、代幣、身份系統。
但它也有代價。如果我們把很多東西都綁在一條鏈上,就會出現一些問題。比如中繼鏈不能一直把它的資源用在自己的本職工作 ------ 保障網絡安全和確保消息傳遞上。並且它誘導大家形成一種以鏈為中心的思維模式。
在過去,我們可以只關注一條鏈,在上線時把波卡所有的功能都放在中繼鏈上,我們最早的目標就是這樣。但不巧的是,相關的工具還沒有跟上這個應用和用戶都在跨鏈的時代。
現在,系統級功能正在轉向跨鏈部署的範式。系統鏈更加普遍,中繼鏈處理的東西越來越少。應用需要能夠跨越這些鏈,並且不能因此讓用戶體驗變得困難。
這是我半個小時前剛畫的示意圖,這是我認為理解 「波卡是什麼」 的更好的觀察角度。
波卡其實並不是中繼鏈在中間,平行鏈圍繞在周邊,至少對於來到波卡生態的人來說不應該是這樣。事實上,波卡應該是一個集成系統,一個運行了很多應用的計算機。
沒錯,不同鏈的業務邏輯組件(即平行鏈)之間是有邊界的,但這對用戶來說可能沒有我們以為的那麼重要。更重要的是,用戶能做到他們想做的事情,並且是輕鬆地、清楚地、快速地做到。
圖上的圓點是應用,分割圓點的虛線是 「paras」,我不想說成平行鏈,因為那會引誘我們掉入 「每條平行鏈對應一個核」的思維陷阱。這是波卡到目前為止的模式,但並不是唯一的選擇。
這些圓點在正常情況下應該可以互相交流,並且幾乎與在虛線範圍內的空間交流一樣輕鬆。
XCM
要怎樣做到這一點呢?這就說到 XCM 了。
XCM 是一種語言,而真正傳遞消息的傳輸層叫 XCMP,我承認這兩個名字有點容易混淆。
XCM 是做什麼的呢?它的作用是抽象出鏈中常見的功能,它創造了一種描述性的語言,來描述你想要做什麼或者想要什麼事情發生。
只要鏈誠實地翻譯這個消息,那麼一切都好。但不幸的是,無法保證鏈會誠實地翻譯你的 XCM 消息。在去信任的環境中,XCM 並不理想。
打個比方。在貿易中,我們會說 XCMP 這種運輸手段給了我們一條安全貿易通道,我們不會在中途被打劫。發出的東西能確保被收到。然而,它沒有給我們一個在不同貿易主體間創建有約束力條款的框架。
舉一個更直觀的例子 ------ 歐盟。它是什麼呢?本質上它是一個聯盟,你可以加入它,它是一個條約框架,讓不同的主權國家遵守特定的條約。但是,它並不完美,因為雖然有共同的司法部門可以翻譯每個國家的法律,保障它遵守了法律,但它無法阻止某個國家改變其法律,讓其不與歐盟的要求一致。
在波卡中,我們也面臨類似的問題。XCM 是一種表達意圖的語言,WebAssembly 是表達平行鏈在波卡中要遵守的法律,可以把它想象成歐洲法院(ECJ),保證平行鏈遵守了自己提出的邏輯,但這並不意味著這個邏輯無法被平行鏈合法地更改,從而去拒不遵守 XCM 語言。
XCM 是一種表達意圖的語言,比如「我準備去轉賬資產」、「我準備去投票」。在互相信任的系統鏈之間,這不成問題。但如果它們是在不同的治理流程、立法程序之間,就會有問題了。在波卡生態中我們可以做得更好。
Accord(協定)
這裡我提出了一個新的術語叫 Accord(協定)。協定是跨多條鏈的自願性條約。有點像說「我自願遵守這一個業務邏輯,並且我做的任何事情都不會改變這一點」。鏈自己不能破壞條約的邏輯。
波卡保障該邏輯的忠實執行。協定會針對特定的函數。任何加入該協定的鏈都要遵守規則,這個規則會針對這個特定的函數。
為了保證較低的進入門檻,提出協定是無需許可的。因為它是自願加入的,所以在通過和註冊之前都不會影響任何人。
這個示意圖不是最精確的,但大概意思是這樣。外圈是波卡,裡面有一些小圓點,我們把這個圖水平放置。那麼 Accord 就是一個統治其本地的主權性的單獨的機制。
Accord 並不是在所有系統中都能存在的。據我所知,波卡是唯一能夠支持它的存在的系統,因為波卡是唯一一個擁有同強度安全層的系統,而且還能為每個分片提供特定的狀態轉換函數。這些特點讓波卡可以做到在其他架構(如跨鏈橋)中不可能達到的合作模式。
對波卡比較熟悉的人可能聽過「SPREE」,SPREE 就是可以實現 Accord 的技術。
一些 Accord 的使用場景
我們來看一些 Accord 的可能案例。
其中一個就是資產樞紐。
目前,如果兩條鏈想要有資產的交互,必須通過第三條鏈,即資產樞紐鏈。如果其中一條鏈是本地資產的鏈,會稍有不同。但理論上,如果兩條不相關的鏈想要交易第三方資產,你必須額外去打通一條路徑。
有了 Accord 就不需要這樣做了。你可以把它看作一個大使館,它存在於通用流程空間中,和平行鏈在同一時間在同一核上調度,但又不是平行鏈業務邏輯的一部分,而是另外存在的。這有點像大使館有自己原本國家的法律,但它們的地理位置卻在當地的國家。同樣地,Accord 就像外部業務邏輯,但是又是大家認可的,而且存在於本地。
另一個案例是多播 XCM 路由器。它可以發送一條消息,但是跨越到多條鏈,還可以是以某種順序進行。比如在這裡做一個操作,在那裡做另一個操作,但是永遠是在我的允許下的。這也是目前做不到的。
還有一個案例是去中心化交易所,它可以在多條不同的鏈上設置前哨站,好讓兌換直接在本地發生,而不需要開啟雙向通道。
這只是我暫時能想到的幾個例子,相信在之後這個技術的潛力會被進一步發揮出來。
Project CAPI
簡單講講用戶界面 ------ Project CAPI。它的作用是讓跨越多條鏈的波卡應用可以擁有順滑的、體驗良好的用戶界面,即使是在使用輕客戶端的情況下也是如此。
隱士中繼(Hermit Relay)
也就是將中繼鏈中所有用戶級功能,都轉移到系統鏈中。例如:
餘額
質押
治理與身份
核的租賃
最終讓波卡的功能跨越多個平行鏈,釋放中繼鏈的空間。
打造有韌性的應用平臺
最後一個部分,我想重申一下我們在做的事情,以及為什麼要做。一切都是關於韌性。
世界總在變化,但如果大家有明確的意向,那麼讓這些意向能夠被尊重是很重要的。我們現在所用的系統不夠有韌性,它們是基於很老派的思想而建立的。
當你的系統沒有加密學、博弈論時,就會發生一些糟糕的情況。例如在這條新聞中提到的大型網絡攻擊,讓 600 萬人的信息遭到泄露,也就是世界上千分之一的人啊。而且這些事情經常發生。
那麼怎樣打造一個不受到這些威脅的系統呢。首先當然是建造一個去中心化的、基於密碼學的、經得起博弈論考驗的系統了。但我們具體要做什麼呢?
雖然我們天天都在宣揚「去中心化」,但是如果所有東西都要通過同一個 RPC 供應商,就算不上真正的去中心化。
去中心化需要由多種因素共同提供:
輕客戶端的使用: Smoldot 和 CAPI 將允許高性能的基於輕客戶端的 UI
ZK 原語:構建一個功能豐富的、高性能的 ZK 原語庫。第一個庫已經快完成了,將為鏈上集體(包括 Fellowship)提供隱私保護。
Sassafras 共識: 新的無分出塊共識算法。提高了安全性和隨機性,具有高性能的交易路由。提高了平行鏈的性能和用戶體驗,加密的交易防止了 Front-Running,可能帶來潛在的 MEV 收益。
混合網絡 / 洋蔥路由: 避免泄露交易的 IP 信息。是用戶、鏈和 OCW 之間的通用消息系統。
人的去中心化:引入很多的且足夠多元的人參與到系統中。通過治理、國庫支出、工資、補助等方式激勵大家的參與,並且吸取和維護集體知識。
銘記初心
最後,我想要重申一下我們的初心。波卡並不是為了創建某個特定的應用而存在,而是去提供一個平臺,在該環境中提供一個部署多種應用的方式,並且讓應用可以互相利用對方的功能,來提高廣大用戶的福祉。並且我們要確保這個願景能夠盡快實現,這就是波卡的使命所在。
如果波卡無法對世界上的變化保持一定的韌性,那麼構建波卡將毫無意義。這些變化可以是達到同樣目的的其他方式,或者已有的來自厭惡去信任世界的外部組織的威脅。