編譯:李科,panews
混合式zkRollup
以太坊上的數據都是公開的,但很多數據和交易有隱私的需求,基於此Aztec推出了透明+隱私混合式zkRollup。大家比較熟悉混動汽車的概念,即把油和電結合起來驅動汽車。 Aztec在宣布停止Aztec Connect之後,近期就推出混合式zkRollup概念,未來Aztec要做的事是將以太坊智能合約和zk加密執行結合起來,如果說之前的Aztec Connect只是針對數字資產的隱私交易,未來Aztec zkRollup的應用範圍將更廣,涉及一切數據的隱私計算和傳輸。
Aztec將結合以太坊智能合約的所有特點,再加上可編程匿名性、數據隱私和保密合約的保護能力。 Aztec通過允許公共-私有可組合性,極大地擴展在區塊鏈上可以做的空間。
Aztec技術路線圖
Aztec已經開始部署基本的合約部署(Milestone1.0),目前本地開發環境的組件已經取得重大進展。開發人員可以在2023年第三季度獲得本地測試網絡,用戶可以在2024年初體驗完整的公共測試網絡。
Aztec: 不是一個zkEVM
以太坊本質上是一個狀態機。它接受一個起始狀態,按塊排序交易,並以確定性的方式轉換狀態。 Aztec將全局狀態機擴展到了私有狀態。這種混合的公共-私有狀態機同時處理智能合約邏輯的公共和私有執行。與此同時,它不再像傳統的區塊鏈一樣執行交易,而是證明已經計算過的交易的正確性。換句話說,Aztec是一個零知識執行環境,但它不是zkEVM。
為什麼不是zkEVM呢?難道zkEVM不是最終目標嗎?
在Aztec Labs研究隱私智能合約時,得出了一個早期結論:隱私與EVM不兼容。 Rollup技術的美妙之處不僅在於模仿以太坊,而是擴展了其實用性。 Aztec是一個機會,可以在基礎層上確保隱私,並獲得以太坊的安全保證。在其發明時,以太坊為公共共識而放棄了隱私。直到2018年,Zac Williamson和Ariel Gabizon發表了Plonk,第一個對於區塊鏈應用程序具有廣泛實用性的zkSNARK,才有了通過先進的零知識密碼學實現無信任、私有執行的可能性。但像以太坊這樣基於賬戶的公共區塊鏈模型無法支持本地隱私,而UTXO-based隱私解決方案則無法支持已為公共智能合約平台創建的應用程序和工俱生態系統。
這就是為什麼Aztec要兼顧兩者
Aztec將公共和隱私執行結合到一個單一的zkRollup中,在加密和非加密的交易中提供無縫的可組合性。如果說以太坊的創新是允許對公共狀態進行讀寫,那麼Aztec的創新是能夠對公共和隱私狀態進行讀寫。將公有和隱私結合成一個單一的混合式Rollup,可以實現保密性和可審計性的用例,比如:
-
公共DAO的私人投票
-
公共遊戲的私人會議
-
公共AMM上的隱私交易
Aztec之前僅支持資產的隱私交易,現在開始支持智能合約的隱私執行,而智能合約在合規和查看權限方面更加靈活。
Aztec是如何運行的?
Aztec採用了之前在Connect架構上取得的工作成果,並大規模地擴展了其範圍和功能。之前Connect利用了一個加密的UTXO架構,在Aztec中,將繼續採用相同的設計,但有一個關鍵區別: UTXO不僅可以代表”代幣的價值”,還可以代表任何數據。 UTXO現在可以存儲整個智能合約。
之前Connect只支持3個定制的電路。 Aztec可以在公共和隱私狀態上支持任意的智能合約邏輯。這意味著開發者可以訪問全部的以太坊用例,以及全新的加密應用。 Connect是為DeFi設計的,而且僅限於DeFi,而Aztec大大擴展了想像力。
公共和隱私的可組合型
Aztec的公共和隱私狀態環境是完全可組合的,這意味著任何函數都可以調用任何其他函數。這導致了全新的區塊鏈範式,如隱私對隱私的函數調用:智能合約的邏輯對區塊鏈觀察者來說是不可見的,可以調用其他具有不可見邏輯的合約。
Aztec正在建立一個真正的隱私生態系統:一個智能合約網絡,可以從最方便的賬本中獲取和寫入:
-
一個可見的、公開的賬本,以支持像AMM和借貸協議這樣需要透明度的原始協議
-
一個不可見的私人賬本,能夠創建隱私的去中心化治理、金融、身份和遊戲。
查看權限和合規性
Aztec與Connect一樣,保持了訪問密鑰和支付密鑰之間的分離,同時將訪問密鑰權限擴展到每個合約,以實現對數據訪問的細微控制。由於Aztec允許按合約進行權限控制,因此可以使新的區塊鏈協議(去中心化身份、第三方驗證和訪問密鑰共享)靈活地實施合規性。應用不再需要考慮全有或全無兩種極端方式: Aztec支持全方位的可編程的私有權限。
Noir語言: 寫代碼,而非電路
Noir是一種通用的零知識語言,為了實現隱私智能合約的計算,Aztec Labs為Noir語言的核心開發做了很多貢獻。 Noir是一種開源的、通用的零知識電路編寫語言,兼容任何證明後端,並可在任何區塊鏈上進行驗證,且具有可定制的智能合約驗證器。
像Circom這樣的低級零知識編程語言需要密碼學概念的知識,而Noir讓用戶編寫代碼,而不是電路。零知識程序可以有熟悉的語法和抽象的密碼學安全。開源的加密原語庫意味著用戶可以依賴審計過的加密代碼庫和加密學家以及開源貢獻者社區。
Noir的願景是成為zkSNARKs的LLVM。就像編程語言編譯到中間表示而不是機器語言一樣,Noir編譯到抽象電路中間表示(ACIR),然後可以編譯到任何加密後端。
證明可以在任何具有Solidity驗證器的鏈上進行驗證。這意味著從Solana到Cosmos的開發者都可以將ZK證明與Noir集成。
除了作為一種通用的zk 編程語言外,Noir 還作為Aztec 的智能合約語言:它保留了傳統的智能合約語法,包括狀態變量、函數和跨合約組合性(甚至跨公共- 私有障礙!)。
可擴展性
區塊鏈應用的最大障礙不是區塊空間,而是實用性。值得慶幸的是,zkSNARKs為Aztec解鎖了靈活的加密和可擴展性。
Aztec的內核電路啟用的遞歸功能非常強大,我們已經實現了比Connect更大規模的可擴展性。 Aztec的目標是在主網啟動時達到100+TPS和個位數的交易量,比以太坊的吞吐量高出約5倍,比Connect高出50-100倍。預計通過EIP-4844促進的blob交易,Aztec的主要成本投入(發布調用數據到第1層)將顯著下降。
Aztec的長期路線圖包括自定義數據可用性、狀態分片、FHE啟用的狀態同步、硬件加速和並行執行–所有這些都將使Aztec達到另一個數量級的規模。
下一級別的隱私用戶體驗
在核心基礎設施之外,隱私用戶體驗一直是影響區塊鏈加密工具採用的一個主要瓶頸,主要體現在以下3個方面:
-
很難對隱私進行推理
-
不靈活的查看權限使合規性變得困難
-
錢包體驗令人困惑且不標準
Aztec解決了這三個問題
隱私保障
Aztec的目標是,在比Connect更強的隱私保障的同時,使其更容易理解。同時,Aztec提高了通用性並降低了成本,這意味著更好的隱私保障不需要任何折衷。簡而言之,私人交易是隱私的。在以前的隱私解決方案中,用戶關注隱私集。在Aztec中,隱私交易的執行完全是隱私的—不僅交易是隱私的,執行的合約也是隱私的。這意味著隱私代幣轉移、隱私貸款、隱私訂單簿交易和隱私遊戲狀態對於區塊鏈觀察者來說完全無法查看。
除了觸發的隱私狀態更新的原始數量外,沒有洩露信息的可能性,也不可能詢問這些狀態更新的起源或性質。觀察者了解交易性質的唯一途徑是調用公共函數。公共執行默認是匿名的- 觀察者無法知道誰調用了交易,但可以公開查看交易結果。雖然公共交易仍然依賴於隱私集來保證其保證,但Noir合約的組合性意味著是在整個網絡中共享的。像Dai這樣的穩定幣將具有涵蓋支付、DeFi和作為遊戲貨幣使用的隱私集。
錢包體驗和賬戶抽象化
為了使Aztec賬戶盡可能兼容現有錢包,用戶密鑰將採用與以太坊錢包相同的密鑰。此外,原生抽象賬戶將允許用戶將自定義的Noir 合約部署到他們的賬戶地址,而不是利用現有的ECDSA 簽名流程。由Noir 電路支持的Aztec賬戶抽象將支持:
-
智能合約錢包
-
M of N 多重簽名
-
Schnorr 簽名
-
基於25519 曲線的ECDSA(與Apple 的TouchID 相同的簽名方案)
-
社交恢復
區塊鏈的未來在於可編程錢包,而不是手動簽名交易和授予權限。智能合約錢包將是Aztec架構的核心特點,實現面向未來的的區塊鏈用戶體驗。