錢包與用戶入門:三密鑰系統足夠安全嗎?

2023-10-26 12:09 金色精選


作者:Norswap,來源:作者推特@norswap;編譯:松雪,金色財經

我爲 0xFable 思考了一些關於錢包和用戶入門的問題。以下一些熱點話題。我們將討論:

- 我理想的账戶架構

- 安全考慮

- 現有 web3 登錄提供商的概況

顯然,在用戶入門過程中,讓用戶安裝錢包軟件並保護助記詞是行不通的。 我們需要一些友好的、相當安全的、並且相當面向未來的東西。

架構

每個用戶都有自己的智能账戶,有三個密鑰:

1. 設備密鑰 , 最初是本地存儲,但希望以後是密鑰/網絡身份驗證。

2. 補充密鑰,例如由提供商控制並通過社交登錄解鎖的密鑰。

3. 備份密鑰,例如由第三方保管(可以像電子郵件附件或 Dropbox / Google Drive 一樣簡單)。

如果這聽起來技術含量低或不安全,恐怕您已經被提供商的謊言迷惑了,因爲它們實際上並沒有比這更安全(而且往往不如這種方法安全,例如,(2) 和 (3) 都由同一方控制)。 稍後將詳細介紹。

在此設置中,您可以使用設備密鑰進行遊戲操作,無需用戶交互。 對於資產轉账和交易,您可能需要補充密鑰。

簡單模式是讓用戶使用Google/Apple/Facebook/…登錄,然後添加確認提示。 這使得入門變得容易。 但如果用戶需要更高的安全性,則可以用傳統的 EOA 替換該密鑰(盡管這可能應該位於另一台設備或硬件錢包上)。

任何一對密鑰都可以用來代替第三把鑰匙。

因此,備份密鑰是指在其他密鑰之一丟失(特別是設備密鑰)或提供商不可用或受到威脅的情況下。 將備份密鑰簡單地作爲托管在雲上的文件使此入門變得簡單且無成本。 如果需要,該密鑰也可以由硬件錢包或優質提供商替換。

安全分析

這有多安全?大體上來說,是相對安全的!要同時侵入兩個設備或實體才能導致資金丟失,但系統是十分強大的。

大多數情況下,存在會降低安全性的配置風險。 例如,將備份密鑰托管在您的 Google 雲端硬盤上,同時將補充密鑰分配給您的 Google 账戶。 或者使用熱錢包作爲補充密鑰,與設備密鑰具有相同的風險。

用戶可能會丟失備份。 定期提示他輪換設備密鑰可能是個好主意,這會迫使他找到備用密鑰。

如果備份密鑰被簡單地存儲,它也很容易被盜。 這比熱錢包更糟糕,熱錢包在磁盤上加密密鑰(並且需要密碼才能在內存中解密)。 所以定期更換密鑰似乎是個好主意。 無論如何,增加的密鑰可用性(允許您使用設備身份驗證登錄應用程序)將解決此問題。

了解社交登錄意味着對提供商的信任。 提供商本質上有一個密鑰,他可以隨心所欲地使用,但他向您保證,在您使用社交账戶登錄後,他只會根據您的需要使用。 不要被看似奇特的密碼學主張所愚弄——這也是它的結論。

最後,請注意,只要免費密鑰是 dapp 創建者提供的登錄名,或者沒有確認提示,那么 dapp 創建者就很容易欺騙用戶(因爲他們編寫了擁有設備密鑰的前端,以及擁有或可以控制免費密鑰)。

供應商情況

到目前爲止,據我所知,沒有提供這種功能的人。通常問題在於要么沒有備份密鑰,要么由同一實體(例如Coinbase錢包)提供安全保障。

市場主要分爲:

  1. 提供綜合多密鑰解決方案的供應商,可以使用智能合約或使用多方計算(MPC,一種密碼學技術)將多個密鑰合並爲單個EOA。

  2. 低層級供應商會代管用戶的密鑰,並允許他們在登錄後對事務進行籤名。

全棧供應商,例如:Particle Network、Privy、Alembic Tech、Magic、Web3Auth、Turnkey、Dynamic、0xPass、Fireblocks、Portal、Capsule、ZeroDev、Keyp、Circle Developers。

密鑰保管商,例如:Lit Protocol 、Amazon 。

是的,有很多。 他們都沒有區別,這也有點滑稽。

無論何時,只要商業模式是透明的,這些服務通常會向您收取每用戶每年0.02到0.05美元。這對我來說似乎相當合理。

有趣的是,所有這些工具都被定位爲开發工具。似乎沒有一家公司試圖將這些技術應用於成爲用戶的主要錢包。

當然,要與現有的 dapp 一起使用,你需要安裝錢包軟件。所以這個系統的好處被減少到了去掉助記詞。但你也可以讓 dapp 推廣你最容易入門的方式(如果它們集成你甚至無需安裝錢包軟件)。你獲得了用戶,dapp 獲得了零成本的輕松入門。雙贏。

對供應商的擔憂

除了沒有實現我的理想架構之外,這些解決方案通常會引入大型集中化向量,例如 REST API,或一些 MPC 計算,如果它們宕機,您將無法自己進行這些計算(是否公开發布?經過審計?)。

目前還不清楚如果您想與提供商終止合作會發生什么。 他們擁有(一些)您用戶的密鑰! 這與我對 Rollups 即服務表達的擔憂非常相似:https://twitter.com/norswap/status/1714386634299314563

在這條推文之後,一位 RaaS 創始人告訴我,在允許輕松退出和避免創始人欺騙用戶(這會對 RaaS 造成不良影響)之間需要進行權衡。 這也適用於這裏!

以下是如何使用上述架構輕松切換提供商:用戶在鏈上提交其社交帳戶(例如 gavin@hooli.xyz)的哈希值。 每個社交登錄提供商都有自己的私鑰(每個用戶不需要有一個密鑰,而且通常也不會更安全)。 智能账戶是指保存當前提供者账戶的單例合約。 切換提供商就像更改此账戶一樣簡單。

最後,我鼓勵您閱讀這條推文:https://twitter.com/gregthegreek/status/1716390418156281993

他的一個要點是,爲每個應用程序發行一個账戶將是一場用戶體驗噩夢。 我同意,這是這些提供商應該真正考慮成爲可以跨應用程序運行的成熟錢包的另一個原因。

最後的思考

我們顯然正在向理想的入門目標邁進。 理想的情況是這些易於使用的錢包與用戶直接建立關系。 然後,dapp 可以完全忽略這個問題,只需與錢包建立合作夥伴關系,確定默認的登錄錢包是誰。

如果做不到這一點,我的解決方案必須是推出我自己的系統 - 將您自己的社交登錄提供程序插入到上面的架構中並不難。 然而,我“寧愿”使用外部提供商。 如上所述,如果 dapp 創建者控制免費密鑰,那么系統就不是完全去中心化的。

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

標題:錢包與用戶入門:三密鑰系統足夠安全嗎?

地址:https://www.sgitmedia.com/article/13875.html

相關閱讀: