向Tezos新增門限簽名方案(TSS)

買賣虛擬貨幣

上面交易細節中的Tezos地址可能與任何正常地址類似。然而,此地址不是由私鑰控制的常規Tezos地址。事實上,據我們所知,這個地址是第一個由門限簽名方案(TSS)控制的Tezos地址,也是第一個由TSS控制的用於EdDSA簽名的代幣地址。

如果你一直在密切關注我們,這可能並不令人驚訝。我們已經在Binance Coin (BNB)和Zilliqa (ZIL)上實現了同樣的效果。

透過使用TSS,我們消除了單個原子私鑰的負擔,並將責任劃分給多個參與方。在這種情況下,由雙方控制地址,雙方都需要簽署交易。

使用TSS沒有私鑰
在這篇部落格文章中,我們將分享一些關於這個概念驗證(PoC)專案的細節,這個專案由KZen(構建ZenGo錢包)的區塊鏈研究團隊進行。門限簽名方案(TSS)
門限簽名方案(TSS)消除了單個原子私鑰的負擔,並在多方之間分擔責任。每一方都生成自己的秘密,並使用這個秘密在不向其他方透露情況下對交易進行分散式簽名。有關TSS的高階概述,請參閱我們的部落格文章。對於這個概念驗證(PoC)專案,我們使用TSS的開源實現來實現EdDSA簽名。值得注意的是,該專案首次利用了我們的通用MPC(安全多方計算)網路層。目前,我們只支援“N out of N”方案,即所有相關方都需要簽署。在未來,我們還計劃支援“T out of N”場景,即只需要簽署一個子團隊的協議。
雙方EdDSA金鑰生成和簽名
我們投入了大量的資源來實現TSS,使其相容並可重用於不同型別的區塊鏈和數字簽名演算法(DSA)。這種相容性使我們能夠快速地整合TSS支援的新的區塊鏈。
為什麼是Tezos ?在KZen中,我們已經實現了對比特幣、以太坊(Ethereum)、Binance和Zilliqa的門限簽名方案(Threshold Signatures Scheme, TSS)支援,我們想用其他代幣進行試驗。我們選擇Tezos的主要原因如下:· Tezos對我們專案的信任:Tezos基金會很早就認識到我們工作的重要性,並授予我們一筆贈款,用於開發對他們的區塊鏈https://tezos.foundation/news/an-update-on- The -role-of- Tezos - Foundation的TSS支援· 經濟創新: Tezos使用者積極參與共識,從而幫助確保網路安全。賺錢一直是使用者追求的終極目標。· 技術成熟度: 要使用區塊鏈實現TSS錢包,我們需要一個足夠成熟的開發環境。Tezos network在它的測試網路中包含了所有必需的成分:
    · 一個插口,這樣我們就可以在不花大錢的情況下測試所有東西    · 一個區塊鏈資源管理器,以便我們可以確認我們的交易已成功記錄在區塊鏈上    · 透過API和開源SDK訪問測試網,這比設定完整的節點舒服得多)· 技術新穎性: 我們之前用實際代幣進行的TSS實驗僅限於ECDSA和Schnorr簽名。這是我們(或據我們所知的任何人)首次為基於EdDSA簽名的代幣實現TSS。即使Tezos支援多重簽名,也需要TSS值得注意的是,儘管Tezos支援允許使用者新增多簽名安全性的智慧合約,但是使用TSS仍然有明顯的優勢。一個主要優點是TSS交易看起來與常規交易完全相同。與多重簽名交易不同,TSS“魔力”應用於數學層,而不是應用程式層。
· 如果多重簽名是透過智慧合約實現的,它可能會給智慧合約執行者帶來額外的費用。此外,多重簽名智慧合約功能可能難以驗證,一些基於以太坊的多重簽名智慧合約所遭遇的多個事件就說明了這一點。· 控制機制不向外界公開:使用TSS,簽名方永遠不會公開,因此,對手無法瞭解各個方或它們的控制結構,也無法監視對它們的更改。· 綜合控制機制: 使用TSS,使用者可以建立各種綜合的任意控制機制(例如,組合來自一個組的幾個參與方和來自另一個組的幾個參與方)。Tezos資助KZen研究團隊的事實表明,他們有興趣將TSS功能整合到Tezos中。概念證明Tezos的區塊鏈網路是創新的,引入了一些概念,如Pos(權益證明)。然而,由於TSS是與區塊鏈無關的,所以它能夠輕鬆地與這個獨特的體系結構整合。這種相容性使我們能夠在一天內完成PoC,而不需要在Tezos端進行“整合”。
使用SDK,我們首先確保可以生成一個正常的交易。

在Tezos上建立普通事務

1. 生成:我們修改了程式碼,使公鑰由KZen TSS setup生成並匯出到Tezos客戶機。

從公鑰生成地址
當然,由於任何隨機字串都可以成功地轉換為地址,所以從公鑰生成地址並不能證明任何東西。現在真正的挑戰是從這個地址簽署交易。在這個過程中,我們瞭解到對於新建立地址的第一個交易需要一些儲存費用。 2. 簽名:主要的變化是在簽名功能;我們更改了訊息的匯出方式,以便由我們的TSS演示程式而不是私鑰來簽名。在這個過程中,我們瞭解到,對於一個要傳送金錢的地址,它必須“顯示”,這只是我們必須建立和簽署Tezos區塊鏈上的另一條訊息(當然是使用TSS)。作為副產品,這表明我們可以建立任何Tezos訊息,包括與堆疊過程相關的初始化和委託訊息。然後,透過從API獲得成功的結果並在explorer中驗證交易,我們驗證了TSS可以與Tezos區塊鏈一起工作。結論我們計劃重構程式碼,以便與我們的TSS設定直接互動,並很快將其作為開放原始碼專案釋出。我們將包含到相關特性的介面,例如初始化和委託訊息,以支援堆疊過程。
總而言之,我們只花了幾個小時就為這個領先的加密貨幣資產新增了TSS支援。該實驗成功地證明了區塊鏈可以多麼容易地整合到我們通用的TSS基礎設施中去。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;