為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

原標題:《為什麼“使用以太登錄”會成為遊戲規則的改變者?》

使用以太坊登錄(Sign-In with Ethereum)是互聯網上用戶選擇的遊戲規則改變者。

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

用戶現在可以使用控制其區塊鏈帳戶的相同密鑰登錄,而不是提交“大登錄”,並且無需中間人。 這種方法有希望但不能保證重新平衡有利於用戶的功率動態。 通過使用以太坊登錄,我們開闢了一條道路,讓大公司不再能夠剝奪用戶訪問服務的能力,也不能監視他們的行為。

使用以太坊登錄是一種完全公開開發的身份驗證開放標準,通過與 dapp、應用程序、錢包、安全公司等社區成員的公開討論獲得信息。 您可以在 login.xyz 上找到所有會議記錄和筆記。 這種方法與科技巨頭或政府供應商中發現的專有身份系統的封閉式開發相去甚遠,這種封閉式開發受到了隱私和數字權利倡導者的正當抗議。

相比之下,使用以太坊登錄 (EIP-4361) 為以太坊帳戶定義了一種開放的知識共享 (CC) 簽名格式,以安全地使用任何基於 Web 的服務進行身份驗證。 它是由社區在以太坊基金會和 ENS 的直接支持下建立的,去年年底 Spruce 被任命為領導者。 我很高興與以太坊討論登錄的重要性,以及它對於 Web3 中的所有構建者來說不僅僅是“連接錢包”。

連接錢包vs登錄

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

“連接錢包(Connect Wallet)”按鈕是當今 dapps 的主要接入方式。點擊按鈕開始進入 Web3 和區塊鏈交互的旅程。

但是,連接錢包可以讓您告訴應用程序您知曉正在使用哪個帳戶,並且保證到此為止。您的錢包更需要了解您想使用哪個帳戶與智能合約交互、發送加密貨幣,甚至通過 dapp 簽署消息。連接錢包是非常基礎的——dapp 不會記住任何關於你的信息,並且正在為簡單的交互建立一個前台。

當應用程序想要與用戶進行更豐富的上下文交互時,例如加載他們的偏好或私人聊天消息,我們需要首先確保我們正在與帳戶背後的實際密鑰持有者交談,而不是假裝控制帳戶的人。 “連接錢包”不提供此保證,但使用以太坊登錄 (SIWE) 提供。換句話說,我們需要對用戶進行身份驗證以與他們建立會話以安全地讀取和寫入他們的數據。對於這個例子,我想介紹一下 Connected Carl 和 Session Sam:

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

Connected Carl 使用 dapps 並且玩得很開心。他可以在 Uniswap 上進行交易,在 Aave 上借貸,甚至在 OpenSea 上購買 NFT,只需連接他的錢包。有一段時間,Carl 的事情進展順利,直到有一天,他遇到了一個問題:他希望這些 dapp 能記住一些關於他的事情,以便在他第三次、第四次和第五次使用它們時給他更好的體驗.

Carl 正在考慮如果 Uniswap 自動導入他的清算偏好,Aave 記住他最喜歡的借貸市場,甚至 OpenSea 記住他的名字而不是 0x2Fe1a3… 帳戶,他的體驗會好多少。每次連接錢包時,Carl都必須從第一格重新開始。

Session Sam 沒有這個問題。在使用 dapps 進行身份驗證並建立會話后,此信息將被保存。即使 Sam 斷開連接並再次進行身份驗證,Sam 仍會從他離開的地方繼續,並且仍然會在應用程序中記住關於他的所有內容。他的信息甚至可以保存在他控制的遠程數據保險庫中。

統一使用以太坊登錄

在 Web3 中,您會發現許多現有服務提供某種形式的“使用以太坊登錄”,但沒有多少符合標準。 他們通常會使用它與可以管理有關帳戶的特權元數據的用戶建立基於 cookie 的會話。 例如,如果您想讓用戶能夠在您的網站上自定義他們自己的配置文件(例如 OpenSea),您應該在用戶進行任何更改之前對用戶進行身份驗證,確保只有用戶可以編輯他們自己的配置文件。 其工作流程如下所示:

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

連接錢包后的第一步是為用戶提供人類可讀的信息,以便他們了解自己正在進入什麼狀態。 有很多情況下,用戶會看到“登錄(LOGIN)”,一些關於“登錄”的不一致的措辭,甚至有時只是一個任意數字(“在這裡,簽署這組隨機的瘋狂字母和數字”)。 相反,我們可以根據現有的實踐、一些良好的安全措施以及在人類可讀性和安全性之間取得平衡的嚴格語法來定義一組必填字段。 此外,錢包不必改變其現有的界面和做法,至少可以繼續為用戶提供這種信息。

我們可以首先獲取所有這些混亂的“使用以太坊登錄”消息,並採用一種公認的通用方式向用戶展示請求:

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

通用消息——通用接口

通過商定的簽名消息格式,應用程序和錢包現在可以使用相同的語言。 當應用程序向用戶提出簽名請求時,錢包可以檢查該請求,檢查它是否適合作為 EIP-4361 消息,並讓用戶知道他們正在登錄網站。

在這一點上,錢包可以呈現一個友好的風格化界面,讓用戶感覺良好,並消除對用戶將要採取的行動的任何疑慮,而不是向用戶呈現任意文本塊以進行簽名。 用戶現在只需點擊確認對話框即可“登錄”,因為錢包理解簽名請求。 為了完全透明,規範聲明整個消息和字段仍必須在其他子界面(例如詳細視圖)中可用。

從 EIP-4361 消息中,我們現在得到了一個更簡潔的界面:

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

該規範還為錢包引入了額外的安全要求,例如防止網絡釣魚攻擊的域綁定和防止重放攻擊的隨機數,在整個體驗過程中進一步保護用戶。 例如,如果錢包找到有效的 SIWE 消息,但用戶正在為 example.com 簽名,但實際上是在 exampie.com 上,則錢包可以警告用戶以下情況:

為什麼“使用以太坊登錄”會改變遊戲規則?它對Web3的構建者來說,意味着什麼?

超越身份驗證

使用以太坊消息登錄也可以解釋為對訪問特定資源的授權,或對會話密鑰的委託,以增加功能和圍繞 dapp UX 的易用性。 例如,想象一個世界,用戶可以使用他們保留的數據來豐富他們的會話,而不是應用程序保存用戶的數據? 有關更多信息,我們強烈建議您查看以下內容:https://blog.spruceid.com/from-sign-in-with-ethereum-to-session-keys/

本文鏈接:https://www.8btc.com/article/6732632

轉載請註明文章出處

(0)
上一篇 2022-03-02 09:57
下一篇 2022-03-02 10:10

相关推荐