header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

Mercury Layer:為Statechain(狀態鏈)帶來巨大提升

閱讀本文需 10 分鐘
本文詳解 Mercury Statechain 是如何運作的。
原文標題:《MERCURY LAYER: A MASSIVE IMPROVEMENT ON STATECHAINS》
原文來源:SHINOBI,Bitcoin Magazine
原文編譯:BTCTC
Study >

CoimmerceBlock 今天推出了「Mercury Layer」,這是他們的statechain 變種的升級版本。你可以透過這篇長文來了解 Mercury Statechain 是如何運作的。而這次的 Mercury Layer 升級代表了最初的 statechain 實現的巨大提升,但是,不像最初的 Mercury Wallet,它還沒打包成可以完全面向消費者的錢包。它是作為其它錢包可以集成的一個庫和命令行工具而發布的。本文簡單總結了它的工作原理:


Statechain 在許多方面都類似於支付通道,即,它是一個集體共享的UTXO,將預先簽署的交易作為保證人們可以強制執行所有權的手段。 Statechain 跟閃電通道的主要區別是可以參與共享一個 UTXO 的參與者數量,以及一個可以強制執行的追索權轉移給另一個參與者的方式。


在閃電通道中,一個UTXO 是由靜態的兩方創建並共享的,而一個Statechain 是由一個運營商開啟的,而且可以在任何兩個願意相信經營者的誠實的人之間自由轉移,完全是鏈下的。希望創建一個 Statechain 的人跟經營者一起創建一個公鑰,這個創建者和運營商都只擁有該公鑰背後的私鑰的一個碎片,沒有任何一方擁有完整的私鑰。然後,他們預先簽署一筆交易,允許這個創作者在一個時間鎖到期後單方面取回自己的資金。


要轉移一個Statechain 的時候,現在的所有權人就跟接收者以及運營商合作,使用他們的碎片私鑰簽署一個密碼學證據,證明他們要轉移這筆錢,然後接收者跟經營者產生一對新的碎片私鑰;這對新的碎片合起來依然是原來那個私鑰;然後就可以簽署一筆帶有時間鎖的交易,並且讓新的所有權人的時間鎖比原所有權人的更短(從而保證新的所有權人總是能比舊所有權人更緩存走資金)。這個過程可以一直重複,直到時間鎖無法再縮短,這時候這個 Statechain 就要在鏈上關閉了。


所有權人也要轉移過往每一次轉移的整個歷史鏈條,這樣用戶可以驗證時間鎖被恰當地縮短了、運營商使用 Mainstay 協議(Opentimestamp 協議的一個變種)為這些記錄加上了時間戳記;每一段數據都在一棵默克爾樹上有自己的唯一“空間”,從而保證只有一個版本的數據是有時間戳的。這讓每個人都能審計一個 Statechain 的整個轉帳歷史。


在黑暗的大地上


Mercury Layer 為原版的statechain 所帶來的最大改變就是盲化(blinding)。 Statechain 服務的經營者將不再能夠知曉被轉移的任何東西:即,相關的 TXID、相關的公鑰、甚至它跟用戶為預簽署的交易合作產生的簽名。


引入了 Schnorr MuSig2 的一個盲化的變種,Mercury 可以協助備用交易的簽名流程,而無需知曉被簽署的東西的任何細節。這使得有必要改變一些設計,以適應這個運營商不再能看到和發布一個 Statechain 的轉移歷史的完整性的事實。他們甚至不再能驗證自己所簽署的交易。


在上一版中,一個Statechain 的當前所有權人/交易集合的唯一性,是由運營者通過mainstay 發布這個Statechain 的完整的轉移歷史來見證的。現在,這是不可能的了,因為,在這個盲化版本中,業者完全不知道這些交易。這使得我們有必要找出一種新的辦法,讓業者見證一個 Statechain 的最新所有權。所有這些資料都會完全由一種「客戶端驗證模式」來傳遞。經營者只需追蹤他為一個 Statechain 簽署一些東西的次數,然後告訴一個用戶需要這個數字,即可。


使用者從支付方接收這個Statechain 的過往交易歷史,然後完全自己驗證交易的數量跟運營者的聲明一致,然後完全驗證所有簽名都是有效的、時間鎖每次都遞減了適當的量。不再將完整的statechain 交易以及轉賬順序發佈到Mainstay,因為運營商被設計成根本不知道所有這些信息,他只向最新的用戶發布他自己跟以前每一個用戶合作時候的公鑰碎片(而不是完整的聚合公鑰)。這使得任何收到一個 Statechain 的用戶都能(透過由發送者提供的交易資料)驗證轉帳歷史以及當前狀態是有效的。


運營商服務端需要追蹤每一個Statechain 的過往簽章次數,辦法是在建立時為每一個Statechain 分配一個隨機的識別碼、並儲存相關的面額、碎片私鑰和碎片公鑰(而不是完整的聚合公鑰)。在新的私鑰分割及再分割方案中,服務端傳遞自己的碎片公鑰給用戶,而執行再分割所需的資料是盲化的,這樣服務端就無法知曉用戶的完整碎片公鑰,因此也不再能產生完整的聚合公鑰、在鏈上辨識資金的位置。


這種設計甚至不允許運營商知曉他是跟最新的所有權人簽名了合作關閉,還是跟一個新的所有權人簽名了一筆新的預簽名交易;他不能透過任何細節來分辨這兩者。但是,如果有人嘗試透過提供一筆假的、無法被結算的交易來「重複花費」一個 Statechain,接收方是能夠發現的。首先,接收方將看到為這個 Statechain 提供價值的 UTXO 在鏈上被花掉的。其次,因為營運者必須簽署所有的狀態變更,在過往交易的歷史中,將只有一個清晰的合作式關閉解決。兩者都可以讓接收方發覺這是無效的,應該拒絕。


Statechain 構造也允許閃電通道「架設在」一個Statechain 上,辦法是將這個Statechain 轉移給兩人的一個多簽名地址,然後這兩人可以在這基礎上協商一組傳統的閃電通道承諾交易。如果這兩人需要關閉這個閃電通道,他們需要先在鏈上關閉這個Statechain,並且,也因此,他們也不能在閃電交易中使用長於statechain 壽命的時間鎖,但其它方面,跟常規的閃電網絡是完全一樣的。


總的來說,有了新版statechian 的巨大隱私性提升,以及它跟閃電網路的可組合性,比特幣上的二層交易機制的經濟可行性和靈活性的許多前景都已開啟。尤其考慮到最近交易池動態的巨大變化以及最終的手續費壓力。


這套機制提供跟Ark 相同類型的流動性優勢,即,可以自由轉移而無需考慮收款額度,但跟Ark 不同的是,它已經上線了,現在就可以使用了。不可否認,它跟閃電通道這樣的東西由不同的信任模式,但考慮到它在靈活性以及可擴展性上的巨大收穫,它毫無疑問是一個應該探索的領域。


原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交