以太坊單點登入:是什麼?為什麼?如何實現?

買賣虛擬貨幣

撰文:Brantly MilleganENS 運營總監

編輯:南風

以太坊社羣偶然發現了一個解決網際網路長期存在的問題的方案:單點登入。

我們知道,Web2 服務要求使用者在每個新服務平臺建立一個新的使用者名稱和密碼組合,但 Web3 則相反:使用者可以擁有自己的使用者名稱、個人資料資料和安全的身份驗證方法,並在多個服務中使用同一個帳戶。

我稱之為使用以太坊進行登入 (Sign-in with Ethereum)。

01. Web2 存在的問題

網際網路沒有內建的使用者認證和身份識別模式。IP 地址識別的是裝置,而不是人;DNS (域名系統) 從來就不是用於對人進行命名,而僅是用於對服務進行命名。

但這些網際網路服務需要知道你是誰。所以它們建立了「使用者名稱+密碼」的正規化。這種方式執行得很好,尤其是對精通技術的人來說,但也存在我們都知道的問題:人們重複使用弱密碼,並且會出現註冊疲勞,更不用說駭客攻擊和資料轉儲的問題了。(編者注:資料轉儲是指定期將資料複製到另一儲存裝置上儲存起來的過程。當資料庫遭到破壞後可以將後備副本重新裝入,將資料庫恢復到轉儲時的狀態。)

此外,你的每個賬戶之間都是孤立。

在過去的十年中,一種解決方案是「Social Sign-On」(使用第三方賬戶登入)。你可能已經有了谷歌、Facebook、Twitter 等賬戶,所以為什麼不使用其中一個賬戶來登入呢?這似乎是一個雙贏的局面:使用者不需要建立一個新帳戶,服務平臺也不需要為其使用者管理使用者名稱和密碼系統。

雖然這是一種改進,但 Social Sign-On 的方式仍然有一些明顯的缺陷。這種方式不可能是中立的,因為它依賴於這些私營公司,使得這些公司成為系統的故障點,而且我們也不希望某個私營公司勝出並完全成為整個網際網路的登入選項。

我們需要的是一箇中立的、去中心化的、安全的、由使用者控制的使用者名稱和身份認證協議,所有服務都可以使用。

02. 引入以太坊

要擁有一個去中心化的單點登入系統,你需要三樣東西:1) 一個被廣泛採用的、供使用者生成私鑰的標準;2) 使人們更容易管理這些私鑰的工具;3) 一個去中心化的命名和個人資料儲存系統。

1) 每個人都擁有一個私鑰

比特幣在解決第一個和第二個問題方面發揮了作用。比特幣使用公鑰/私鑰對讓使用者控制自己的比特幣。以太坊也使用相同的方式來讓使用者管理自己的賬戶。

加密貨幣的價值,加上以太坊生態系統的實用性,首次充分激勵了兩件事情是實現:1) 使大量使用者都能夠獲得一個私鑰;2) 發展出一個幫助人們管理私鑰 (我們稱之為“錢包”) 的行業。

雖然還有很多改進的空間,但就在過去幾年裡,加密行業在私鑰管理創新方面出現了爆炸式增長:想想硬體錢包、MetaMask、WalletConnect、社交恢復錢包等等。

換句話說,強調隱私保護和自由的密碼朋克意識形態在過去幾十年裡沒能說服人們做到的事情,加密貨幣激勵在短短几年裡就做到了。一旦你擁有了一個用於儲存加密貨幣和使用以太坊 dApps 的私鑰,你就可以使用這個私鑰來做其他事情,包括對訊息進行簽名以進行身份驗證。

2) 解決「Zooko 三角」

金鑰對可以由軟體自動生成,但如果想要一個人類可讀的使用者名稱,難道我們不需要一個可信的第三方來在某個地方儲存這些使用者名稱並對這個名稱空間 (namespace) 進行管理嗎?

這就是 Zooko 三角 (即 Zooko's triangle,以 Zcash CEO,Zooko Wilcox 的名字命名),它是指網路中命名系統的三個理想性質的三難困境,也即命名系統不可能同時是去中心化的、安全的和人類可讀的。

但區塊鏈解決了這個三難困境。2011 年推出的區塊鏈系統 Namecoin,首次嘗試了使用區塊鏈技術進行去中心化命名,但從未得到廣泛採用。但 2017 年作為以太坊區塊鏈上的一個 dApp 而推出的 ENS (以太坊域名服務) 已經成功地作為 Web3 的標準得到了廣泛採用:

使用者可以在 ENS 上註冊一個以 .eth 為字尾的域名,而無需接觸到任何中心化服務,然後使用自己的以太坊賬戶來託管該域名。

你可以使用你的 ENS 域名來作為你的行動式 Web3 使用者名稱、儲存個人資料資料 (比如頭像),或者使用它來簡化加密貨幣支付,甚至建立一個去中心化的網站。

這並非只是一個概念,當前這已經是 Web3 中的慣例了。想要使用一個 dApp?你只需連線你的錢包,該 dApp 將使用你的 ENS 域名來作為你的使用者名稱。

需要注意的是,雖然一些 dApps 只會讓你連線你的錢包,但其他一些 dApps 也會要求你對一條訊息進行簽名。在前一類 dApps 中,你只是將你的錢包連線至一個在你的瀏覽器本地執行的 web 應用程式;而在後一類 dApps 中,你實際上是正在向該 dApp 的伺服器進行身份驗證。

比如 UniswapShowtimeAavegotchi、Cryptovoxels、OpenSea、SnapShot、Etherscan等 dApp 應用。

03. 反對的聲音

1)這種方式早已在其他地方存在了

我在Twitter上得到的最常見的迴應是“這個小小的區塊鏈社羣居然已經有了這個功能”或者“這個沒人用的網際網路標準早在幾年前就已經嘗試過了”。

當然,Single Sign-On (使用第三方賬戶登入) 並不是什麼新鮮的想法,且的確這方面已經有很多的嘗試了。

但需要理解的關鍵是,使用以太坊登入已經自然地發展到實際的使用中,它並不是一個沒人想使用的解決方案,它已經在 Web3 中使用了。

2) 但這是另一個標準

我不認為傳統的「使用者名稱+密碼」的系統或「Social Sign-On」會很快消失。但使用以太坊登入已經是不斷增長的 Web3 生態系統的標準和常態,大量 Web3 使用者的需求將推動 Web2 服務在現有的登入選項的基礎上增加這一選項。如果使用者想在任何地方使用他們的以太坊賬戶和 ENS 使用者名稱和個人資料,他們可能會實現。

與現有的登入選項不同的是,使用以太坊登入是可信中立和由使用者控制的。

3) 普通使用者無法管理自己的私鑰

擔心使用者丟失了他們的線上賬戶?

如果這會導致他們無法訪問自己的加密貨幣資產呢!

加密貨幣行業已經有了更大的動力來解決這些問題。因此,圍繞著讓普通使用者更容易管理他們的私鑰 (也即“錢包”),已經形成了一個規模龐大、競爭激烈的行業。

事實是,我們可以使用相同的私鑰來進行身份驗證,這是其一個令人愉悅的附加好處。

4) 那麼隱私保護如何?

當涉及到區塊鏈時,隱私保護確實是一個問題。

雖然有諸如零知識證明和混合器 (mixers) 這樣的技術可以幫助保護使用者隱私,但目前最好的方式就是擁有不止一個以太坊賬戶:至少有一個賬戶是公開的,另一個賬戶是隱私的 (比如用於儲存你的大多數加密資產)。

要知道,你可以很容易生成新的以太坊賬戶,且如果你願意,你的 ENS 域名可以使用假名。

5) 你只是在偏向以太坊和 ENS

的確,我持有 ETH,我也是開發和管理 ENS 的團隊一員。

我相信這讓我有了偏見,但事實是,以太坊是幾乎所有 dApps 創新發生的地方,ENS 擁有比所有其他基於區塊鏈的命名協議加起來都更多的生態系統支援。

需要說明的是,我所在的管理 ENS 的團隊是一個非營利組織,主要依靠以太坊基金會的撥款生存,且所有從 .eth 域名註冊中籌集的資金都流向一個以太坊社羣多籤賬戶。到目前為止,這些資金的大部分都沒有使用,唯一的例外是在今年 5 月份向 Gitcoin Grants 捐贈了 70 萬美元。其中的計劃是這些資金最終將用於資助 ENS 的長期發展、ENS 生態系統,甚至可能用於資助以太坊協議的開發,我們拭目以待。

04. RFP:敬請期待

ENS 和以太坊基金會正在共同資助一項 RFP (提案徵集),旨在實現以太坊登入的標準化。

我們需要有人或團隊來評估開發人員正在做的事情,並將其編譯成具有最佳實踐的標準,以及建立一個 Oauth 實現和 Javascript 庫,以使 Web2 服務更容易將“使用以太坊登入”作為登入選項新增進來。目前我們正在整理申請,請繼續關注!

05. 總結

一旦你習慣了 Web3 模式,你擁有自己的便攜帳戶和使用者名稱,舊的 Web2 使用者名稱和密碼模式就真的開始過時了,甚至會變得令人討厭。

我認為,未來當我們回顧網際網路早期這種孤島式的「使用者名稱+密碼」的時代時,會認為這是一個匪夷所思的時期。“使用者需要為每個服務平臺都建立一個密碼?簡直瘋了。難以想象人們還能忍受!”

以太坊最終實現了我們一直想要的中立、去中心化的網際網路單一賬戶。就其本身而言,這是一個巨大的突破,儘管與以太坊正在做的其他事情相比,它可能看起來很小!

讓我們繼續構建未來。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;