或許只是偶然,以太坊在發展過程中發現了一種解決方案,解決了互聯網長期存在的一個問題:單點登錄(Single Sign-On)。
Web2 服務要求用戶為每個新服務創建一個新的用戶名和密碼組合,但web3則徹底顛覆了這一點:用戶可以擁有他們的用戶名、配置文件數據和安全身份驗證方法,並在多個服務中使用同一個帳戶。
我稱之為——用以太坊登錄(Sign-in with Ethereum)。
問題癥結所在
互聯網沒有內置用戶身份驗證和識別模型。 IP 地址識別的是設備,而不是人; 域名DNS 從來就不是用來命名人的,而是用來命名服務的。
但這些服務需要知道你是誰。所以他們創建了用戶名和密碼範式。這種方式運行良好,特別是對於精通技術的人來說,但存在一些我們都知道的問題:人們重複使用弱密碼並導致註冊疲勞(“我必須創建另一個帳戶才能使用此服務?”),更不用說還要擔心黑客攻擊和麻煩的數據轉儲(haveibeenpwned.com)。
最後,每個帳戶都與您的其他帳戶相互隔離。
一個新的社交媒體網絡出現了?那你最好快點搶注最喜歡的用戶名。
在過去十年中流行的一種解決方案是社交應用授權登錄。您可能已經擁有Google、Facebook、Twitter 等帳戶,那麼為什麼不使用其中之一來授權登錄新的服務呢?這種選擇似乎是一種雙贏:用戶無需創建新帳戶,服務也無需為其用戶管理用戶名和密碼系統。
雖然這相比以前有所改進,但通過社交應用授權登錄仍然有一些明顯的缺點。社交應用不可能是中立的,因為它依賴於私人公司——這些公司成為系統的故障點,我們甚至不希望某一家私人公司一家獨大並控制整個互聯網的登錄服務。
我們需要的是一個所有服務都可以使用的中立、去中心化、安全、用戶控制的用戶名和身份驗證協議。
進入以太坊時代
要擁有一個去中心化的單點登錄系統,您需要三樣東西:1) 一個廣泛採用的用戶生成私鑰的標準,2) 使人們可以輕鬆管理這些私鑰的工具,以及3) 去中心化的命名和配置文件數據存儲系統。
每個人自己的私鑰
比特幣在解決第一和第二個問題方面取得了進展。比特幣使用公鑰/私鑰對讓用戶控制他們的比特幣。以太坊的以太坊賬戶也是如此。
加密貨幣的高價值,特別是以太坊生態系統的有用性,第一次充分激勵了兩件事:一是讓大量的人獲得私鑰,二是讓一個行業發展起來幫助人們管理他們的私鑰(我們稱之為“錢包”)。
還有很多改進的空間,但就在最近幾年,我們在私鑰管理創新方面出現了爆炸式增長:想想硬件錢包、MetaMask、WalletConnect、社交恢復等。
換句話說,關於隱私和自由的密碼朋克意識形態幾十年來無法說服人們去做,而加密貨幣激勵措施在短短幾年內就做到了。一旦你獲得一個私鑰來保存加密貨幣並使用以太坊dapps,你就可以將相同的私鑰用於其他事情,包括簽署消息以進行身份驗證。
解決Zooko 三角問題
密鑰對可以由軟件自動生成,但要擁有一個人類可讀的用戶名,您是否不需要受信任的第三方將其存儲在某處並管理命名空間?
這就是Zooko三角問題:其表示命名系統不能同時去中心化、安全和人類可讀。 Zooko認為沒有一單種名稱系統可以擁有以上三種屬性中的兩種以上。
區塊鏈解決了這個問題。 Namecoin 於2011 年作為自己的區塊鏈推出,是使用區塊鏈技術進行去中心化命名的首次嘗試,但從未被大量採用。但ENS 於2017 年作為以太坊區塊鏈上的dapp 推出,已成功作為web3 標準被廣泛採用。
用戶可以在ENS 上註冊一個.ETH 域名,而無需接觸單個中心化服務(您也可以導入您已經擁有的DNS 域名以在ENS 上使用),然後使用他們的以太坊帳戶自行保管。
然後,您可以使用您的ENS 域名作為您的便攜式web3 用戶名,存儲頭像圖像等個人資料數據,使用它來簡化加密貨幣支付,甚至建立一個去中心化的網站。
你現在可以使用這個
這不僅僅是一個想法,這是目前web3 中的規範。想使用dapp 嗎?連接您的錢包,它可以使用您的ENS 名稱作為您的用戶名。
請注意,雖然有些dapp 只是讓您連接錢包,但其他dapp 也會要求您簽署消息。在前者中,您只需將錢包連接到在瀏覽器中本地運行的網絡應用程序。在後者中,您要向服務的服務器驗證自己的身份——服務要求您做什麼取決於服務的需求。
示例包括Uniswap、Showtime、Aavegotchi、Cryptovoxels、OpenSea、SnapShot、Etherscan 等等。
反對意見
這在其他地方已經存在
我在Twitter 上的原始帖子中得到的最常見的回應之一是“這個小型區塊鏈社區已經擁有這個”或“這個互聯網標準幾年前沒有人嘗試過”。
當然,單點登錄並不是一個新想法,是的,已經有很多嘗試。
需要理解的關鍵是,使用以太坊登錄已經自然地演變為現實世界的使用,它不是由委員會在真空中創建然後作為沒人想要的解決方案推出的,它已經在web3 中被真正使用了。
又一個標準
我不希望傳統的用戶名和密碼系統或社交登錄很快消失。但是,使用以太坊登錄已經成為不斷發展的web3 生態系統的標準,大量web3 用戶的需求將導致web2 服務將此作為選項添加到他們當前的服務中。如果用戶想在任何地方使用他們的以太坊賬戶和ENS 用戶名和個人資料,他們可以。
它與現有選項的本質區別在於它是可信的中立和用戶控制的。
普通用戶無法管理私鑰
擔心用戶無法訪問其在線帳戶?
他們失去對加密貨幣的訪問權限怎麼樣!
加密貨幣行業已經有更高的動力來處理這些問題。因此,圍繞著簡單地讓普通用戶更容易管理他們的私鑰或“錢包”,建立了一個龐大的、競爭激烈的行業。
我們可以使用這些相同的私鑰進行身份驗證這一事實是一個令人愉快的副作用。
隱私呢?
就區塊鏈而言,隱私確實是一個問題。
雖然零知識證明和混合器等技術可以在這裡提供幫助,但一個人現在最好的做法就是擁有多個以太坊賬戶:至少一個面向公眾的,一個是私有的(例如用於您的存儲資金)。
請注意,您可以輕鬆生成新的以太坊賬戶,如果您願意,ENS 域名也可以是假名。
你只需使用以太坊和ENS支付
我持有ETH,我的團隊也在開發和管理ENS。
我確信這讓我有偏見,但事實並非如此:以太坊是幾乎所有dapp 創新發生的地方,並且ENS 擁有比所有其他基於區塊鏈的命名協議嘗試加起來更多的生態系統支持。
作為記錄,管理ENS 和我工作的組織是一個非營利組織,它主要靠以太坊基金會的贈款為生,所有從.ETH 域名註冊籌集的資金都用於以太坊社區多重簽名。
到目前為止,這些資金大部分都沒有動用,唯一的例外是向Gitcoin Grants 捐贈了70 萬美元。該計劃是為了資金最終為ENS 的長期開發、ENS 生態系統甚至以太坊協議開發提供資金,但我們會拭目以待。
RFP(徵求意見):敬請期待
ENS 和以太坊基金會正在共同發起徵求意見以標準化以太坊登錄。
我們需要某人或一個團隊來評估開發人員已經在做什麼並將其編譯為具有最佳實踐的標準,以及創建Oauth 實現和Javascript 庫,以便web2 服務更容易將其添加為選項。
現在延長的截止日期最近已過,我們正在努力對申請進行分類。敬請關注!
結論
一旦您習慣了擁有便攜式帳戶和用戶名的web3 模型,舊的web2 沙盒用戶名和密碼模型就真的開始顯得過時,甚至令人討厭。
我認為我們會將孤立的用戶名和用戶生成密碼的時代視為早期互聯網的一個奇異時期。 “用戶會為每項服務製作自己的私鑰——你稱他們為密碼? 。
以太坊終於為我們一直想要的互聯網啟用了中立的、去中心化的單一賬戶。這本身就是一個巨大的突破,儘管與以太坊所做的其他一切相比,這件事似乎很小!
讓我們繼續建設。