Layer2 的一種通用分析框架

一般來講,Layer1 特指一種可在大範圍內,尤其特指全球範圍內達成業務一致性(或稱“共識”)的區塊鏈網絡系統。而相應地,Layer2 則是基於 Layer1 之上,在相對更小範圍達成一致性的網絡系統。典型的 Layer1 系統包括以太坊、比特幣以及 Nervos CKB 等,典型的 Layer2 協議有狀態通道、Plasma等。

對於 Layer2 來說,Layer1 承擔了兩個角色,首先是資產的來源,其次是仲裁的法官。Layer1 的用戶基於對 Layer2 的有限信任將部分資產轉移到 Layer2 上享受高速、低成本的服務,並在異常發生時利用 Layer1 對爭議進行仲裁。其中,我們將區塊鏈上的資產定義爲代幣、NFT 以及其他可明確所有權的數據或狀態信息。

2018年以來,Layer2 技術的前沿技術發展迅速,各種 Layer2 方案不斷涌現。本文嘗試給出一種通用框架,對 Layer2 方案在不同功能點的取捨進行分析,以方便用戶在不同的應用場合有針對性地選擇。

Layer2 業務流程的生命週期

典型的 Layer2 業務流程包括五個主要步驟:規則設置、進入、狀態遷移、退出以及挑戰與應答。

規則設置

在規則設置階段,參與 Layer2 業務的各方會就狀態遷移規則、挑戰應答規則進行設置。該步驟通常表現爲在 Layer1 部署一個智能合約,或者交易多方互換數字簽名。其本質在於各方提供一個不可否認的承諾(commitment),以便在挑戰與應答階段對爭議進行判定。

早期的狀態通道技術通常要求預先在 Layer1 上部署一個判定合約對規則和狀態進行約束。近期以 Counterfactual 爲代表的虛擬合約方式則僅要求參與者對規則進行鏈外簽名認可,當用戶對交易結果產生爭議時再將其部署到 Layer1 上。這種方式大幅降低了通道建立的成本,但 Plasma 類的 Layer2 協議仍然需要在 Layer1 上部署規則合約以便定期接收 Layer2 對狀態的 commitment。

進入

用戶的資產從 Layer1 進入到 Layer2 需要用戶觸發 Layer1 的資產鎖定動作,以確定其不會被兩層網絡雙花。鎖定後的資產將產生資產鎖定證明,該證明在 Layer2 上被驗證後即實現了資產的進入。假設 Layer1 具備足夠的可用性和安全性,那麼資產鎖定證明的生成和內容的可靠性是無需置疑的。所以本操作的關鍵在於 Layer1 上的資產鎖定證明如何在 Layer2 達成共識。

對於支付通道/狀態通道等點對點交易的 Layer2 協議來說,共識僅限於交易雙方或有限幾方之內(由多跳連接的更多參與方本質上也是兩方共識的組合),參與者願意執行進一步業務即證明對對方的資產鎖定證明達成了共識。

對於 Plasma 等多對多交易的 Layer2 協議來說,除非所有的參與方都對某個資產鎖定證明進行簽名並通知所有人,否則無法確認所有人對該動作達成共識。此時,退而求其次,可由 Layer2 的 Operator 對該資產鎖定證明進行簽名,來宣佈該動作在 Layer2 達成了共識。顯然,存在某些情況一些參與方對該行爲並不認可,他們可以執行退出動作離開這個共識區,或者把 Operator 的簽名提交到 Layer1 上進行仲裁。同時,也存在 Operator 有意或無意地忽略了用戶的資產鎖定證明,並沒有對其簽名、在 Layer2 上廣播的情況,此時用戶也應該可以執行退出動作。最終留下來的參與者表明其對鎖定證明無異議,即對此達成了與 Layer1 安全性一致的共識。

狀態遷移

Layer2 用戶的每一筆交易都應該使得 Layer2 的總狀態發生正確遷移。這一步驟涉及三個關鍵行爲:每筆交易的發生是否達成了共識,每筆交易的結果是否達成了共識,該共識的達成是否受到 Layer1 的監督。

與進入階段類似,參與方對共識的接受與否取決於自己與所有其他參與方的認可或自己與 Operator 的認可。點對點交易的 Layer2 只需要獲得對方的簽名,並確認該簽名符合設置階段的業務規則即可。而多對多交易的 Layer2 則必須由 Operator 提交共識結果,並且將共識結果的摘要提交到 Layer1 作爲 commitment 以便該行爲接受 Layer1 監督和仲裁。

該步驟的幾個關鍵點在於,參與方應能夠對影響到自己資產的狀態遷移進行檢驗;參與方應能夠驗證 Operator 提交到 Layer1 的 commitment 與自己獲得的狀態遷移信息的一致性,並可獲得足夠的數據生成證明並提交到 Layer1 進行質疑;當參與方交易被 Operator 過濾時,它的資產應可以安全地退出。其中前兩個點都涉及 Layer2 的數據可用性問題,後一個點涉及 Layer2 的服務可用性問題。一旦服務或數據不可用,用戶可以隨時退出;在數據和服務可用前提下,Operator 的作惡行爲可以由 Layer1 約束。

退出

Layer2 的退出機制非常複雜,類型也非常多。但其本質都是退出人將資產狀態及其證明提交到 Layer1 上,通過預定規則和已經由 Layer1 認可的狀態 commitment 的驗證解鎖資產。退出流程依賴於已經達成共識的規則和狀態 commitment,並受後續挑戰與應答階段的約束,其本身的要點在於退出次序和退出的即時性。

對於需要引入 Operator 爲 Layer2 共識結果以及 Layer2 錨定到 Layer1 的 commitment 進行背書的協議來說,總是存在某些情況無法證明 Operator 給出的共識結果是錯誤的。因此需要一個公正的退出次序能夠保障誠實用戶優先退出。然而,恰恰是因爲我們無法證明某人“誠實”才引入了退出的次序問題,所以這裏指的誠實用戶優先退出指的是所有的誠實用戶都必須時刻關注 Operator 的行爲,並在其行爲失序時立刻發起退出,然後按照這些用戶退出狀態所在的時點的先後次序進行依次退出。

用戶提交的退出動作涉及的資產可能與其他用戶的資產有關,Layer1 往往無法確定用戶提交的退出動作是否是對應資產的最終狀態,這就需要等待其他用戶對該動作的挑戰。挑戰的流程決定了退出動作的即時性。理論上,如果 Layer1 可以確定該動作就是對應資產的最終狀態,該資產就可以即時退出。例如要求 Operator 在 Layer1 上抵押不小於當前用戶所有資金餘額的資金,並在每次向 Layer1 提交狀態空間 commitment 時都向每一個用戶發送一個當前餘額的證明。那麼用戶就可以在最新的 commitment 上提交一個即時的、無需等待挑戰的退出請求。

挑戰與應答

挑戰與應答發生在 Layer1,利用了它作爲 Layer2 仲裁者的角色。對應的挑戰內容爲所有在 Layer1 上發生的與 Layer2 有關的交易,包括 Layer2 共識狀態的 commitment 以及用戶對退出狀態的主張。

對共識狀態 commitment 的挑戰意味着挑戰者不認同 Operator 提交到 Layer1 的共識結果,這種不認同或者源自於挑戰者獲得了不同的狀態結果,或者來自於挑戰者無法獲得足夠的數據以得到對應的狀態結果。針對第一種情況,挑戰者可以提交新的 commitment,並給出足夠的證據證明其正確性。針對第二種情況,挑戰者可以提交一個數據申請,要求 Operator 披露完整數據。

但由於數據可用性,或者 Operator 簽署衝突的共識結果等問題,上述挑戰可能無法得到符合誠實用戶利益的結果。此時,應允許用戶選擇最近一個用戶認可的狀態點進行挑戰。如果 1) 用戶由於自己疏忽導致超過了最後一個自己認可的狀態點的退出提交時間;或者 2) 預定義的設置規則並不允許用戶對 Operator 提交的共識 commitment 信息進行挑戰,那麼用戶將蒙受損失。前者正是 Plasma 方案遇到的用戶體驗批評,後者則是多籤跨鏈方案遇到的安全詬病。

結論

本框架從 Layer2 交易業務流程出發,分析了局域共識的 Layer2 與全局共識的 Layer1 之間進行資產轉移的必要步驟。指出確保 Layer2 的安全性要求第一 Layer2 要能夠達成共識,第二 Layer2 的共識結果必須由 Layer1 接受。

對於點對點交易的 Layer2 協議來說,達成共識只需要雙方交換對共識的簽名即可。對於多對多交易的 Layer2 協議來說,達成共識不得不引入 Operator 的角色,並由 Operator 將共識結果的摘要提交到 Layer1 備查。我們還應該發現,Layer2 Operator 的數量對該流程並無本質影響,因此 Layer2 並不關心運營方是中心化節點還是分佈式節點。此外,由於 Layer2 的共識範圍總是小於 Layer1,因此不論 Layer2 採取哪種共識形式(包括何種激勵形式),其共識結果都不能由 Layer1 無條件接受。因此 Layer2 的共識達成方式也不是 Layer2 安全性的決定性因素

因此, 不論是哪種類型的 Layer2 協議,其共識結果要想獲得 Layer1 的接受都需要經歷挑戰-應答過程。 而挑戰-應答流程則受到 Layer1 帶寬、退出次序以及高費用的限制,對大部分用戶來說是非常高的門檻。但這並不意味着用戶資產退出的即時性無法得到保障,可以通過 Operator 對用戶在 Layer2 持有的資產在 Layer1 上進行 100% 資產抵押來實現用戶退出的實時性。

從用戶體驗的角度來說,挑戰-應答流程是一個災難,每個用戶都必須時刻關注最新的狀態變更。將挑戰-應答流程委託給代理方並不能提高安全性,因爲它把風險轉嫁到代理方的可信性上了。一個折中的方案是結合點對點交易和多對多交易的 Layer2 的特點,讓 Operator 給出足夠的資產抵押,並對用戶在 Layer2 上的狀態遷移給出資產退出保障。這樣,一旦用戶選擇退出,可以立即退出,無需經歷挑戰-應答流程。還有一種方法就是用戶捨棄轉移到 Layer2 的資產的安全性,對 Operator 給與信任,由 Operator 完成所有的狀態遷移與資產退出證明工作。相信這兩種協議會是未來 Layer2 發展的重點。

作者:王博

原文鏈接:https://talk.nervos.org/t/lay...

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章