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 的域名來說,似乎無傷痛癢。
為什麼會看到廣告
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
Steven Shen的沙龍 的其他內容
2022 年 6 月 13 號,這天不是一個尋常的星期一,在高通膨與美國聯準會有可能生息三碼的傳聞下,各種投資市場應聲下滑,包含美股與虛擬幣市場都是滿江紅。 比特幣更是從六月初的三萬塊的價格跌到目前接近兩萬塊,極有可能在這週結束前就跌破 2 萬塊。
2022 年 6 月 13 號,這天不是一個尋常的星期一,在高通膨與美國聯準會有可能生息三碼的傳聞下,各種投資市場應聲下滑,包含美股與虛擬幣市場都是滿江紅。 比特幣更是從六月初的三萬塊的價格跌到目前接近兩萬塊,極有可能在這週結束前就跌破 2 萬塊。
你可能也想看
Google News 追蹤
Thumbnail
Renzo简化了以太坊的重新质押,且通过 Eigenlayer 确保 DeFi 投资的安全:通过启用 ETH 存款来铸造EZETH,使用主动验证服务(AVS)来保护使用以太坊第一层安全协议在 EigenLayer 上构建的应用程序,更多详细资讯请看下面正文 🚀 币安 - 全球最大加密货币交易所
Thumbnail
亦来云ELA币怎么样?亦来云ELA币还有投资前景吗?亦来云英文全称为Elastos,缩写代码是ELA,创始人是陈榕,是全球第一个让区块链的可信能够传递到用户日常场景的操作系统!亦来云要解决区块链的 VM 和智能合约不适合传统软件的问题, 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 �
Thumbnail
这篇文章主要介绍了V神最新思考:两种途径解决PoS共识机制下的MEV问题的相关资料,感兴趣的朋友,赶快跟随小编一起来看看详细内容介绍吧! 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 特别感谢Justi
Thumbnail
这篇文章主要介绍了EWT币在哪里买?EWT币上线交易所大盘点的相关资料,需要的朋友可以参考下它是波拉生态板块的一种数字货币,该项目一个经过验证的公链。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 今天
Thumbnail
ENJ币即恩金币,它是2017年11月由恩金平台发行的一种加密货币,同时它还是Enjin这一在线游戏社区创作平台中的生态代币。现在有很多区块链投资者都想要知道这个恩金币怎么买?下面就让小编为大家带来ENJ币交易和买卖图文教程。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰
Thumbnail
这篇文章主要介绍了怎么买ETHW币?欧易okx交易所购买ETHW币操作教程的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N ETHW币的英文全称是Ether
Thumbnail
ETHO币的英文全称是Ether-1,它是一个基于以太坊的区块链,该项目集成了POW和双层主节点系统,其目的就是为了更好的保护网络,,很多对该币种感兴趣的投资者还不知道究竟这个ETHO币发行量多少?下面就让小编为大家带来ETHO币总量介绍, 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠
Thumbnail
ENS在近期小幣普跌期間逆勢上漲,顯示其強勢表現。 ENS 屢次嘗試突破26至28美元的壓力線,雖然面臨流動性減少的挑戰,但突破只是時間問題。 ENS作為 Web3 地址域名服務的龍頭,未來將受益於各國政府開放虛擬貨幣政策。目前多頭格局穩定,但需要主力吸收籌碼並帶量突破壓力價格以吸引更多資金進場。
Thumbnail
2024年初,$ENS兩周內大漲,1月8日當周漲101.15%,成交量創新高。5月再次上漲79.58%。主力吸籌區間在11至28美元。技術分析顯示上漲趨勢持續,ENS擴展及與GoDaddy合作鞏固其長期發展潛力。
Thumbnail
ERC-404是蝦米碗糕? 根據這篇文章表示: ERC-404是一個新的、實驗性的以太坊代幣標準,由匿名創建者"ctrl"和"Acme"開發。它結合了ERC-20(代表可替代代幣)和ERC-721(代表非同質化代幣,即NFT)的特點,創建了一種「半同質化」的數字資產。ERC-404的獨特之處在於
Thumbnail
Renzo简化了以太坊的重新质押,且通过 Eigenlayer 确保 DeFi 投资的安全:通过启用 ETH 存款来铸造EZETH,使用主动验证服务(AVS)来保护使用以太坊第一层安全协议在 EigenLayer 上构建的应用程序,更多详细资讯请看下面正文 🚀 币安 - 全球最大加密货币交易所
Thumbnail
亦来云ELA币怎么样?亦来云ELA币还有投资前景吗?亦来云英文全称为Elastos,缩写代码是ELA,创始人是陈榕,是全球第一个让区块链的可信能够传递到用户日常场景的操作系统!亦来云要解决区块链的 VM 和智能合约不适合传统软件的问题, 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 �
Thumbnail
这篇文章主要介绍了V神最新思考:两种途径解决PoS共识机制下的MEV问题的相关资料,感兴趣的朋友,赶快跟随小编一起来看看详细内容介绍吧! 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 特别感谢Justi
Thumbnail
这篇文章主要介绍了EWT币在哪里买?EWT币上线交易所大盘点的相关资料,需要的朋友可以参考下它是波拉生态板块的一种数字货币,该项目一个经过验证的公链。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N 今天
Thumbnail
ENJ币即恩金币,它是2017年11月由恩金平台发行的一种加密货币,同时它还是Enjin这一在线游戏社区创作平台中的生态代币。现在有很多区块链投资者都想要知道这个恩金币怎么买?下面就让小编为大家带来ENJ币交易和买卖图文教程。 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰
Thumbnail
这篇文章主要介绍了怎么买ETHW币?欧易okx交易所购买ETHW币操作教程的相关资料,需要的朋友可以参考下本文详细内容介绍 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠 💥 💰 注册即享 20% 手续费返佣 🔑 专属邀请码: R851UX3N ETHW币的英文全称是Ether
Thumbnail
ETHO币的英文全称是Ether-1,它是一个基于以太坊的区块链,该项目集成了POW和双层主节点系统,其目的就是为了更好的保护网络,,很多对该币种感兴趣的投资者还不知道究竟这个ETHO币发行量多少?下面就让小编为大家带来ETHO币总量介绍, 🚀 币安 - 全球最大加密货币交易所 💥 独家优惠
Thumbnail
ENS在近期小幣普跌期間逆勢上漲,顯示其強勢表現。 ENS 屢次嘗試突破26至28美元的壓力線,雖然面臨流動性減少的挑戰,但突破只是時間問題。 ENS作為 Web3 地址域名服務的龍頭,未來將受益於各國政府開放虛擬貨幣政策。目前多頭格局穩定,但需要主力吸收籌碼並帶量突破壓力價格以吸引更多資金進場。
Thumbnail
2024年初,$ENS兩周內大漲,1月8日當周漲101.15%,成交量創新高。5月再次上漲79.58%。主力吸籌區間在11至28美元。技術分析顯示上漲趨勢持續,ENS擴展及與GoDaddy合作鞏固其長期發展潛力。
Thumbnail
ERC-404是蝦米碗糕? 根據這篇文章表示: ERC-404是一個新的、實驗性的以太坊代幣標準,由匿名創建者"ctrl"和"Acme"開發。它結合了ERC-20(代表可替代代幣)和ERC-721(代表非同質化代幣,即NFT)的特點,創建了一種「半同質化」的數字資產。ERC-404的獨特之處在於