BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

探討帳戶架構:為什麼三金鑰系統是理想的解決方案?

深潮TechFlow
特邀专栏作者
本文約1845字,閱讀全文需要約3分鐘
在入門過程中要求用戶安裝錢包軟件並保存助記詞是不可取的,我們需要一個友好、相對安全、並且有一定前瞻性的方法。
AI總結
在入門過程中要求用戶安裝錢包軟件並保存助記詞是不可取的,我們需要一個友好、相對安全、並且有一定前瞻性的方法。

原文作者:Norswap

原文編譯:深潮TechFlow

我為0x Fable 思考了很多關於錢包和用戶入門的問題。以下我的一些觀點。我們將討論:

  • 我理想的帳戶架構;

  • 安全考慮;

  • 現有Web3 登入提供者的概況,

顯然,在入門過程中要求用戶安裝錢包軟件並保存助記詞是不可取的。我們需要一個友善、相對安全、且有前瞻性的方法。

架構

每個用戶都會獲得自己的智慧帳戶,其中包含三個密鑰:

  • 設備密鑰-最初可以儲存在本地,但希望未來能使用通行密鑰/webauthn。

  • 補充密鑰,例如由提供者控制並透過社交登錄解鎖的密鑰。

  • 備份密鑰,例如由第三方保管(可以簡單地作為電子郵件附件或存放在Dropbox / Google Drive 上)。

如果這聽起來技術含量不高或不安全,恐怕你已經被提供者甜言蜜語所迷惑,因為它們實際上並沒有比這更安全(很多時候甚至更少——例如,密鑰(2)和(3 )都由同一方控制)。

在這個設定中,你可以使用設備密鑰進行操作,不需要使用者互動。對於涉及資產的轉帳和交易,你可以要求使用補充密鑰。

簡單的模式是讓用戶用Google/Apple/Facebook 等登錄,然後加入確認提示。這使得入門變得簡單。但是,如果使用者需要更多的安全性,就可以用傳統的EOA 來取代這把金鑰。此外,任何一對密鑰都可以用來取代備份密鑰,備份密鑰只需是託管在雲端的檔案。

安全分析

這有多安全?大部分情況下,他是安全的。兩個設備或實體必須在同一時間被破壞才會發生資金損失。

主要的是,有一些配置風險可能會降低安全性。例如,在Google Drive 上託管備份密鑰,同時將補充密鑰分配給你的Google 帳戶。或使用一個熱錢包作為補充密鑰,這與設備密鑰有著相同的風險。用戶可能會弄丟他的備份。最好定期提示使用者輪換設備密鑰,迫使他找到備份密鑰。

如果備份密鑰是公開儲存的,它也非常容易被盜。這比熱錢包還要糟糕,後者在磁盤上加密密鑰(並且需要密碼在內存中解密)。無論如何,通行密鑰的增加(允許你使用裝置認證登錄應用程式)將解決這個問題。

要明白,社群登入意味著信任一個提供者。提供者基本上有一個他可以隨心所欲使用的密鑰,但他向你承諾,只有在你使用社交帳戶登錄後,他才會按照你的要求使用它。最後,請注意,當補充密鑰是由dapp 創作者提供的,或者沒有確認提示時,那麼dapp 創建者就很容易欺騙用戶(因為他們編寫了擁有設備密鑰的前端,並且擁有或可以控制補充密鑰)。

現有提供者概況

今天有誰提供這個?據我所知,沒有。問題通常是,要么沒有備份密鑰,要么它是由相同的實體保管的(例如Coinbase 錢包)。

市場主要分為兩類:

  • 提供整合多密鑰解決方案的供應商,要么使用智慧帳戶,要么使用MPC(多方計算,一種密碼學技術)將多個密鑰組合成單一EOA。

  • 更低等級的提供者,為你保管用戶密鑰,並允許他們在登錄後簽署。

這裡有許多全端供應商:Particle Network、Privy、Alembic Tech、Magic、Web3 Auth、Turnkey、Dynamic、0x Pass、Fireblocks、Portal、Capsule、ZeroDev、Keyp、Circle Developers。

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

是的,有很多這樣的東西。他們之間基本上沒有什麼區別。當商業模式透明時,這些通常每年每位使用者收費0.02 到0.05 美元。對我來說,這似乎是相當合理的。

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

當然,要與現有的dapps 合作,你需要安裝錢包軟件。所以,系統的優勢減少到去除助記詞。但你也可以讓dapps 推廣你作為最容易入門的方式(如果他們整合了你,甚至無需安裝錢包軟件)。你獲得用戶,dapp 可以免費輕鬆入門。雙贏。

對提供者的擔憂

除了不實現我理想的架構,這些解決方案往往還引入了大的中心化因素,例如REST API,或者一些MPC 計算,如果它們停業,您將無法自己進行這些計算(甚至公開發布嗎?已審核? ) .

目前還不清楚如果您停止與提供者的合作會發生什麼。他們擁有(部分)你的用戶的密鑰!這與我對Rollups-as-a-service 的擔憂非常相似。

在這之後,一位RaaS 創始人告訴我,允許輕鬆退出和避免創始人欺騙他們的用戶(這將對RaaS 產生不良影響)之間存在權衡。

以下是如何使用上述架構輕鬆切換提供者:使用者在鏈上提交他們社交帳戶的哈希(例如gavin@hooli.xyz)。每個社群登入提供者都有自己的私鑰(沒有必要為每個使用者擁有一個密鑰,而且通常也不更安全)。智慧帳戶引用一個單例合約,該合約保存目前提供者的帳戶。切換提供者就像更改這個帳戶一樣簡單。

最後的思考

我們顯然正在朝著理想的Onboarding 目標邁進。理想的情況是,這些易於入門的錢包與用戶直接建立關係。然後,dapps 可以完全忽略這個問題,只需與錢包簽訂合作夥伴關係, 確定預設的登錄錢包是誰。

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

錢包
安全
歡迎加入Odaily官方社群