
以太坊 Layer2 擴容方案之 State Channel
TechFlow Selected深潮精選

以太坊 Layer2 擴容方案之 State Channel
通道區分為支付通道和狀態通道,狀態通道是在支付通道基礎上衍生而來的。
撰文:張樂輝
一 什麼是通道,為什麼需要通道?
1.1 為什麼需要通道?
區塊鏈隨著用戶量和交易量的增加,導致交易擁堵,交易速度慢,費用較高。因此,需要增加區塊鏈的擴展性,那麼通道就是擴展方案之一。
1.2 什麼是通道?
-
第一: 通道是一種解決區塊鏈擴容問題的方案,是一個點對點 (p2p) 網絡或者協議,它允許通道雙方可以進行多筆交易,將最後處理和計算的結果提交鏈上, 在鏈上進行簽名驗證和結算。通道區分為支付通道和狀態通道,狀態通道是在支付通道基礎上衍生而來的
-
第二: 通道通過鏈下交易,來減少與主鏈的直接交互,減輕主鏈的負擔,也可以減少用戶的成本
-
第三: 每一條通道,由主鏈上的多籤智能合約管理,要打開一個通道,雙方需要在鏈上部署合約,然後存入一定數量的資產
-
第四: 當通道建立時,雙方創建一個初始狀態,記錄雙方的初始餘額 ( 例如,Alice 5 ETH,Bob 5 ETH)。雙方對初始狀態進行簽名並各自保存一份簽名狀態。初始狀態可能存儲在雙方的本地數據庫或安全存儲中
-
第五: 當關閉通道的時候,需要雙方確認最終狀態,生成最終狀態簽名。然後提交最終狀態到區塊鏈,區塊鏈進行簽名驗證和結算,正式關閉通道。
二 狀態通道工作原理和流程
2.1 創建和部署多籤合約,建立通道
2.1.1 部署多籤合約
L1 主鏈需要部署多籤合約來管理通道,該合約需要交易雙方存入一定資金,並且鎖定,直到通道關閉,結算完成,釋放資金
2.1.2 存入資金
合約部署之後或者已經部署了,那麼交易雙方需要各存入一定數量的資金,然後資金會鎖定在當前多籤合約
2.2 鏈下交易
2.2.1 生成初始狀態
當通道建立時,雙方創建一個初始狀態,記錄雙方的初始餘額 ( 例如,Alice 5 ETH,Bob 5 ETH)。雙方對初始狀態進行簽名並各自保存一份簽名狀態。初始狀態可能存儲在雙方的本地數據庫或安全存儲中。

image.png
2.2.2 進行交易
Alice 向 Bob 支付 1 ETH。交易後,新的餘額狀態為:Alice 4 ETH,Bob 6 ETH。雙方對新的餘額狀態簽名確認。

image.png
2.2.3 多次交易
雙方可以繼續進行多次交易,每次交易後更新餘額狀態並簽名確認。例如,Bob 向 Alice 支付 2 ETH 後,新的餘額狀態為:Alice 6 ETH,Bob 4 ETH。這些交易數據保存在 Alice 和 Bob 的本地,不立即提交到區塊鏈

image.png
2.3 關閉通道
2.3.1 準備關閉通道
2.3.1.1 確認最終狀態
Alice 和 Bob 需要確認當前最新的交易狀態,並確保雙方都同意這個狀態。這個狀態記錄了最新的餘額分配情況 ( 例如,Alice 6 ETH,Bob 4 ETH)。
2.3.1.2 生成最終狀態簽名
雙方對最終狀態進行簽名,生成包含最終餘額和雙方簽名的信息

image.png
2.3.2 提交最終狀態到區塊鏈
Alice 和 Bob 中的任何一方都可以將最終狀態提交到區塊鏈。提交的內容包括最終狀態的餘額分配和雙方的簽名。
2.3.3 驗證和結算
2.3.3.1 驗證簽名
在區塊鏈上驗證提交的簽名,確保提交的最終狀態是雙方認可的。驗證邏輯通常包括檢查簽名的有效性以及簽名是否匹配最終狀態。
2.3.3.2 餘額結算
驗證通過後,智能合約按照最終狀態的餘額分配,將資金從多簽名地址釋放給雙方。資金按最終狀態的餘額分配給 Alice 和 Bob,例如:Alice 6 ETH,Bob 4 ETH。
2.3.3.3 標記通道關閉
智能合約將通道狀態標記為已關閉,防止再次提交狀態。
三 為什麼通道要設計成多籤合約?
通道合約設計成多籤合約主要是為了確保雙方的資金安全,並且需要雙方共同同意才能進行資金轉移。這種設計提供了一層額外的安全保障,防止任何一方在沒有得到對方同意的情況下獨自操作資金。以下是為什麼通道合約設計成多籤合約的幾個關鍵原因:
3.1 確保資金安全
在多籤合約中,資金的轉移需要得到多個簽名的授權(通常是雙方的簽名)。這確保了單方面無法擅自轉移資金,增強了資金的安全性。
3.2 防止欺詐
多籤合約可以有效防止任何一方試圖進行欺詐操作。因為任何資金的移動都需要雙方簽名確認,這確保了所有交易都是雙方同意的。
3.3 實現鏈下交易的簽名確認機制
多籤合約允許在鏈下進行多次交易,每次交易後通過簽名確認更新狀態。最終狀態在雙方同意後提交到鏈上結算。這種機制需要雙方的簽名確認,確保每一步操作都是透明和被認可的。
3.4 確保通道關閉的正確性
在關閉通道時,多籤合約確保最終狀態的提交和結算需要雙方的同意。這避免了任何一方單方面關閉通道並獲取不公平的餘額分配。
四 狀態通道優缺點比較
4.1 優點
第一: 交易成本低,提升了交易效率第二: 數據不上鍊,具有較強的隱私性第三: 存在挑戰期,具有較強的安全性
4.2 缺點
第一: 存在挑戰期,提現速度慢第二: 鏈下不支持智能合約第三: 要求交易雙方必須同時在線參與方需要保持連接,在線的話能夠及時接收和處理交易狀態更新以及參與爭議解決;如果一方試圖惡意關閉通道或提交錯誤的狀態,在線的另一方可以及時介入,通過鏈上的爭議解決機制第四: 參與主體有限一個通道一般就 2 個參與方,不能太多人參與第五: 不適用於大規模網絡,擴展性較差。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News













