抗審查的下一階梯:在以太坊原生標準層面去 HTTP 化。
原文:Forget HTTP: Ethereum has a new URL standard that can't be blocked(Cointelegraph)
作者:Felix NG
編譯: Moni,Odaily 星球日報譯者
3 月初,首個以太坊 Web 訪問協議 ERC-4804 獲得了批准,這意味著 Web3 URL 正式進入以太坊,互聯網用戶也將可以更輕鬆地訪問以太坊 APP 和 NFT。
實際上,這個全新的以太坊域名標準全稱是 “Web3 URL to EVM Call Message Translation”,於 2022 年 2 月 14 日首次提出,該提案由 ETHStorage 創始人 Qi Zhou、以太坊研究員 Sam Wilson 和 Chao Pi 共同撰寫,其中將 “Web3 域名” 描述為一個 “HTTP 風格” 的 URL,可以直接訪問鏈上的 Web3 內容,包括去中心化應用程序(DApps)前端和 NFT,在歷經一年多的評估和投票後,終於在主網上獲得批准並最終確定。
ERC-4804 可以解決什麼問題?
在許多情況下,當前加密生態系統仍然依賴中心化的 Web 服務器來訪問 “去中心化” 的應用程序,二層存儲協議 ETHStorage 發言人 Anthurine Xiang 解釋說:
“現在,所有像 Uniswap […] 你必須通過 DNS,必須通過 GoDaddy[…] ,但所有這些都是中心化服務器。”
坦率地說,之所以會有這種現象,是因為如今大多數用戶依然選擇通過更廣為人知的 HTTP 的 “超文本傳輸協議” 訪問互聯網。當互聯網用戶單擊鏈接或鍵入網站地址時,計算機會使用 HTTP 請求另一台計算機檢索信息,例如網站或圖片。也就是說,從 Web3 讀取數據通常依賴於 Web2 代理到 Web3 區塊鏈的轉換,但這個 “翻譯” 工作基本上由 dApp 網站/節點服務提供商/etherscan 等代理完成,用戶無法控制。
而在 ERC-4804 協議下,互聯網用戶可以選擇在瀏覽器中輸入 “web3://”(而不是 “http://”)即可直接調出 Uniswap 或鏈上 NFT 等 Dapp,這是因為該標准允許用戶直接對以太坊虛擬機 (EVM) 運行查詢,繼而為 Web2 用戶提供一種簡單的方式來直接訪問 Web3 的內容,尤其是 SVG/HTML 等鏈上 Web 內容,此外該標準也支持其他已經與 URI 兼容的標準(如 SVG/HTML)的互操作性,繼而不必擔心中心化審查問題。
ERC-4804 標準具體有啥?
接下來,讓我們深入了解一下這個 ERC-4804 標準的具體內容,該標准設定的 Web3 URL 的形式如下:
- web3 Schema 表示 URL 的 schema,簡稱 web3://為 w 3://。
- userinfo 指示哪個用戶正在調用 EVM,即 EVM 調用消息中的 “From” 字段。如果未指定,協議將使用 0x 0 作為發送方地址。
- contractName 表示要調用的合約,即 EVM 調用消息中的 “To” 字段。如果 contractName 是地址,即 0x + 20 字節數據十六進制,則 “To” 將是地址。否則,名稱來自名稱服務。在第二種情況下,nsProviderSuffix 將是名稱服務提供商的後綴,例如 “eth” 等。將名稱從名稱服務轉換為地址的方式將在後面的 EIP 中討論。
- chainid 指示哪個鏈解析 contractName 並調用消息。如果未指定,協議將使用與名稱服務提供者相同的鏈,例如, 1 代表 eth。如果沒有可用的名稱服務提供者,則默認的 chainid 為 1 。
- query 是一個可選組件,包含一系列由 “&” 分隔的屬性值對。
一旦確定了 “To” 地址和 chainid,ERC-4804 協議將通過調用 “resolveMode” 方法檢查合約的解析器模式,目前支持兩種解析模式,分別是:手動模式和自動模式:
1、手動模式:手動模式不會對 path 和 query 做任何解釋,把 path [ “?” query ] 直接作為消息的 calldata。
2、自動模式:自動模式是默認的解析模式(當目標合約中的 “resolveMode” 方法不可用時也適用)。在自動模式下,如果路徑為空,則協議將調用帶有空調用數據的目標合約。否則,EVM 消息的調用數據將使用標準的 Solidity 合約 ABI 編碼解碼。
ERC-4804 標準存在哪些問題?
實際上,只要網站的內容存儲在以太坊區塊鍊或兼容的二層協議上,理論上就可以通過 Web3 域名方式訪問整個網站,但這樣做的成本非常高(至少目前而言是這樣)。
在上月 ETHDenver 大會上,ETHStorage 創始人 Qi Zhou 分析了這個問題:
“ERC-4804 的關鍵問題在於以太坊上的存儲成本在主網上非常非常昂貴,例如, 1 GB 的鏈上數據將花費大約 1000 萬美元……對於許多 Web2 應用程序甚至許多 NFT 來說,這是不可接受的,不過二層存儲解決方案可以幫助降低一些成本。”
考慮到成本問題,ETHStorage 的發言人 Anthurine Xiang 建議 ERC-4804 URL 標準可以首先在某些特定應用上使用並進一步解釋說:
“並不是所有的東西都需要去中心化如果你經營的 Web2 業務相當不錯,而且不必太擔心中心化審查,那麼可以選擇暫不使用 ERC-4804.”
另一個問題是,ERC-4804 標準可能會被面臨審查風險的網站利用,比如 Tornado Cash,這意味著該標准或許會被不良行為者利用來參與非法活動。對於這個問題,Anthurine Xiang 坦言:“這真的很難說,就像比特幣創立初衷並不是為邪惡而生,但一開始,的確有人做一些不正當的事情,比如 Silk Road,他們一直在使用比特幣,但比特幣只是為人們提供了一個他們可能沒有的去中心化選擇。 而 ERC-4804 以太坊 URL 標準也是區塊鏈上第一個此類標準”
事實上,ERC-4804 標準並不是首個去中心化網絡託管解決方案,比如星際文件系統 (IPFS) 也是一個基於去中心化方式創建網絡的解決方案,不過 IPFS URL 只能鏈接到靜態內容,無法修改或更改。相比而言,ERC-4804 將允許 “動態數據”,例如允許人們留下喜歡和評論以及與網站上的內容互動,而且作為以太坊原生的標準,ERC-4804 也有望更容易地與其他區塊鏈進行交互。
無論如何,ERC-4804 給加密社區提供了一個以太坊原生的 URL 標準,未來能否衍生出一些新的方向生態應用,值得關注。
免責聲明:作為區塊鏈信息平台,本站所發布文章僅代表作者及嘉賓個人觀點,與 Web3Caff 立場無關。文章內的信息僅供參考,均不構成任何投資建議及要約,並請您遵守所在國家或地區的相關法律法規。