The Ethereum Name Service (ENS) is a distributed, open, and extensible naming system based on the Ethereum blockchain.
ENS’s job is to map human-readable names like ‘alice.eth’ to machine-readable identifiers such as Ethereum addresses, other cryptocurrency addresses, content hashes, and metadata. ENS also supports ‘reverse resolution’, making it possible to associate metadata such as canonical names or interface descriptions with Ethereum addresses.
ENS has similar goals to DNS, the Internet’s Domain Name Service, but has significantly different architecture due to the capabilities and constraints provided by the Ethereum blockchain. Like DNS, ENS operates on a system of dot-separated hierarchical names called domains, with the owner of a domain having full control over subdomains.
Top-level domains, like ‘.eth’ and ‘.test’, are owned by smart contracts called registrars, which specify rules governing the allocation of their subdomains. Anyone may, by following the rules imposed by these registrar contracts, obtain ownership of a domain for their own use. ENS also supports importing in DNS names already owned by the user for use on ENS.
Because of the hierarchal nature of ENS, anyone who owns a domain at any level may configure subdomains - for themselves or others - as desired. For instance, if Alice owns 'alice.eth', she can create 'pay.alice.eth' and configure it as she wishes.
ENS is deployed on the Ethereum main network and on several test networks. If you use a library such as the Javascript library, or an end-user application, it will automatically detect the network you are interacting with and use the ENS deployment on that network.
ENS Architecture
ENS has two principal components: the registry, and resolvers.
The ENS registry consists of a single smart contract that maintains a list of all domains and subdomains, and stores three critical pieces of information about each:
The owner of a domain may be either an external account (a user) or a smart contract. A registrar is simply a smart contract that owns a domain and issues subdomains of that domain to users that follow some set of rules defined in the contract.
Owners of domains in the ENS registry may:
The ENS registry is deliberately straightforward and exists only to map from a name to the resolver responsible for it.
Resolvers are responsible for the actual process of translating names into addresses. Any contract that implements the relevant standards may act as a resolver in ENS. General-purpose resolver implementations are offered for users whose requirements are straightforward, such as serving an infrequently changed address for a name.
Each record type - cryptocurrency address, IPFS content hash, and so forth - defines a method or methods that a resolver must implement in order to provide records of that kind. New record types may be defined at any time via the EIP standardization process, with no need to make changes to the ENS registry or to existing resolvers in order to support them.
Resolving a name in ENS is a two-step process: First, ask the registry what resolver is responsible for the name, and second, ask that resolver for the answer to your query.
In the above example, we're trying to find the Ethereum address pointed to by 'foo.eth'. First, we ask the registry which resolver is responsible for 'foo.eth'. Then, we query that resolver for the address of 'foo.eth'.
Namehash
Resource constraints in smart contracts make interacting directly with human-readable names inefficient, so ENS works purely with fixed length 256-bit cryptographic hashes. In order to derive the hash from a name while still preserving its hierarchal properties, a process called Namehash is used. For example, the namehash of 'alice.eth' is 0x787192fc5378cc32aa956ddfdedbf26b24e8d78e40109add0eea2c1a012c3dec; this is the representation of names that is used exclusively inside ENS.
Namehash is a recursive process that can generate a unique hash for any valid domain name. Starting with the namehash of any domain - for example, 'alice.eth' - it's possible to derive the namehash of any subdomain - for example 'iam.alice.eth' - without having to know or handle the original human-readable name. It is this property that makes it possible for ENS to provide a hierarchal system, without having to deal with human-readable text strings internally.
Before being hashed with namehash, names are first normalized, using a process called UTS-46 normalization. This ensures that upper- and lower-case names are treated equivalently, and that invalid characters are prohibited. Anything that hashes and resolves a name must first normalize it, to ensure that all users get a consistent view of ENS.
검증 됨 0%
주의. 확인되지 않은 회원은 실제로 팀원이 아닌 위험이 있습니다.
검증 됨 0%
주의. 확인되지 않은 회원은 실제로 팀원이 아닌 위험이 있습니다.
이 쿠폰은 쿠폰 제공자가 제공 한 정보 및 기타 공개적으로 제공되는 정보를 기반으로합니다. 토큰 판매 또는 교환 이벤트는 ICO 보유자와 전적으로 관련이 없으며 ICOholder는 이에 관여하지 않습니다 (기술 지원 또는 프로모션 포함). ICOholder와 관계가없는 사람들로부터 나열된 토큰 판매는 고객이 전반적인 토큰 부문에서 발생하는 활동을 추적하는 데 도움이되는 경우에만 표시됩니다. 이 정보는 귀하가 의지해야 할 조언에 해당하지 않습니다. 당사 사이트의 내용을 기반으로 한 조치를 취하거나 삼 가기 전에 전문가 또는 전문가의 자문을 구하거나 자신의 실사를 수행해야합니다. 토큰 획득과 관련하여 참가자가 입력 한 조건은 토큰과 ICO 소유자의 발행인이 그러한 토큰의 판매자가 아닙니다. ICO 소유자는 토큰 판매와 관련하여 제 3 자의 진술에 대해 법적 책임이 없으며 계약 위반에 대한 청구는 여기에 열거 된 토큰 발행 기관과 직접 체결해야합니다.
이 토큰 판매 또는 관련 인물의 성격, 적법성 또는 합법성에 대해 우려되는 점이 있으면 info@icoholder.com 에 문의하십시오. 귀하의 우려 사항에 대한 자세한 정보를 제공하십시오.