Mercury Layer:為Statechain(狀態鏈)帶來巨大提升
BlockBeats 律動財經 2024-02-10 15:00
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 不同的是,它已經上線了,現在就可以使用了。不可否認,它跟閃電通道這樣的東西由不同的信任模式,但考慮到它在靈活性以及可擴展性上的巨大收穫,它毫無疑問是一個應該探索的領域。
暢行幣圈交易全攻略,專家駐群實戰交流
▌立即加入鉅亨買幣實戰交流 LINE 社群(點此入群)
不管是新手發問,還是老手交流,只要你想參與虛擬貨幣現貨交易、合約跟單、合約網格、量化交易、理財產品的投資,都歡迎入群討論學習!
- 從零到一掌握加密世界 開啟財富之路!
- 掌握全球財經資訊點我下載APP
文章標籤
上一篇
下一篇