ENS: Ethereum Name Service

閱讀時間約 7 分鐘
(這篇原文我於 2022 年 2 月 5 號發表於 mirror,最近想把文章轉移到 vocus,所以重複發文於此)
在 blockchain 的世界裡,每個人的 identity 都會是一個位址,像是0x956f206BF42B6FCEacacBEb759Bc234921B55eCf,這是錢包的位址,這是一個 42 字元組成的 public key hash,基本上沒有人記得住這一長串字元,所以大部分遇到時都是用複製貼上,或者 QR Code scan 的方式來傳遞。
所以好像很自然,Name resolve service 就有存在的必要,像是 IP address 與 domain name 互查的 DNS 系統,在區塊鏈中也有套類似的架構,稱之為 ENS: Ethereum Name Service。
你可以為你的錢包位址登記一個好記的名字,像是 be-rich.eth ,如果去反查這個名字就會是 0x956f206BF42B6FCEacacBEb759Bc234921B55eCf 。
ENS 有兩大智能合約所組成,分別是 Registry (EIP-137) 跟 Resolver,Resolver 也支援好幾種不同的查詢方式,也包含一般的網路域名,還有 TXT Record。
來了解一下它怎麼運作的:
我先到 ens.domain 買了一個域名 be-rich.eth,隨後就會透過我的 Metamask 錢包與合約互動。
註冊通常很快,約一分鐘完成,隨後我們打開 etherscan 來看看他做了哪些動作。
這是該筆交易。
首先你會看到交易紀錄,它先 Mint 了一顆 Token ,再把這顆 Token 的 Owner 轉到我的位址下。
然後裡面包含兩次的 Token 轉移,一次是從 0x0 轉到 ENS 的 Registry ,一次是從 ENS Registry 轉移到我的位址。
Token 是符合 ERC-721 規範,也就是說它是顆 NFT。
所以在我的 Opensea 下也可以看到這顆 Token
再來看看註冊域名時,它怎麼呼叫合約的:
看來是呼叫合約中的 registerWithConfig() 函式,帶的參數有包含名稱 (be-rich.eth),owner 位址(也就是我的錢包位址),duration 為 31556952 也就是比 365 天多一點點 (應該是為了處理閏年),設定的 resolver 位址為 0x4976fb03C32e5B8cfe2b6cCB31c09Ba78EBaBa41,這個是 ENS 的 Public Resolver 2 的合約位址。
ENS 有個特色,.eth 屬於根域名,假如你註冊個 apple.eth ,未來你可以自行發行子域名,例如 steve.apple.eth ,你可以有自己的 Resolver 來反查子域名,不必都透過公用的 resolver,所以在購買 ENS token 時,可以指定 Resolver 合約的位址,而你要寫 Resolver 也很簡單,只要符合它的定義就好。 不過想單然而,因為有這樣的設計,現在就會有很多人搶著註冊有名的域名來當蟑螂,就跟 DNS 一樣,所以未來一些大公司真的開始想進入 blockchain 領域時,可能要準備一筆錢來買域名了。
ENS 合約內並不是儲存完整的域名,而是儲存域名的 Hash,它稱之為 namehash。它的概念是以 dot 為區隔拆出各個名稱 (label),然後去作 hash,例如 be-rich.eth 可以拆出兩個 label 分別是 be-rich 以及 eth,namehash 的算法如下:
namehash([]) = 0x0000000000000000000000000000000000000000000000000000000000000000
namehash([label, …]) = keccak256(namehash(…), keccak256(label))
namehash 再去轉換成一個 32bytes 的 unsighted int 作為 tokenID,合約裡儲存的就是 tokenID 與 owner address 間的 mapping。
要反查名稱時,你可以自己寫合約來查詢,也可以透過 ENS 官方提供的 Libraries 來查詢。以 ensjs Javascript library 來作的話就像這樣:
var address = await ens.name('be-rich.eth').getAddress();
原理上也是一樣,透過域名取得 namehash,然後由 namehash 先取得 Resolver,再跟 Resolver 詢問位址。
也可以透過智能合約來查詢
abstract contract ENS {
function resolver(bytes32 node) public virtual view returns (Resolver);
}

abstract contract Resolver {
function addr(bytes32 node) public virtual view returns (address);
}

contract MyContract {
// Same address for Mainet, Ropsten, Rinkerby, Gorli and other networks;
ENS ens = ENS(0x00000000000C2E074eC69A0dFb2997BA6C7d2e1e);

function resolve(bytes32 node) public view returns(address) {
Resolver resolver = ens.resolver(node);
return resolver.addr(node);
}
}
有這個域名能幹嘛? 目前多數錢包都有支援 ENS,所以當你在做交易時,就不再需要使用錢包位址這麼難記的字串,直接請對方輸入你的域名就好,例如在 metamask 中,你只需要傳送 ETH 到 be-rich.eth 就可以轉進到我的錢包中了。
不過就像目前 Internet ,域名蟑螂是個嚴重的問題,在 ENS 中會更嚴重。想像一下,如果我註冊一個 paypal.eth,是否就機會偽裝成 paypal 到處去跟小白收款,或者註冊 google.eth、apple.eth,就可以等著大公司來跟我收購這些域名,因為這些 Trademark 都是在區塊鏈出來之前就已經存在了,但是在區塊鏈中違反 trademark 對這些蟑螂來說無傷痛癢。而 ENS 唯一能做的是透過每年 renew 的費用來增加蟑螂的成本,但對於資本雄厚,或者已經擁有高價值 trademark 的域名來說,似乎無傷痛癢。
即將進入廣告,捲動後可繼續閱讀
為什麼會看到廣告
4會員
5Content count
留言0
查看全部
發表第一個留言支持創作者!
Steven Shen的沙龍 的其他內容
2022 年 6 月 13 號,這天不是一個尋常的星期一,在高通膨與美國聯準會有可能生息三碼的傳聞下,各種投資市場應聲下滑,包含美股與虛擬幣市場都是滿江紅。 比特幣更是從六月初的三萬塊的價格跌到目前接近兩萬塊,極有可能在這週結束前就跌破 2 萬塊。
2022 年 6 月 13 號,這天不是一個尋常的星期一,在高通膨與美國聯準會有可能生息三碼的傳聞下,各種投資市場應聲下滑,包含美股與虛擬幣市場都是滿江紅。 比特幣更是從六月初的三萬塊的價格跌到目前接近兩萬塊,極有可能在這週結束前就跌破 2 萬塊。
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
Recently, elevator safety has become a major concern due to numerous accidents attracting societal attention.
MC What is the cost of Ethereum upgrades? Will the gap between rich and poor in the virtual currency circle widen? Will power be concentrated in a
Thumbnail
Introduction Welcome to the oasis of luxury living – your villa, where comfort and style intertwine. In this article, we delve into the essential asp
Thumbnail
今天我要跟大家介紹一個非常有名的幣種,就是Ethereum(ETH)。Ethereum是一個去中心化的智能合約平台,它可以讓任何人在沒有中介的情況下,創建和運行各種應用。Ethereum的代幣叫做Ether(ETH),它是用來支付在平台上執行的計算和交易費用的。Ether也可以在各種交易所和錢包中買
市場の現状と将来展望に関する包括的な洞察を提供する、自動車照明市場2023年調査報告書がリリースされました。当レポートでは、業界の市場動向、成長促進要因、課題、機会などの詳細な分析に加え、競争環境と市場主要企業の市場シェア分析についても徹底検証しています。https://news8.de/pende
Thumbnail
随着加密市场出现稳定的迹象,现存最大的以太坊(ETH)鲸鱼正在积累分散式甲骨文网络Chainlink(LINK)和一系列分散式金融(DeFi)altcoin。 #defi #eth
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
Recently, elevator safety has become a major concern due to numerous accidents attracting societal attention.
MC What is the cost of Ethereum upgrades? Will the gap between rich and poor in the virtual currency circle widen? Will power be concentrated in a
Thumbnail
Introduction Welcome to the oasis of luxury living – your villa, where comfort and style intertwine. In this article, we delve into the essential asp
Thumbnail
今天我要跟大家介紹一個非常有名的幣種,就是Ethereum(ETH)。Ethereum是一個去中心化的智能合約平台,它可以讓任何人在沒有中介的情況下,創建和運行各種應用。Ethereum的代幣叫做Ether(ETH),它是用來支付在平台上執行的計算和交易費用的。Ether也可以在各種交易所和錢包中買
市場の現状と将来展望に関する包括的な洞察を提供する、自動車照明市場2023年調査報告書がリリースされました。当レポートでは、業界の市場動向、成長促進要因、課題、機会などの詳細な分析に加え、競争環境と市場主要企業の市場シェア分析についても徹底検証しています。https://news8.de/pende
Thumbnail
随着加密市场出现稳定的迹象,现存最大的以太坊(ETH)鲸鱼正在积累分散式甲骨文网络Chainlink(LINK)和一系列分散式金融(DeFi)altcoin。 #defi #eth