以太坊社區偶然發現了一個解決互聯網長期存在的問題的方案:單點登錄。
撰文:Brantly Millegan,ENS 運營總監
編輯:南風
我們知道,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 的服務器進行身份驗證。
比如Uniswap、Showtime、Aavegotchi、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 用戶名和密碼模式就真的開始過時了,甚至會變得令人討厭。
我認為,未來當我們回顧互聯網早期這種孤島式的「用戶名+密碼」的時代時,會認為這是一個匪夷所思的時期。 “用戶需要為每個服務平台都創建一個密碼?簡直瘋了。難以想像人們還能忍受!”
以太坊最終實現了我們一直想要的中立、去中心化的互聯網單一賬戶。就其本身而言,這是一個巨大的突破,儘管與以太坊正在做的其他事情相比,它可能看起來很小!
讓我們繼續構建未來。
展開全文打開碳鏈價值APP 查看更多精彩資訊