全球區塊鏈監管查詢平台

繁體中文
下載WikiBit

基於Statechain的閃電網路通道

基於Statechain的閃電網路通道 WikiBit 2023-02-01 11:31

在一開始,Statechain就被提議跟閃電網路結合,現在也許是時候了。

  Commerceblock 團隊開發的 Mercury Wallet 功能是一種 statechain 和 CoinSwap 的雙料實現。它既引入一種新的混幣工具,又是第一種實現了 statechain 這種新的二層擴展方案的錢包。他們團隊在 Ruben Somsen 的原始 statechain 提議基礎上作了一些變更,使得沒有 ANYPREVOUT/Eltoo sighash flag 也能正常實現 statechain,還整合一種新的 CoinSwap 設計,讓用戶可以多次混幣而無需在鏈上交互。

背景

  簡單說明一下:statechain 是一種離鏈機制,用於在完全離鏈的任何人之間免費地轉帳。資金的原始所有者跟一個 statechain 運營者合作,構造一個 ECDSA-MPC 位址,該位址的私密金鑰是分成兩半的,一半在用戶手裡,另一半在運營者手裡,然後雙方要一起構造一個帶有時間鎖的取款交易並簽好名,再然後用戶再把錢打到這個位址裡去。

  沒有任何一方完整控制這個私密金鑰,而且用戶拿著一個預先簽好名的交易,因此可以在時間鎖解鎖後單方面拿回這些資金。當用戶希望轉移這筆資產時,他們就通知運營者,後者跟支付的接收方合作,一起創建新的一組私密金鑰碎片(但跟原來的私密金鑰碎片有相同的地產),然後生成另一筆帶有時間鎖(且時間鎖更短)的交易並簽名;最後,運營者刪除上一份私密金鑰的碎片。

  如此一來,現在運營者手上的私密金鑰碎片,將僅能與資金的新主人手上的私密金鑰碎片結合,所以只要他們刪除了舊的私密金鑰碎片,他們就無法與資金的舊主人一起花費資金。此外,越新的取款交易,其時間鎖越短,因此資金的新主人總是能比舊主人更快取走資金。這種機制限制了 statechain 資金可以轉移的次數,到點了就必須取出(否則便有可能被舊主人取走)。

基於 statechain 的閃電通道

  Commerceblock 現在正在撰寫一個新的 BLIP(比特幣閃電網路升級提議),以實現一種在 Somsen 的最初提議中便提出的東西:在一筆 statechain 資金上建立一條閃電通道。

  statechain 自身的一個缺點在於,每次轉移時,都是整個 UTXO 一起轉移的。但是,假如 statechain 的取款交易不是把資金轉移到一個普通用戶的位址中,而是轉到一條閃電通道中呢?那麼 statechain 資金的一部分就可以通過通道的初始餘額分佈來傳輸,而這條通道隨後便可按常規發起閃電支付。

  整個流程也從一名使用者創建一筆 statechain 資金起步。創建者和這個 Statechain 的運營者走一遍常規流程:創建共有私密金鑰,並簽名帶有時間鎖的區塊交易;然後創建者(Alice)找到一個願意接受 statechain 資金的通道對手方(Bob)。Alice 和 Bob 一起,如法炮製 Alice 與運營者一起分割私密金鑰的流程,創建出他們自己的共有公開金鑰。然後,倆人都把他們的共有公開金鑰和個人公開金鑰碎片分享給這個 Statechain 的運營者。這使得運營者可以質詢他們,讓他們各自簽名並證明自己同意按最新的餘額合作關閉 statechain,而不必等候 statechain 的取款時間鎖過期。

  從這裡開始,有了 Bob 的授權,Alice 和這個 Statechain 的運營者就可以簽名一筆交易,將 statechain 中的資金直接花費到一個多簽名的閃電通道中,並處理閃電網路通道的創建流程(注:這條通道是 Alice 和 Bob 的通道)。

  這時候,這個 Statechain 位址依然控制在 Alice 和運營者手中,但開啟閃電通道的交易現在到了 Bob 手上,而且其時間鎖比最初那筆取款交易更短,保證了這筆交易可以在 Alice 單方面關閉這個 Statechain 之前就生效。然後,Alice 和 Bob 跟運營者完成最後一次更新,使用他們的共有公開金鑰跟運營者創建一筆將 statechain 資金花費到 Alice-Bob 通道的取款交易(注:常規的 statechain 轉帳,讓 Alice 和 Bob 的共有公開金鑰變成這個 statechain 的新主人),並且這筆取款交易的時間鎖更短。現在,Alice 和 Bob 可以向外公佈自己有一條閃電通道了。

提升 statechain 的效用

  這一提議將大大提升 statechain 的效用,因為它放寬了 statechain 原本嚴格的流動性要求。不論什麼時候某人想接受一筆 statechain 資金但發現面額跟支付額不匹配,發送者都可以通過跟 TA 開啟一條閃電通道來解決這個問題,直到某一方花完自己剩下的資金(或者說通道中的資金全部屬於其中一方),再完成一筆轉移全部 statechain 資金的轉帳。這樣的可能性不僅提升了 statechain 的用途,也提高了閃電網路的效用(如果這套協議得到合理的支援的話)。

  通道內餘額的再平衡,對閃電網路中的節點是必要的功能,不論你是路由節點還是僅僅收發交易的邊緣節點。當通道內的資金全部移動到了通道的一端,這條通道就失去了向某個方向傳遞支付的作用(如果所有資金都在你這邊,你就沒法通過這條通道收取支付了;如果所有資金都在你的對手那邊,那你就沒辦法使用這條通道來支付了)。所以,你需要把一條通道中的資金移動到另一條通道中,通過引起別的通道的失衡來重新平衡你自己的通道。最終,這樣的動態會以某處的通道必須在閃電網路和鏈上交換資金收尾。

  Statechain 則允許流動性像在鏈上移動那樣,但又不需要創建鏈上的足跡,也不必為此支付手續費。假設你有一條枯竭的通道,所有的餘額都在你的對手那邊,你已經沒有可以花費的容量了,同時你又有一個 Statechain 資金。那麼,你可以把這筆 Statechain 資金轉移給任何願意接受的人,假如你不能花費全部的 Statechain 資金,那麼你可以在它之上建立一條閃電通道,而且這條通道也可以用來再平衡你的普通閃電通道。

  從再平衡你的通道需要經過的通道數量上看,這將允許提升效率(別忘了,當你要再平衡你的通道時,它會讓資金流經的每一條通道都失衡),最優的情況下,你可以直接將資金發送給同一個對手,從而再平衡你的通道。如果你希望關閉某一條通道,跟另一個人開啟另一條通道,你甚至可以將此通道中的所有餘額都再平衡掉、全部轉移到你跟新對手基於 statechain 建立的新通道中。

Statechain 和閃電網路的未來

  在討論他們未來的計畫是,Commerceblock 的 Nicolas Gregory 說:「我們的計畫是建立一套結合 statechain 和閃電網路技術的標準方法,從而協助閃電網路通過使用 state channel 在鏈下完成再平衡。當前的這套規範將成為實現這一目標的基石。」

  在一開始,statechain 就被提議跟閃電網路結合,以解決它自身的一個問題:在支付時必須轉移整個 UTXO 的價值。這也為閃電網路提供了一定程度的靈活性,因為閃電網路沒有自身的流動性管理方法。

  現在,閃電網路已經處在早期增長的健康階段,而一份可靠的 statechain 實現也已經存在超過一年了,所以,是時候考慮結合兩者了。閃電網路,作為一個網路,是一個可在任意沒有直接聯繫的兩方之間自動化處理轉帳的系統。至於網路圖譜中的各通道的內部是如何工作的,嚴格來說,對於發送者和接收者,都是無關緊要的;只要建立通道的兩方自己過得去就行。

  Statechain 和閃電通道都給對方提供了許多好處,我們需要做的,就是開發出讓兩者交互的標準化方法。

免責聲明:

本文觀點僅代表作者個人觀點,不構成本平台的投資建議,本平台不對文章信息準確性、完整性和及時性作出任何保證,亦不對因使用或信賴文章信息引發的任何損失承擔責任

  • 通證換算
  • 匯率換算
  • 購匯計算
/
當前匯率
可兌換金額

0.00