header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

從 EIP4361,探索 Web2 到 Web3 帳戶體系變革

閱讀本文需 64 分鐘
EIP-4361本身並不是如帳戶抽象、上海昇級這類影響巨大的事件,它更多的是建立一種規範的業界標準。
原文標題:《 萬物研究院:從 EIP4361,探討 Web2 到 Web3 帳戶體系變革 》
原文作者:陳劍Jason,萬物研究院




MetaMask 於上週發文官宣支持EIP-4361,不少朋友對於這個協議比較疑惑,從表面來看與普通的簽名沒有太大差別,本文為大家解讀,首先要明白EIP-4361 這個事其實挺小的,但是背後能夠引申出來的領域很大。 16px="" 0px;="" font-size:="" medium;="" line-height:="" 32px;="" color:="" rgb(47,="" 47,="" 47);="" text-align:="" justify;="" font-family:="" avenir,="" helvetica,="" arial,="" "microsoft="" yahei",= "" sans-serif;="" font-style:="" normal;="" font-variant-ligatures:="" font-variant-caps:="" font-weight:="" 400;=" " letter-spacing:="" orphans:="" 2;="" text-indent:="" text-transform:="" none;="" white-space:="" widows:="" word -spacing:="" -webkit-text-stroke-width:="" text-decoration-thickness:="" initial;="" text-decoration-style:="" text-decoration-color:="" initial;"="">

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 網域等。


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


image


在聊以太坊登入SiwE 之前,需要先聊清楚傳統的帳號登入系統與現存的連線錢包簽名,然後才能理解SiwE 的區別與優點。 " color:="" rgb(47,="" 47,="" 47);="" text-align:="" justify;="" font-family:="" avenir,="" helvetica, ="" arial,="" "microsoft="" yahei",="" sans-serif;="" font-style:="" normal;="" font-variant-ligatures:="" font- variant-caps:="" font-weight:="" 400;="" letter-spacing:="" orphans:="" 2;="" text-indent:="" text-transform:="" none;="" white-space:="" widows:="" word-spacing:="" -webkit-text-stroke-width:="" text-decoration-thickness:="" initial;="" text-decoration-style:="" text-decoration-color:="" initial;"="">

傳統的帳號登入系統即使用手機號碼、信箱、密碼等形式中心化的儲存使用者的帳號並進行登入與驗證,使用者的帳號完全儲存在中心化的資料庫中,所以有銷號、轉號、資料外洩等問題,總共經歷了兩個階段的發展,在以騰訊阿里為代表具備自己生態的巨型網路公司出現之前,使用者的帳號體係都是每家公司甚至每個產品獨立維護一套的,一般來說會有一個User 表用於存儲該用戶的所有帳號信息,包括用戶的名稱、密碼、手機號郵箱等,用戶每註冊時就會在User 表中儲存一條數據,後續登入時則輸入使用者名稱和密碼進行對應的匹配。 size:="" medium;="" line-height:="" 32px;="" color:="" rgb(47,="" 47,="" 47);="" text-align:= "" justify;="" font-family:="" avenir,="" helvetica,="" arial,="" "microsoft="" yahei",="" sans-serif;="" font- style:="" normal;="" font-variant-ligatures:="" font-variant-caps:="" font-weight:="" 400;="" letter-spacing:="" 或phans:= "" 2;="" text-indent:="" text-transform:="" none;="" white-space:="" widows:="" word-spacing:="" -webkit-text- stroke-width:="" text-decoration-thickness:="" initial;="" text-decoration-style:="" text-decoration-color:="" initial;"="">

用戶要自己管理一大堆帳號密碼非常麻煩,很容易遺失忘記,很多用戶為了方便,會把所有產品的帳號密碼都設置成一樣的,就導致只要一個產品的資料庫被洩漏後,駭客就會使用撞庫攻擊,來批量的登入所有的產品,如此之多的帳號,再加上中心化管理,風險極其大,但後面開始用了大量的手機驗證,就又出現了每次換手機號碼的痛苦階段。 -size:="" medium;="" line-height:="" 32px;="" color:="" rgb(47,="" 47,="" 47);="" text-align: ="" justify;="" font-family:="" avenir,="" helvetica,="" arial,="" "microsoft="" yahei",="" sans-serif;="" font -style:="" normal;="" font-variant-ligatures:="" font-variant-caps:="" font-weight:="" 400;="" letter-spacing:="" 或phans: ="" 2;="" text-indent:="" text-transform:="" none;="" white-space:="" widows:="" word-spacing:="" -webkit-text -stroke-width:="" text-decoration-thickness:="" initial;="" text-decoration-style:="" text-decoration-color:="" initial;"="">

後續隨著騰訊和阿里具備了自己的產品矩陣並有生態後,用戶在自家的各個產品之間登錄,還需要切換不同的帳號非常麻煩,以及最大的問題在於各個產品之間的帳號是隔離的,導致騰訊阿里無法去充分的「利用用戶資料」,例如我用淘寶購買了床單,又用餓了麼點了份外賣,那麼透過數據分析其實可以給我貼上「打工單身青年」的標籤,但因為這是兩個產品,每個產品又有各自的帳戶體系,所以完全無法知道這兩個產品用戶之間的關聯關係。


方法要麼就是透過統一的帳號來進行配對識別,例如都使用手機號碼註冊,這樣所有的產品中只要使用同一個手機號碼的那就是同一個人,另外就是用單點登錄或統一登錄的方式,如現在最常用的微信登錄,下圖為微信登錄的流程圖,用戶使用微信作為登錄方式則免除了重新註冊帳號和管理帳號的冗餘流程,對於第三方產品降低了用戶的使用門檻從而更好獲客,對於微信來說更多的用戶和第三方產品以微信作為帳戶登錄入口,則可以很大的提升其競爭壁壘。 /p>


image


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


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


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


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


如文件所說「作為web2 公司,您將有機會成為用戶進入web3 的第一個接觸點,並幫助他們控制自己的數位身份」,SiwE 是希望能夠通過將連接錢包-發送簽名-完成登錄這個過程標準化出來後,讓更多的Web2 產品可以接入,成為一個登入選項,就像是我們在使用某些產品時,可以讓我們選擇登入方式包括Google登入、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 等。 /p>


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 用戶的體驗。 id="0054" margin:="" 16px="" 0px;="" font-size:="" medium;="" line-height:="" 32px;="" color:="" rgb( 47,="" 47,="" 47);="" text-align:="" justify;="" font-family:="" avenir,="" helvetica,="" arial,="" "microsoft="" yahei",="" sans-serif;="" font-style:="" normal;="" font-variant-ligatures:="" font-variant-caps:="" font -weight:="" 400;="" letter-spacing:="" orphans:="" 2;="" text-indent:="" text-transform:="" none;="" white-space :="" widows:="" word-spacing:="" -webkit-text-stroke-width:="" text-decoration-thickness:="" initial;="" text-decoration-style:=" " text-decoration-color:="" initial;"="">

原文連結


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交