ENS: Ethereum Name Service

更新於 發佈於 閱讀時間約 8 分鐘

(這篇原文我於 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 轉到我的位址下。

raw-image

然後裡面包含兩次的 Token 轉移,一次是從 0x0 轉到 ENS 的 Registry ,一次是從 ENS Registry 轉移到我的位址。

raw-image

Token 是符合 ERC-721 規範,也就是說它是顆 NFT。

所以在我的 Opensea 下也可以看到這顆 Token

raw-image

再來看看註冊域名時,它怎麼呼叫合約的:

raw-image
raw-image

看來是呼叫合約中的 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 的域名來說,似乎無傷痛癢。

留言
avatar-img
留言分享你的想法!
avatar-img
Steven Shen的沙龍
4會員
6內容數
Steven Shen的沙龍的其他內容
2024/11/28
這篇文章將帶您瞭解如何安裝和使用「沈浸式翻譯」Chrome擴充功能。詳細步驟包括如何申請Claude API金鑰及設定自身的翻譯需求。透過這個工具,您能輕鬆體驗雙語字幕翻譯,提升觀影的理解與樂趣。
Thumbnail
2024/11/28
這篇文章將帶您瞭解如何安裝和使用「沈浸式翻譯」Chrome擴充功能。詳細步驟包括如何申請Claude API金鑰及設定自身的翻譯需求。透過這個工具,您能輕鬆體驗雙語字幕翻譯,提升觀影的理解與樂趣。
Thumbnail
2023/08/20
位於奧地利的中部,如果有去奧地利旅行一定會拜訪的地點,有人稱之為世界最美小鎮 - 哈修塔特 Hallstatt
Thumbnail
2023/08/20
位於奧地利的中部,如果有去奧地利旅行一定會拜訪的地點,有人稱之為世界最美小鎮 - 哈修塔特 Hallstatt
Thumbnail
2023/07/23
你也可以沿著溪流朔溪而上,也常見民眾在溪中架起桌椅喝茶聊天,如果夏天不想去其他地方人擠人,也不想待在家吹冷氣,我覺得坪溪古道算是一個不算太多人知道的秘境
Thumbnail
2023/07/23
你也可以沿著溪流朔溪而上,也常見民眾在溪中架起桌椅喝茶聊天,如果夏天不想去其他地方人擠人,也不想待在家吹冷氣,我覺得坪溪古道算是一個不算太多人知道的秘境
Thumbnail
看更多
你可能也想看
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
TOMICA第一波推出吉伊卡哇聯名小車車的時候馬上就被搶購一空,一直很扼腕當時沒有趕緊入手。前陣子閒來無事逛蝦皮,突然發現幾家商場都又開始重新上架,價格也都回到正常水準,估計是官方又再補了一批貨,想都沒想就立刻下單! 同文也跟大家分享近期蝦皮購物紀錄、好用推薦、蝦皮分潤計畫的聯盟行銷!
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
每年4月、5月都是最多稅要繳的月份,當然大部份的人都是有機會繳到「綜合所得稅」,只是相當相當多人還不知道,原來繳給政府的稅!可以透過一些有活動的銀行信用卡或電子支付來繳,從繳費中賺一點點小確幸!就是賺個1%~2%大家也是很開心的,因為你們把沒回饋變成有回饋,就是用卡的最高境界 所得稅線上申報
Thumbnail
我們都知道ETH的帳戶是一串十分長的英文數字所組成,理論上可以隨意地創造出來,非常的低成本且便利,為什麼會需要隱身帳戶這項技術呢,要解決那些痛點? 就讓我們一起閱讀下去。本文會隨著作者理解持續更新。
Thumbnail
我們都知道ETH的帳戶是一串十分長的英文數字所組成,理論上可以隨意地創造出來,非常的低成本且便利,為什麼會需要隱身帳戶這項技術呢,要解決那些痛點? 就讓我們一起閱讀下去。本文會隨著作者理解持續更新。
Thumbnail
Hello 各位,我回來了,目前學業比較緊湊,偶爾才會發個文章,500系列會挑選我個人認為未來有發展的項目,以及我在幣圈看到比較多人討論的潛力項目,因此可能會忽略掉你認為有潛力的項目,如果有疑問的話也可以找我討論~
Thumbnail
Hello 各位,我回來了,目前學業比較緊湊,偶爾才會發個文章,500系列會挑選我個人認為未來有發展的項目,以及我在幣圈看到比較多人討論的潛力項目,因此可能會忽略掉你認為有潛力的項目,如果有疑問的話也可以找我討論~
Thumbnail
今天要跟大家介紹幣安加持的一款域名服務-Space ID,是目前主觀認為確定性較高的嚕空投項目,前車之鑑ENS曾經帶來一波爆富案例,建議讀者不要錯過了。前面會先跟大家簡述Space ID是什麼,接著帶讀者實際操作一遍註冊流程。
Thumbnail
今天要跟大家介紹幣安加持的一款域名服務-Space ID,是目前主觀認為確定性較高的嚕空投項目,前車之鑑ENS曾經帶來一波爆富案例,建議讀者不要錯過了。前面會先跟大家簡述Space ID是什麼,接著帶讀者實際操作一遍註冊流程。
Thumbnail
Step1:config2~3行的部分 打開public->config資料夾內的config.json 在前面的時候大家應該都有mint自己的nft並且可以在Opensea看到 所以我們現在要去Opensea找到我們NFT的合約跟token位置 https://testnets.opensea.i
Thumbnail
Step1:config2~3行的部分 打開public->config資料夾內的config.json 在前面的時候大家應該都有mint自己的nft並且可以在Opensea看到 所以我們現在要去Opensea找到我們NFT的合約跟token位置 https://testnets.opensea.i
Thumbnail
前幾天以太坊才合併成功,甚麼會是下一件「不可阻擋」的大事呢?
Thumbnail
前幾天以太坊才合併成功,甚麼會是下一件「不可阻擋」的大事呢?
Thumbnail
ENS 全名「Ethereum Name Service」,是建立在以太坊上的去中心化域名服務商,ENS 可以將以太坊地址轉換便於人類易於記憶和識別的字符,形成以「.eth」結尾的以太坊域名。 為什麼需要 ENS?
Thumbnail
ENS 全名「Ethereum Name Service」,是建立在以太坊上的去中心化域名服務商,ENS 可以將以太坊地址轉換便於人類易於記憶和識別的字符,形成以「.eth」結尾的以太坊域名。 為什麼需要 ENS?
Thumbnail
究竟什麼是 ENS?它有哪些潛在應用?為什麼會爆紅?有哪些風險呢?這篇文章,將會用各個角度,帶你一步步地認識 ENS。 ENS 是什麼? ENS 和我們生活常見的 DNS (網域名稱系統) ,其實有異曲同工之妙。 ENS 的特色 1.數位資產 2.客製化的數位身份 3.維護費用
Thumbnail
究竟什麼是 ENS?它有哪些潛在應用?為什麼會爆紅?有哪些風險呢?這篇文章,將會用各個角度,帶你一步步地認識 ENS。 ENS 是什麼? ENS 和我們生活常見的 DNS (網域名稱系統) ,其實有異曲同工之妙。 ENS 的特色 1.數位資產 2.客製化的數位身份 3.維護費用
Thumbnail
上一篇我們介紹到「虛擬性侵犯的法律困境」,以下就剩餘部分說明,還沒有看上一篇的讀友,可以先看一下之前的介紹,認識會比較完整喔!
Thumbnail
上一篇我們介紹到「虛擬性侵犯的法律困境」,以下就剩餘部分說明,還沒有看上一篇的讀友,可以先看一下之前的介紹,認識會比較完整喔!
Thumbnail
(這篇原文我於 2022 年 2 月 5 號發表於 mirror,最近想把文章轉移到 vocus,所以重複發文於此) 來了解一下它怎麼運作的: 我先到 ens.domain 買了一個域名 be-rich.eth,隨後就會透過我的 Metamask 錢包與合約互動。 這是該筆交易。
Thumbnail
(這篇原文我於 2022 年 2 月 5 號發表於 mirror,最近想把文章轉移到 vocus,所以重複發文於此) 來了解一下它怎麼運作的: 我先到 ens.domain 買了一個域名 be-rich.eth,隨後就會透過我的 Metamask 錢包與合約互動。 這是該筆交易。
Thumbnail
ENS 全名「Ethereum Name Service」,這是由以太基金會孵化的項目。基本上就是建立在以太鏈上的域名服務商。基本運作跟現在網域很像,Web2上就是把IP轉換成你熟悉的.com/.tw等等這樣的網址,而Web3就是把你的錢包地址轉換成.eth結尾的網域。好處是什麼?
Thumbnail
ENS 全名「Ethereum Name Service」,這是由以太基金會孵化的項目。基本上就是建立在以太鏈上的域名服務商。基本運作跟現在網域很像,Web2上就是把IP轉換成你熟悉的.com/.tw等等這樣的網址,而Web3就是把你的錢包地址轉換成.eth結尾的網域。好處是什麼?
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News