BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

Layer2 的一種通用分析框架

Nervos
特邀专栏作者
2019-05-31 12:21
本文約4016字,閱讀全文需要約6分鐘
本框架從Layer2 交易業務流程出發,分析了局域共識的Layer2 與全局共識的Layer1 之間進行資產轉移的必要步驟。指出確保Layer2 的安全性要求第一Layer2 要能夠達成共識,第二Layer2 的共識結果必須
AI總結
展開
本框架從Layer2 交易業務流程出發,分析了局域共識的Layer2 與全局共識的Layer1 之間進行資產轉移的必要步驟。指出確保Layer2 的安全性要求第一Layer2 要能夠達成共識,第二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 的監督。

退出

退出

退出

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 以及用戶對退出狀態的主張。

結論

結論

結論

本框架從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% 資產抵押來實現用戶退出的實時性。

原文鏈接:

原文鏈接:

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

STO
歡迎加入Odaily官方社群