關鍵抽象:超越流行詞語

中級12/16/2024, 4:10:44 AM
本文探討帳戶抽象(AA)的潛力,特別是通過可編程密鑰管理系統提升區塊鏈用戶體驗的能力。作者分析了傳統密鑰管理方法(如12字種子詞組)和新技術(如 Passkeys、MPC 和雲 TEE)的優缺點,提出了將 AA 功能整合到系統中以實現密鑰輪換、會話密鑰和多重恢復機制。

人人都在談論帳戶抽象(AA)及其潛力,能夠徹底改變區塊鏈領域的用戶體驗。但是,對於AA的主要誤解在於它不僅僅是抽象化瓦斯費用或啟用批量交易。它是如何實現的?透過可編程的金鑰管理系統。

這些系統可以為日常設備提供硬件級安全性,並將Web2身份驗證方法整合到Web3環境中,使我們能夠超越傳統的12字種子短語。今天,我將解釋開發人員可以利用的不同金鑰管理系統,以及它們最有用的具體用例。

超越12個單詞

我們的行業喜歡使用時髦詞彙,“無種子”是最新引起關注的詞彙之一。儘管我們都同意期望用戶安全地存儲他們的私鑰是不切實際的,並導致數百萬美元的損失,但問題仍然存在:如果我們不向用戶顯示種子短語,那麼我們應該在哪裡存儲這些密鑰?

在沒有帳戶抽象(AA)的情況下,大多數現有解決方案依賴多方計算(MPC)將密鑰分配到多個部分並創建交易閾值。這些解決方案通常聲稱是自保管的。但是,這並不完全準確。例如,幣安存儲一份密鑰,作為用戶遺失設備的保管人。這種設置意味著,儘管聲稱如此,用戶並不真正控制自己的密鑰,仍然依賴於中心實體進行密鑰恢復。

此外,如果任何密钥分享被泄露,就无法从主帐户撤销密钥。撤销是不可能的,因为外部拥有的帐户(EOA)不支持密钥轮换,这意味着泄露的密钥将永远成为帐户的一部分。这带来了重大的安全风险,因为受损的密钥无法被替换或移除,导致帐户永远处于易受攻击的状态。

如果您想要了解更多關於AA如何為可編程帳戶和密鑰輪換打開道路的信息,您可以查看我的文章.

1. 完全可編程的帳戶:帳戶抽象化

帳戶抽象化允許開發人員構建不同的金鑰管理系統。一個帳戶可以由多個金鑰和不同的驗證方法控制,並且都支持金鑰輪換。更好的是,金鑰的權限可以區分。這意味著用戶可以為同一個帳戶使用不同的金鑰,每個金鑰都針對不同的用例量身定制。我稍後會更詳細解釋這些用例。

使用AA,資金存儲在智能合約中,帳戶所有權由這些智能合約定義。與EIP-4337兼容的帳戶在其交易中有兩個部分。

  1. 第一部分是验证,账户所有权在链上得到验证。
  2. 第二部分是執行,用於執行該消息。

這兩個部分都是完全可編程的;例如,您可以定義兩個鍵(i,ii),第一個鍵(i)可以執行即時交易,而第二個鍵(ii)只能在時間鎖定後執行交易。這意味著我們可以定義密鑰的權限,添加時間鎖定或啟用其他條件來執行交易。

所以,當我們談論傳統帳戶(EOAs)驗證等同於授權。有了AA,授權是可編程的,因此開發人員可以定義基於角色的存取控制方案並執行最小特權原則。

在加密空間中有許多身份驗證方法(即密鑰管理系統),可以啟用基於角色的訪問控制方案,僅使用一個密鑰不能解決與密鑰管理相關的所有問題。密鑰管理系統最重要的方面是:密鑰存儲位置和誰進行身份驗證。

不同密鑰管理系統的優缺點

我將快速概述Passkeys(Consumer Secure Enclaves),基於MPC的解決方案,基於雲的TEE解決方案,保管解決方案,傳統的12個單詞和Session Keys。之後,將解釋最佳組合。

1. 傳統12個單詞 - (secp256k1) -

比特幣和以太坊支持secp256k1ECC(椭圆曲线加密)算法用于创建私钥并将其存储在用户设备上。这种方法在EOA中被广泛使用,也可以应用于智能帳戶. 使用它,錢包應用程式使用隨機金鑰生成演算法生成私密金鑰,然後將私密金鑰存儲在共享存儲中。

使用secp256k1有幾個優點:它不會產生額外的gas成本,價格低廉,並且可以通過ecrecover預編譯在鏈上輕松驗證。它也是自我保管的,因為只有用戶才能訪問密鑰。

然而,還有一些缺點:

  1. 教育用戶安全地存儲密鑰以防止設備丟失是具有挑戰性的。
  2. 特洛伊木馬或惡意軟件可能從用戶設備中竊取私鑰,因為它存儲在共享存儲中。

NIST不支持secp256k1曲線,這意味著它在流行的框架和大多數硬體上並不常見。

2. Passkeys(消費者安全區域)

幾乎所有現代設備都有兩個主要組件:操作系統(帶有相關共享存儲)和安全執行區。操作系統處理大多數操作,除了像保護生物識別數據、加密密鑰、加密和設備解鎖這樣的敏感任務。

開發人員創建了一個專用微芯片,稱為Secure Enclave,以單獨管理這些敏感操作。Secure Enclave的功能類似於硬件錢包;它獨立運作,安全地處理敏感數據,即使設備所有者也無法訪問其內容。幸運的是,Secure Enclave支持加密操作,如創建私鑰並使用其簽署消息。不幸的是,Secure Enclave不支持Ethereum支持的曲線(secp256k1),而是支持p256曲線。為了啟用原生P256驗證,我們(@getclave"">@getclave 團隊) 提出的RIP-7212而且現在幾乎所有的大型Rollup都支持它。

關於安全執行個體的最大優勢是,我們可以僅透過生物識別認證在安全執行個體內創建私鑰,這樣就可以在現代設備上獲得最佳安全性的一鍵入職體驗。但它也存在一些缺點:

  • 沒有 RIP-7212 的 P256 驗證是昂貴的,並且增加了錯誤風險。
  • 由於無法提取金鑰,因此此處缺少可恢復性功能(Passkeys 可啟用有限的可恢復性,但這並不足夠)
  • 如果金鑰或安全隔區 (SE) 應用程式的 Web 域停止工作,則使用者無法存取私鑰,因為安全隔區設計為隔離且獨立。如果沒有關聯的應用程式或 Web 域,則無法檢索私鑰或與私鑰交互,從而使用戶無法執行必要的加密操作。- 我將解釋如何解決這個問題。

3. 基於SSS的密鑰管理解決方案

SSS(Shamir的秘密共享)解決方案創建了一種消除傳統密鑰管理系統中單點故障的方式。它們基本上將密鑰分成不同的部分,並建立一個閾值來訪問密鑰。通過分發這些部分,SSS確保沒有任何單一實體持有整個密鑰,從而增強安全性。

讓我們檢查他們存儲密鑰的地方以及他們如何達成共識以訪問私鑰。大多數現有的協議使用三個密鑰份額:一個份額存儲在用戶設備上,一個保留在他們的服務器上(或在MPC網絡內),另一個則作為備份保留。某些應用程序,例如Google Drive,利用雲存儲解決方案來存儲這些密鑰份額。

因此,用户将其钱包控制委托给具有法定人数的其他方。多方计算(MPC)对将密钥管理责任委托给不同方具有很大的作用,但也存在一些缺点:

大多數MPC解決方案都需要一個中心化的單位,有時,他們所謂的去中心化並不是真正的去中心化。具有AA的MPC非常強大,因為可以進行密鑰輪換,但許多MPC解決方案包括一些門禁功能。此外,在許多情況下,即使旋轉後,之前的密鑰可能仍然被使用,因此需要相信密鑰實際上已被處置。一些MPC解決方案可能會審查用戶,因此僅依賴MPC並不總是可行的。

SSS的另一个重大缺点是它通常在浏览器中重建私钥。对于明文密钥在客户端可用,这是一个巨大的安全风险。而TSS从不重建密钥,并使用MPC将签名联合到密钥分享中。

4. 基於雲端的 TEE 解決方案

我认为基于云的可信执行环境(TEE)和基于SSS的解决方案并没有那么不同,但我仍然想解释一下它们的工作原理。可信执行环境的功能完全按照它们的编码进行;它们是不可变的(至少它们声称如此),并且TEE甚至不向TEE所有者显示内部内容。它们被设计为具有完整性,即使没有人监视,也能正确执行任务。因此,一旦TEE正常工作,密钥就不会暴露给客户端。

通過利用 TEE,我們可以構建關鍵管理層,開發人員可以使用不同的身份驗證方法,TEE 可以驗證它們。驗證後,TEE 會使用與用戶關聯的私鑰對消息進行簽名,並在鏈上進行驗證。

控制使用者資金的主要私鑰存儲在 TEE 內部,無法提取。如果服務決定關閉或審查使用者,這將威脅去中心化,因為 DApp 開發者無能為力。

基於雲的 TEE 在理論上看起來很有前途,但過去我們見過像這樣的漏洞sgx.fail在雲端TEE中。然而,TEE的優勢在於即使存在後門或漏洞,攻擊者也需要物理訪問TEE,這就是為什麼消費者硬體(Secure Enclave - Passkeys)如此強大,因為消費者硬體將密鑰存儲在用戶的Secure Enclave內,只有所有者能夠訪問該密鑰,而雲端TEE則將密鑰存儲在雲端內,這使其容易受到攻擊。

非您的安全飢餓,不是您的硬幣。

正如我所提到的,TEE具有一些优势,例如几乎可以使用所有认证方法而无需任何加密阻挡。然而,它们也有一些缺点:

如果服務提供商關閉服務器,用戶的資金將被凍結,無人能夠訪問。密鑰存儲在Cloud TEE內,這意味著他們可以對用戶進行審查。僅依賴TEEs進行密鑰管理會造成單點失效。

Session Keys:一種新的有限權限方式

我们已经谈过了永久密钥。如果我们能够生成一个有限访问资产并在用户决定的时间后消失的临时密钥呢?会话密钥允许我们这样做:

在Web2的世界中,会话密钥就像是两个设备之间(比如你的计算机和服务器)对话期间使用的临时密码。它们在对话开始时创建,用于保护共享信息的安全性,在对话结束后被丢弃。因此,即使黑客以某种方式找到了这个密码,他们也无法使用它来窃听未来的对话,因为每次都会创建一个新的、不同的密码(或会话密钥)。

就像在Web3世界中一样,我们将会话密钥定义为一个潜在改变用户与dApps互动方式的框架。会话密钥的目标是允许用户在各种情景下设置预批准并进行无需签名的交易。但是它是如何工作的呢?

用戶創建了一個有限的權限,就像一個會話密鑰,只能按用戶指定的方式花費資產,並且在任何時候都可以撤銷。之後,後端服務允許用戶代表他們簽署交易。這種設置在dApp和用戶之間創建了一個臨時的信任窗口。它比無限批准要好得多,因為用戶給出的批准只適用於特定資產和一定的時間。即使dApp被黑客攻擊,用戶也不需要擔心幾個月前創建的會話密鑰 🙂。

最佳身份驗證和密鑰管理組合,適用於不同的使用情境

我已經解釋了不同的金鑰管理系統及其優缺點。借助AA的力量,我們可以將這些金鑰管理系統結合起來,創建出具有最小折衷的強大結構。讓我們解釋一下C.1)Passkey +恢復與時間鎖定- Clave-一個存儲有價值資金的金融科技應用。

基於安全區域(passkeys)的身份驗證方法提供硬體級安全性;然而,對於大多數用戶來說,它們的可恢復性通常不足。幸運的是,AA允許開發人員將不同的簽名方法結合在一個帳戶中並使用它們。通過將恢復簽名者添加到智能帳戶中,我們可以解決passkeys所存在的可恢復性問題。

有幾種恢復選項,如社交恢復、通用恢復(ZK-電子郵件恢復)和基於MPC的恢復。然而,在我看來,對於一個旨在完全自保的金融科技應用程序來說,社交恢復解決了大部分問題。在Clave,我們建立了一個社交恢復模塊,並正在開發通用恢復。

這種方法最大限度地提高了安全性,這對金融應用程序來說非常重要。但它有一個重要的缺點:應用程序需要對用戶每筆交易進行生物識別身份驗證。想像一下,當您想在社交媒體應用程序中分享內容時,應用程序彈出一個生物識別登錄屏幕...糟透了吧?

非金融應用,如社交金融應用和去中心化遊戲,需要更簡單的方式進行交易,最好不需要用戶簽署每筆交易。如何做到?這裡有答案:

1. Passkey + recovery with timelock + session keys — 手機社交應用程式

會話密鑰使用者可以在沒有簽名屏幕的情況下進行交易。基於NFT的遊戲或社交應用程序可以繼承會話密鑰,以臨時且有限的方式訪問使用者的資產。如果您認為這增加了額外的信任假設,讓我們解釋一下今天的前端是如何工作的:

如今,大多數用戶在玩遊戲或與dApp互動時甚至不檢查他們簽署的內容。這是危險的,因為惡意的前端可能會導致用戶損失所有資產。

會話密鑰是一個更好的替代方案。用戶可以檢查會話的有效期以及會話可以訪問的資產,從而減少對 dApp 的信任需求。會話時間過期後,用戶不需要擔心批准事項 = 不再需要revoke.cash喜歡應用程式 :)

2. MPC或基於雲TEE的簽名者 + 自保管簽名者以逃脫

MPC或基於Cloud TEE的第三方金鑰管理層的缺點是大多數不是自保管型且有顯著的集中式組件。然而,某些dApp需要嵌入式錢包,而不需要額外的燃氣開銷,這就需要MPC或基於Cloud TEE的解決方案。為“憤怒退出”添加額外的簽名者可以解決這些金鑰管理系統存在的審查問題,並減輕這些dApp可能面臨的潛在法律問題。您需要一個智能錢包來構建此功能,因為使用EOA無法進行金鑰輪換。

已經有幾個應用程式使用這個金鑰管理架構。

3. 12個單詞+硬體簽名者,最大程度提升安全性 — DeFi 瀏覽器擴充功能體驗

DeFi用戶喜歡瀏覽器擴展體驗,改變用戶行為是現代世界中最困難的事情之一。那麼,為什麼不構建一個更好的替代方案呢?將硬件簽名器(Secure Enclave或Passkey Signer)與通過擴展訪問的12個單詞種子短語相結合,也可以解決私鑰洩露的問題。這種方法提高了安全性,而無需改變用戶行為。AA行業中的幾個團隊正在努力實現這一目標。@myBraavos)

智能账户不够智能

想像一下,您是一位首次生成了一個EOA的用戶 @MetaMask然後發現了一個替代方案,比如Zerion。你決定使用@zerion,而且您只需要導入您的種子短語——簡單。現在,想像一下在Starknet上嘗試做同樣的事情,那裡的所有錢包都是智能帳戶。您無法這樣做,因為Braavos和Argent不相容。這個問題也存在於EIP-4337生態系統中和 @zkSync的原生AA。

我們需要標準(而不是門戶)或至少有更好的方式來資助新錢包。否則,智能錢包將永遠無法被廣泛採用,現有的參與者將繼續成為決策者,即使他們並不正確,也在指導行業實踐。

此外,“rage quit”應該成為默認功能,因為幾乎所有關鍵管理系統中的中心角色都可以被關閉。使用者更改簽署者或切換智能合約,以及自行託管應該是使用者的默認選項。有兩種模塊化的智能帳戶標準:ERC-6900和ERC-7579。它們都致力於實現類似的目標-使智能帳戶更智能。

特別感謝Derek ,康拉德,和 Noam用於反饋和評論!

免責聲明:

  1. 本文轉載自 [X]. 所有版權屬於原作者 [2077研究]. 如果對此轉載有異議,請聯繫gate 學習團隊,他們會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅為作者個人觀點,並不構成投資建議。
  3. Gate Learn團隊將文章翻譯成其他語言。未經許可,嚴禁複製、分發或抄襲翻譯的文章。

關鍵抽象:超越流行詞語

中級12/16/2024, 4:10:44 AM
本文探討帳戶抽象(AA)的潛力,特別是通過可編程密鑰管理系統提升區塊鏈用戶體驗的能力。作者分析了傳統密鑰管理方法(如12字種子詞組)和新技術(如 Passkeys、MPC 和雲 TEE)的優缺點,提出了將 AA 功能整合到系統中以實現密鑰輪換、會話密鑰和多重恢復機制。

人人都在談論帳戶抽象(AA)及其潛力,能夠徹底改變區塊鏈領域的用戶體驗。但是,對於AA的主要誤解在於它不僅僅是抽象化瓦斯費用或啟用批量交易。它是如何實現的?透過可編程的金鑰管理系統。

這些系統可以為日常設備提供硬件級安全性,並將Web2身份驗證方法整合到Web3環境中,使我們能夠超越傳統的12字種子短語。今天,我將解釋開發人員可以利用的不同金鑰管理系統,以及它們最有用的具體用例。

超越12個單詞

我們的行業喜歡使用時髦詞彙,“無種子”是最新引起關注的詞彙之一。儘管我們都同意期望用戶安全地存儲他們的私鑰是不切實際的,並導致數百萬美元的損失,但問題仍然存在:如果我們不向用戶顯示種子短語,那麼我們應該在哪裡存儲這些密鑰?

在沒有帳戶抽象(AA)的情況下,大多數現有解決方案依賴多方計算(MPC)將密鑰分配到多個部分並創建交易閾值。這些解決方案通常聲稱是自保管的。但是,這並不完全準確。例如,幣安存儲一份密鑰,作為用戶遺失設備的保管人。這種設置意味著,儘管聲稱如此,用戶並不真正控制自己的密鑰,仍然依賴於中心實體進行密鑰恢復。

此外,如果任何密钥分享被泄露,就无法从主帐户撤销密钥。撤销是不可能的,因为外部拥有的帐户(EOA)不支持密钥轮换,这意味着泄露的密钥将永远成为帐户的一部分。这带来了重大的安全风险,因为受损的密钥无法被替换或移除,导致帐户永远处于易受攻击的状态。

如果您想要了解更多關於AA如何為可編程帳戶和密鑰輪換打開道路的信息,您可以查看我的文章.

1. 完全可編程的帳戶:帳戶抽象化

帳戶抽象化允許開發人員構建不同的金鑰管理系統。一個帳戶可以由多個金鑰和不同的驗證方法控制,並且都支持金鑰輪換。更好的是,金鑰的權限可以區分。這意味著用戶可以為同一個帳戶使用不同的金鑰,每個金鑰都針對不同的用例量身定制。我稍後會更詳細解釋這些用例。

使用AA,資金存儲在智能合約中,帳戶所有權由這些智能合約定義。與EIP-4337兼容的帳戶在其交易中有兩個部分。

  1. 第一部分是验证,账户所有权在链上得到验证。
  2. 第二部分是執行,用於執行該消息。

這兩個部分都是完全可編程的;例如,您可以定義兩個鍵(i,ii),第一個鍵(i)可以執行即時交易,而第二個鍵(ii)只能在時間鎖定後執行交易。這意味著我們可以定義密鑰的權限,添加時間鎖定或啟用其他條件來執行交易。

所以,當我們談論傳統帳戶(EOAs)驗證等同於授權。有了AA,授權是可編程的,因此開發人員可以定義基於角色的存取控制方案並執行最小特權原則。

在加密空間中有許多身份驗證方法(即密鑰管理系統),可以啟用基於角色的訪問控制方案,僅使用一個密鑰不能解決與密鑰管理相關的所有問題。密鑰管理系統最重要的方面是:密鑰存儲位置和誰進行身份驗證。

不同密鑰管理系統的優缺點

我將快速概述Passkeys(Consumer Secure Enclaves),基於MPC的解決方案,基於雲的TEE解決方案,保管解決方案,傳統的12個單詞和Session Keys。之後,將解釋最佳組合。

1. 傳統12個單詞 - (secp256k1) -

比特幣和以太坊支持secp256k1ECC(椭圆曲线加密)算法用于创建私钥并将其存储在用户设备上。这种方法在EOA中被广泛使用,也可以应用于智能帳戶. 使用它,錢包應用程式使用隨機金鑰生成演算法生成私密金鑰,然後將私密金鑰存儲在共享存儲中。

使用secp256k1有幾個優點:它不會產生額外的gas成本,價格低廉,並且可以通過ecrecover預編譯在鏈上輕松驗證。它也是自我保管的,因為只有用戶才能訪問密鑰。

然而,還有一些缺點:

  1. 教育用戶安全地存儲密鑰以防止設備丟失是具有挑戰性的。
  2. 特洛伊木馬或惡意軟件可能從用戶設備中竊取私鑰,因為它存儲在共享存儲中。

NIST不支持secp256k1曲線,這意味著它在流行的框架和大多數硬體上並不常見。

2. Passkeys(消費者安全區域)

幾乎所有現代設備都有兩個主要組件:操作系統(帶有相關共享存儲)和安全執行區。操作系統處理大多數操作,除了像保護生物識別數據、加密密鑰、加密和設備解鎖這樣的敏感任務。

開發人員創建了一個專用微芯片,稱為Secure Enclave,以單獨管理這些敏感操作。Secure Enclave的功能類似於硬件錢包;它獨立運作,安全地處理敏感數據,即使設備所有者也無法訪問其內容。幸運的是,Secure Enclave支持加密操作,如創建私鑰並使用其簽署消息。不幸的是,Secure Enclave不支持Ethereum支持的曲線(secp256k1),而是支持p256曲線。為了啟用原生P256驗證,我們(@getclave"">@getclave 團隊) 提出的RIP-7212而且現在幾乎所有的大型Rollup都支持它。

關於安全執行個體的最大優勢是,我們可以僅透過生物識別認證在安全執行個體內創建私鑰,這樣就可以在現代設備上獲得最佳安全性的一鍵入職體驗。但它也存在一些缺點:

  • 沒有 RIP-7212 的 P256 驗證是昂貴的,並且增加了錯誤風險。
  • 由於無法提取金鑰,因此此處缺少可恢復性功能(Passkeys 可啟用有限的可恢復性,但這並不足夠)
  • 如果金鑰或安全隔區 (SE) 應用程式的 Web 域停止工作,則使用者無法存取私鑰,因為安全隔區設計為隔離且獨立。如果沒有關聯的應用程式或 Web 域,則無法檢索私鑰或與私鑰交互,從而使用戶無法執行必要的加密操作。- 我將解釋如何解決這個問題。

3. 基於SSS的密鑰管理解決方案

SSS(Shamir的秘密共享)解決方案創建了一種消除傳統密鑰管理系統中單點故障的方式。它們基本上將密鑰分成不同的部分,並建立一個閾值來訪問密鑰。通過分發這些部分,SSS確保沒有任何單一實體持有整個密鑰,從而增強安全性。

讓我們檢查他們存儲密鑰的地方以及他們如何達成共識以訪問私鑰。大多數現有的協議使用三個密鑰份額:一個份額存儲在用戶設備上,一個保留在他們的服務器上(或在MPC網絡內),另一個則作為備份保留。某些應用程序,例如Google Drive,利用雲存儲解決方案來存儲這些密鑰份額。

因此,用户将其钱包控制委托给具有法定人数的其他方。多方计算(MPC)对将密钥管理责任委托给不同方具有很大的作用,但也存在一些缺点:

大多數MPC解決方案都需要一個中心化的單位,有時,他們所謂的去中心化並不是真正的去中心化。具有AA的MPC非常強大,因為可以進行密鑰輪換,但許多MPC解決方案包括一些門禁功能。此外,在許多情況下,即使旋轉後,之前的密鑰可能仍然被使用,因此需要相信密鑰實際上已被處置。一些MPC解決方案可能會審查用戶,因此僅依賴MPC並不總是可行的。

SSS的另一个重大缺点是它通常在浏览器中重建私钥。对于明文密钥在客户端可用,这是一个巨大的安全风险。而TSS从不重建密钥,并使用MPC将签名联合到密钥分享中。

4. 基於雲端的 TEE 解決方案

我认为基于云的可信执行环境(TEE)和基于SSS的解决方案并没有那么不同,但我仍然想解释一下它们的工作原理。可信执行环境的功能完全按照它们的编码进行;它们是不可变的(至少它们声称如此),并且TEE甚至不向TEE所有者显示内部内容。它们被设计为具有完整性,即使没有人监视,也能正确执行任务。因此,一旦TEE正常工作,密钥就不会暴露给客户端。

通過利用 TEE,我們可以構建關鍵管理層,開發人員可以使用不同的身份驗證方法,TEE 可以驗證它們。驗證後,TEE 會使用與用戶關聯的私鑰對消息進行簽名,並在鏈上進行驗證。

控制使用者資金的主要私鑰存儲在 TEE 內部,無法提取。如果服務決定關閉或審查使用者,這將威脅去中心化,因為 DApp 開發者無能為力。

基於雲的 TEE 在理論上看起來很有前途,但過去我們見過像這樣的漏洞sgx.fail在雲端TEE中。然而,TEE的優勢在於即使存在後門或漏洞,攻擊者也需要物理訪問TEE,這就是為什麼消費者硬體(Secure Enclave - Passkeys)如此強大,因為消費者硬體將密鑰存儲在用戶的Secure Enclave內,只有所有者能夠訪問該密鑰,而雲端TEE則將密鑰存儲在雲端內,這使其容易受到攻擊。

非您的安全飢餓,不是您的硬幣。

正如我所提到的,TEE具有一些优势,例如几乎可以使用所有认证方法而无需任何加密阻挡。然而,它们也有一些缺点:

如果服務提供商關閉服務器,用戶的資金將被凍結,無人能夠訪問。密鑰存儲在Cloud TEE內,這意味著他們可以對用戶進行審查。僅依賴TEEs進行密鑰管理會造成單點失效。

Session Keys:一種新的有限權限方式

我们已经谈过了永久密钥。如果我们能够生成一个有限访问资产并在用户决定的时间后消失的临时密钥呢?会话密钥允许我们这样做:

在Web2的世界中,会话密钥就像是两个设备之间(比如你的计算机和服务器)对话期间使用的临时密码。它们在对话开始时创建,用于保护共享信息的安全性,在对话结束后被丢弃。因此,即使黑客以某种方式找到了这个密码,他们也无法使用它来窃听未来的对话,因为每次都会创建一个新的、不同的密码(或会话密钥)。

就像在Web3世界中一样,我们将会话密钥定义为一个潜在改变用户与dApps互动方式的框架。会话密钥的目标是允许用户在各种情景下设置预批准并进行无需签名的交易。但是它是如何工作的呢?

用戶創建了一個有限的權限,就像一個會話密鑰,只能按用戶指定的方式花費資產,並且在任何時候都可以撤銷。之後,後端服務允許用戶代表他們簽署交易。這種設置在dApp和用戶之間創建了一個臨時的信任窗口。它比無限批准要好得多,因為用戶給出的批准只適用於特定資產和一定的時間。即使dApp被黑客攻擊,用戶也不需要擔心幾個月前創建的會話密鑰 🙂。

最佳身份驗證和密鑰管理組合,適用於不同的使用情境

我已經解釋了不同的金鑰管理系統及其優缺點。借助AA的力量,我們可以將這些金鑰管理系統結合起來,創建出具有最小折衷的強大結構。讓我們解釋一下C.1)Passkey +恢復與時間鎖定- Clave-一個存儲有價值資金的金融科技應用。

基於安全區域(passkeys)的身份驗證方法提供硬體級安全性;然而,對於大多數用戶來說,它們的可恢復性通常不足。幸運的是,AA允許開發人員將不同的簽名方法結合在一個帳戶中並使用它們。通過將恢復簽名者添加到智能帳戶中,我們可以解決passkeys所存在的可恢復性問題。

有幾種恢復選項,如社交恢復、通用恢復(ZK-電子郵件恢復)和基於MPC的恢復。然而,在我看來,對於一個旨在完全自保的金融科技應用程序來說,社交恢復解決了大部分問題。在Clave,我們建立了一個社交恢復模塊,並正在開發通用恢復。

這種方法最大限度地提高了安全性,這對金融應用程序來說非常重要。但它有一個重要的缺點:應用程序需要對用戶每筆交易進行生物識別身份驗證。想像一下,當您想在社交媒體應用程序中分享內容時,應用程序彈出一個生物識別登錄屏幕...糟透了吧?

非金融應用,如社交金融應用和去中心化遊戲,需要更簡單的方式進行交易,最好不需要用戶簽署每筆交易。如何做到?這裡有答案:

1. Passkey + recovery with timelock + session keys — 手機社交應用程式

會話密鑰使用者可以在沒有簽名屏幕的情況下進行交易。基於NFT的遊戲或社交應用程序可以繼承會話密鑰,以臨時且有限的方式訪問使用者的資產。如果您認為這增加了額外的信任假設,讓我們解釋一下今天的前端是如何工作的:

如今,大多數用戶在玩遊戲或與dApp互動時甚至不檢查他們簽署的內容。這是危險的,因為惡意的前端可能會導致用戶損失所有資產。

會話密鑰是一個更好的替代方案。用戶可以檢查會話的有效期以及會話可以訪問的資產,從而減少對 dApp 的信任需求。會話時間過期後,用戶不需要擔心批准事項 = 不再需要revoke.cash喜歡應用程式 :)

2. MPC或基於雲TEE的簽名者 + 自保管簽名者以逃脫

MPC或基於Cloud TEE的第三方金鑰管理層的缺點是大多數不是自保管型且有顯著的集中式組件。然而,某些dApp需要嵌入式錢包,而不需要額外的燃氣開銷,這就需要MPC或基於Cloud TEE的解決方案。為“憤怒退出”添加額外的簽名者可以解決這些金鑰管理系統存在的審查問題,並減輕這些dApp可能面臨的潛在法律問題。您需要一個智能錢包來構建此功能,因為使用EOA無法進行金鑰輪換。

已經有幾個應用程式使用這個金鑰管理架構。

3. 12個單詞+硬體簽名者,最大程度提升安全性 — DeFi 瀏覽器擴充功能體驗

DeFi用戶喜歡瀏覽器擴展體驗,改變用戶行為是現代世界中最困難的事情之一。那麼,為什麼不構建一個更好的替代方案呢?將硬件簽名器(Secure Enclave或Passkey Signer)與通過擴展訪問的12個單詞種子短語相結合,也可以解決私鑰洩露的問題。這種方法提高了安全性,而無需改變用戶行為。AA行業中的幾個團隊正在努力實現這一目標。@myBraavos)

智能账户不够智能

想像一下,您是一位首次生成了一個EOA的用戶 @MetaMask然後發現了一個替代方案,比如Zerion。你決定使用@zerion,而且您只需要導入您的種子短語——簡單。現在,想像一下在Starknet上嘗試做同樣的事情,那裡的所有錢包都是智能帳戶。您無法這樣做,因為Braavos和Argent不相容。這個問題也存在於EIP-4337生態系統中和 @zkSync的原生AA。

我們需要標準(而不是門戶)或至少有更好的方式來資助新錢包。否則,智能錢包將永遠無法被廣泛採用,現有的參與者將繼續成為決策者,即使他們並不正確,也在指導行業實踐。

此外,“rage quit”應該成為默認功能,因為幾乎所有關鍵管理系統中的中心角色都可以被關閉。使用者更改簽署者或切換智能合約,以及自行託管應該是使用者的默認選項。有兩種模塊化的智能帳戶標準:ERC-6900和ERC-7579。它們都致力於實現類似的目標-使智能帳戶更智能。

特別感謝Derek ,康拉德,和 Noam用於反饋和評論!

免責聲明:

  1. 本文轉載自 [X]. 所有版權屬於原作者 [2077研究]. 如果對此轉載有異議,請聯繫gate 學習團隊,他們會及時處理。
  2. 免責聲明:本文所表達的觀點和意見僅為作者個人觀點,並不構成投資建議。
  3. Gate Learn團隊將文章翻譯成其他語言。未經許可,嚴禁複製、分發或抄襲翻譯的文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!