萬物研究院:從 EIP4361,探索 Web2 到 Web3 賬戶體系變革

萬物島ThreeDAO
2023-03-31 15:20:21
收藏
EIP-4361本身並不是如帳戶抽象、上海升級這類影響巨大的事件,它更多的是建立一種規範的行業標準。

撰文:萬物研究院 陳劍 Jason

MetaMask 於上週發文官宣支持EIP-4361,不少朋友對於這個協議比較疑惑,從表面來看與普通的簽名沒有太大區別,本文為大家進行解讀,首先要明白EIP-4361這個事其實挺小的,但是背後能夠引申出來的領域很大。

image

EIP4361是與以太坊登錄相關的技術規範標準提案,以太坊登錄SiwE(Sign-in with Ethereum) 是一種去中心化的身份驗證方法,它使用戶能夠使用他們的以太坊賬戶實現統一登錄並控制身份,而不是依賴於由中心化的公司用的傳統用戶名/密碼身份驗證,Vitalik在之前的訪談中曾經提出了認為2023年Web3的三個最大機會,其中就包括以太坊登錄,他表示任何有助於以太坊從Facebook、google和twitter等中心化壟斷企業手中奪走登錄權的技術,最終都會使以太坊在互聯網應用程序中獲得更多市場主導地位,所以登錄體系是Vitalik認為爭搶下一個10億人重要的方向。

其實對於以太坊來說現在我能夠感受到其內部的焦慮感,雖然以太坊當前的地位看似不可撼動,但現在面對的競爭壓力也非常的大,尤其是前有aptos、sui這些高性能新公鏈,後又有以cosmos為代表的應用鏈行業鏈,所以這也是以太坊必須如此堅決的轉POS、搞Layer、做分片等動作的原因,在共識和性能上做出優化加籌碼,另一方面也是在面對C端的入口級領域如ENS和登錄等領域做的更深,與C端深度綁定打造自己的護城河,另外值得注意的是EIP4361背後有三家支持方,分別為以太坊基金會、ENS和Spruce,除以太坊基金會外另外兩家都是DID公司,某種程度可以說是兩家DID公司與以太坊基金會一起建立行業標準,所以該標準不能完全具備中立性,能看到文檔中與ENS綁定也比較深度,包括可以解析ENS域名等,以下為SiwE的官網:https://login.xyz/

其中ENS大家已經很熟悉了,對於Spruce比較陌生,中文區幾乎少有對它的報導和解讀,它的使命是一家致力於讓用戶可以控制自己個人數據,得到包括A16Z、YC等一眾明星資本的支持,其所在的領域從類別劃分屬於DID大類下面的SSI自我主權身份,使個人能夠控制自己的身份數據,包括決定哪些第三方應用可以使用它,如何使用等問題,所以如果說我們常理解的DID是通過數據收集後證明你是誰,那SSI則是專注於數據層面的授權、使用和管理。

image

在聊以太坊登錄SiwE之前,需要先聊清楚傳統的賬號登錄體系與現存的連接錢包簽名,然後才能理解SiwE的區別與優勢。

傳統的賬號登錄體系即使用手機號、郵箱、密碼等形式中心化的保存用戶的賬戶並進行登錄和驗證,用戶的賬號完全存儲在中心化的數據庫中,所以存在銷號、轉號、數據洩漏等問題,總共經歷了兩個階段的發展,在以騰訊阿里為代表具備自己生態的巨型互聯網公司出現之前,用戶的賬號體系都是每家公司甚至每個產品獨立維護一套的,一般來說會有一個User表用於存儲該用戶的所有賬號信息,包括用戶的名稱、密碼、手機號郵箱等,用戶每註冊時就會往User表中存儲一條數據,後續登錄時則輸入用戶名和密碼進行對應的匹配,用戶要自己管理一大堆賬號密碼非常麻煩,很容易丟失忘記,很多用戶為了方便,會把所有產品的賬號密碼都設置成一樣的,就導致只要一個產品的數據庫被洩漏後,黑客就會使用撞庫攻擊,來批量的登錄所有的產品,如此之多的賬號,再加上中心化管理,風險極其大,但後面開始用了大量的手機驗證,就又出現了每次換手機號的痛苦階段。

後續隨著騰訊和阿里具備了自己的產品矩陣並有生態後,用戶在自家的各個產品之間登錄,還需要切換不同的賬號非常麻煩,以及最大的问题在於各個產品之間的賬號是隔離的,導致騰訊阿里無法去充分的"利用用戶數據",比如我用淘寶購買了床單,又用餓了麼點了一份外賣,那麼通過數據分析其實可以給我貼上"打工單身青年"的標籤,但因為這是兩個產品,每個產品又有各自的賬戶體系,所以完全無法知道這兩個產品用戶之間的關聯關係,方法要麼就是通過統一的賬號來進行匹配識別,比如都使用手機號註冊,這樣所有的產品中只要使用同一個手機號的那就是同一個人,另外就是用單點登錄或統一登錄的方式,如現在最常用的微信登錄,下面圖為微信登錄的流程圖,用戶使用微信作為登錄方式則免除了重新註冊賬號和管理賬號的冗餘流程,對於第三方產品降低了用戶的使用門檻從而更好獲客,對於微信來說更多的用戶和第三方產品以微信作為賬戶登錄入口,則可以很大的提升其競爭壁壘。

image

toC的登錄體系可以使用騰訊阿里這類生態級企業解決方案,toB的登錄體系同樣面臨更麻煩的問題,因為隨著企業的發展內部使用的產品會五花八門,來源包括第三方定制化採購、SaaS廠商、自研等,再加上員工眾多涉及到大量的權限、數據安全等問題,所以如何能夠讓上萬名員工順暢且安全的使用內部數百個產品也是需要被解決的問題,有如Authing、Okta等公司為企業提供單點登錄解決方案。

以上就是傳統Web2經歷了這20年對於賬戶身份體系的主要演變,Web3給普通用戶在體驗上很直觀的區別就在於用一個錢包就可以使用所有Web3的產品,這是最直接的能夠讓用戶感受到區塊了這全球一張網的含義,或者說是真正實現了"互聯"網。

但因鏈上資產的特性導致每個人要為自己的安全負責,不再像Web2那樣存在一個可以有責任和義務保證用戶資金安全的第三方平台了,從而面臨用戶會被大量的暴露在充滿釣魚網站的環境中,只要進行了相關簽名和授權資產就可能被盜,尤其是目前以metamask為代表的錢包交互時披露的信息太少,並且可讀性非常差,非技術背景的人甚至大多時候都看不懂要求進行簽名和授權的彈窗內容到底意味著什麼,所以需要對於索取用戶簽名授權的動作制定嚴格的標準,充分的告訴用戶要執行的內容。

EIP-4361明確了以太坊賬戶如何通過鏈下服務進行身份驗證的標準過程,這樣身份驗證通過簽署標準消息格式進行,該消息格式使用會話詳細信息、安全機制和範圍進行結構化,即會以標準的字段參數進行展示,為開發者提供了Web2 和 Web3應用創建統一身份層的基礎設施,這個過程對於用戶來說是免費的,只需要在消息上進行簽名,不需要與區塊鏈進行交易,也不需要向礦工支付Gas。

如文檔中所說"作為 web2 公司,您將有機會成為用戶進入 web3 的第一個接觸點,並幫助他們控制自己的數字身份",SiwE是希望能夠通過將連接錢包-發送簽名-完成登錄這個過程標準化出來後,讓更多的Web2產品可以接入,成為一個登錄選項,就像是我們在使用某些產品時,可以讓我們選擇登錄方式包括谷歌登錄、twitter登錄、facebook登錄,下面就可以再放一個以太坊登錄,通過登錄入口嵌入從而覆蓋極大規模用戶的web2產品。

對於這些web2產品接入SiwE的動力則是可以根據用戶公開的鏈上資產進行對應的服務,即如果用谷歌、twitter登錄也只是完成登錄這一個動作而已,但是用以太坊登錄則可以根據用戶持有資產情況做出更多特定的服務,如若持有某個NFT則可以打8折之類的。

image

關於EIP-4361的提案鏈接如下:https://eips.ethereum.org/EIPS/eip-4361 下圖為SiwE的模板消息、完整的ABNF和對應的彈窗樣式,可見以非常結構標準化的方式透出了用戶要執行的內容Message、請求登錄的網址URI、當前版本Version、所登錄的鏈Chain ID、防止重放攻擊的Nonce、登錄的有效時間Issued AT和結束時間Expires AT。

其中ABNF全程是擴充巴科斯範式 (Augmented Backus--Naur form),是描述一種作為雙向通信協議的語言的形式系統,這也是EIP-4361的重點,將登錄過程進行標準化。

image

上文中提到了EIP-4361背後有ENS,所以在該提案中也包含了對ENS比較深度的嵌入,使用SiwE可以解析ENS的數據,包括ENS名稱、ENS頭像和ENS文檔中指定的任何可解析資源,如下圖所示ENS除了本身的域名以外,還可以綁定大量的信息包括錢包地址、郵箱、discord、twitter等。

image

除了標準化登錄以外,EIP-4361還可以一定程度預防釣魚攻擊,目前每天都發生大量的用戶被釣魚網站盜取資產的事件,其中EIP-4361在錢包進行登錄的過程中有三個步驟

1.驗證消息,檢查簽名內容是否符合上文中提到的ABNF標準格式

2.驗證域名,如果符合EIP-4361的登錄標準,錢包會驗證發起登錄的網址是否符合ABNF中所提交的網址,從而避免張冠李戴

3.然後創建以太坊登錄彈窗,其中存在的規範是必須要充分的向用戶展示所有的條款,並要求用戶將頁面滾動到最底部再進行簽名,即類似於很多APP的用戶準則一樣,要拉到最下面確保名義上的讀完才可以執行下一步

在設計規範裡提到了4條

1.必須要呈現一個人類可以理解的頁面,其中大部分沒有針對機器的工作,例如JOSN、十六進制代碼、base編碼等,這就是上文中我說到的目前錢包交互所存在的問題,非技術人員根本不知道自己點了之後意味著什麼

2.應用程序的後端需要為其終端進行完全可用的支持,不需要強制修改錢包,這一點主要是要求接入SiwE時不能對用戶產生體驗上的門檻

3.對於已經使用SiwE的應用錢包要做好簡單直接的升級路徑,在上文中說到會有一個標識SiwE的版本號Version,後續SiwE升級也要保證可以兼容

4.需要做好充分的重放攻擊、惡意簽名等預防準備

另外在文檔中也提到了密鑰管理問題,即因為SiwE希望能夠有很多Web2的產品可以接入,將更多圈外用戶帶入Web3的世界,但是主流的用戶已經習慣了Web2產品的"找回密碼"功能,在Web3中如果你的私鑰丟失了則無法找回,所以這個問題對於大量Web2用戶的教育門檻很高,其實也非常期待賬戶抽象AA錢包的普及後可以真正有效解決這個問題。

以上就是從EIP-4361出發對Web2到Web3賬戶體系變革的解讀,其實EIP-4361本身並不是如賬戶抽象、上海升級這類影響巨大的事件,它更多的是建立一種規範的行業標準,但也正是這類潤物細無聲的優化,才會逐漸的提升Web2與Web3用戶的體驗。

在撰寫本文時向幾位朋友進行了請教交流,特別在此鳴謝周載南、余弦、方軍等各位的交流探討!

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界