Dịch vụ tên Ethereum (ENS) là một hệ thống đặt tên phân tán, mở và có thể mở rộng dựa trên chuỗi khối Ethereum.
Công việc của ENS là ánh xạ các tên dễ đọc như 'alice.eth' thành các định danh dễ đọc bằng máy như địa chỉ Ethereum, địa chỉ tiền mã hoá khác, hàm băm nội dung và siêu dữ liệu. ENS cũng hỗ trợ 'phân giải ngược', cho phép liên kết siêu dữ liệu như tên chuẩn hoặc mô tả giao diện với địa chỉ Ethereum.
ENS có các mục tiêu tương tự như DNS, Dịch vụ tên miền của Internet, nhưng có kiến trúc khác biệt đáng kể do khả năng và hạn chế của chuỗi khối Ethereum. Giống như DNS, ENS hoạt động trên một hệ thống gồm các tên phân cấp được phân tách bằng dấu chấm gọi là miền, trong đó chủ sở hữu miền có toàn quyền kiểm soát các miền phụ.
Các miền cấp cao nhất, như '.eth' và '.test ', được sở hữu bởi các hợp đồng thông minh được gọi là nhà đăng ký, trong đó chỉ định các quy tắc quản lý việc phân bổ tên miền phụ của họ. Bất kỳ ai cũng có thể, bằng cách tuân theo các quy tắc do các hợp đồng đăng ký này đặt ra, có được quyền sở hữu một miền để sử dụng cho riêng mình. ENS cũng hỗ trợ nhập tên DNS đã được người dùng sở hữu để sử dụng trên ENS.
Do tính chất phân cấp của ENS, bất kỳ ai sở hữu miền ở mọi cấp đều có thể định cấu hình miền phụ - cho chính họ hoặc cho người khác - như mong muốn. Ví dụ: nếu Alice sở hữu 'alice.eth', cô ấy có thể tạo 'pay.alice.eth' và cấu hình nó theo ý muốn.
ENS được triển khai trên mạng chính Ethereum và trên một số mạng thử nghiệm. Nếu bạn sử dụng một thư viện như thư viện Javascript ensjs hoặc ứng dụng của người dùng cuối, nó sẽ tự động phát hiện mạng mà bạn đang tương tác và sử dụng triển khai ENS trên mạng đó.