儘管 ZigZag 的 IDO 並未掀起太大波瀾,但這並未影響到其產品和開發進展。今日,ZigZag 公佈其開發團隊正在 StarkNet 上推出用於隱私交易的 Layer 3 ZK Rollup「 InvisibL3」,作為其 ZigZag 交易協議的補充。
ZigZag 表示,ZigZag InvisibL3 是一個保留原子兌換且結合隱私的訂單簿 DEX,允許用戶在利用 ZK Rollup 完全可擴展性的同時在鏈上保持匿名性。也就是說,用戶將不僅能夠匿名交易資產,同時還可以隱藏交易金額。
如何在無需許可的交易中實現隱私,同時保持安全性和可擴展性?一種解決方案是利用 ZK 證明來證明狀態轉換已正確執行,而無需透露任何輸入(包括金額或地址),不過這也是信任另一箇中心化方來確保數據可用和私密,而不是用資金去信任。第二種選擇是設計一個系統,使所有隱藏的交易都是公開的,除非提供正確的私鑰,否則無法看到金額或發送地址,這允許任何人重建狀態並使用他們的私鑰創建其資金持有證據。
關於 InvisibL3 的資金隱藏方式,將使用 Pedersen 承諾方案,這個方案中,總輸入等於總輸出,需要使用橢圓曲線密碼學來實現,有綁定性(Binding)和隱藏性(Hiding)兩個基本性質,綁定性意味著承諾方以後不會更改信息,隱藏性是指不洩漏任何有關隱藏數據的信息,還引入了一個只有擁有者知道的隨機盲因子(Blinding factor),以防有人破解金額數值。
至於 InvisibL3 的身份隱藏,會仿照 Monero 來構建子地址功能,每位用戶都從兩組私鑰開始,即一個私密查看密鑰(view key)和一個支出密鑰(spend key),寄到子地址的資金能用主地址的 view 和 spend key 查看和支付,用戶可以用這兩組私鑰生成任意數量的子地址,同時這些子地址無法鏈接回原來的地址,然後可以使用這些子地址去交互。
考慮到這可能會顯示出一個地址進行了多少次兌換,或者有一次性地址的需求,尤其是針對大一點的做市商或者機構交易者,InvisibL3 會添加一次性地址功能,發送方會生成一個帶有機密隨機種子的一次性地址,用戶和做市商可以私下共享,然後,用戶可以用他們的私鑰證明他們在一次性地址擁有資產,而無需透露這個地址甚至是他們的子地址。
交易方面,也就是 Pedersen 承諾發揮作用的地方。用戶想要支付的 input notes 總和和正在生成的 output notes 總和是相等的,而無需透露具體數量。在進行交易時,用戶提供交易金額、輸入和輸出資產類型和價格,以及返回地址簽名(將掛單和吃單方聯繫起來)。
總的來說,InvisibL3 交易僅在以下情況下有效:
-
輸入的 input notes 存在於狀態中;
-
雙方輸入和輸出資產金額總和相同;
-
雙方使用與所支出資產金額對應的私鑰簽署了預期的交易哈希;
-
要被兌換的代幣和金額與交易對手簽名匹配;
-
目標地址與返回地址簽名匹配。
以上是 ZigZag 解釋的關於 InvisibL3 的大致技術細節。
由於 InvisibL3 結合了原子交換,並且釋放了 ZK Rollup 的可擴展性和提供匿名性,特別是對專業或者機構交易者而言更具吸引力。