Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update terminology.mdx #290

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 123 additions & 71 deletions docs/terminology.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,37 +12,83 @@ export const meta = {

This page contains a glossary of terms used in the ENS documentation.

## Name

An ENS identifier such as 'alice.eth'. Names may consist of multiple parts, called labels, separated by dots. This also includes DNS names like `name.xyz`, or subnames like `sub.name.eth`.

## 2LD

Second-level domain.
This refers to a subname/subdomain of a top-level domain.
For example, `name.eth` and `name.com` are both second-level names.
A subname of a 2LD is a third-level domain or 3LD.

## Subname / Subdomain

A child name like `sub.name.eth`, whose parent is `name.eth`. Also referred to as a "subdomain". Every name (except for the root node) has a parent. For example, `name.eth` is a subname of `eth`.
## Blockchain

```
vault.luc.eth
```
A decentralized and distributed digital ledger that records transactions across many computers in a way that ensures security, transparency, and immutability.

## TLD
## CCIP Read

Top-level domain. This refers to names like `eth`, `com`, `xyz` which lie at the "top" of the naming hierarchy.
The "Cross Chain Interoperability Procol Read" specification, also known as [EIP-3668](https://eips.ethereum.org/EIPS/eip-3668), authored by Nick Johnson, is a specification that allows for secure and trustless offchain data retrieval.

```
.eth .com .xyz
```
It allows for an Ethereum call to defer to an [offchain gateway](/resolvers/ccip-read#writing-a-gateway) and then securely verify the resulting data on-chain.
With respect to ENS, this is typically used for offchain subnames that don't exist in the core Registry.

## Controller

The account that may edit the records of a name. The Controller may be changed by the Registrant or Controller.

## Cryptocurrency

Digital or virtual currency that uses cryptography for security and operates on a decentralized network, typically a blockchain.

## Decentralization

The distribution of control and decision-making from a central authority to a distributed network, enhancing security, transparency, and user autonomy.

## dApps (Decentralized Applications)

Applications that run on a decentralized network, such as Ethereum, and operate without a central authority.

## ENS (Ethereum Name Service)

A decentralized system that allows users to map human-readable names like "myname.eth" to complex Ethereum addresses. This simplifies the process of sending and receiving cryptocurrency.

## EIP-3668 (CCIP-Read)

A protocol that allows Ethereum smart contracts to securely access and retrieve data from outside Ethereum Mainnet when needed.

## Ethereum

A decentralized platform that enables developers to create and deploy smart contracts and decentralized applications (dApps). It has its own cryptocurrency called Ether (ETH).

## Expiry

The date and time at which an ENS name expires.
The implications of expiration depend on the type of name it is.
When a .eth 2LD expires (and its grace period elapses), then you lose ownership of the name.
When a wrapped subname expires, you may or may not lose ownership, depending on whether the name was emancipated.

## EVM (Ethereum Virtual Machine)

The software platform that developers use to create dApps on Ethereum. It is the runtime environment for smart contracts on Ethereum.

## Fuse

The technical term for a specific "permission" bit for a wrapped name. As the name implies, once that bit is flipped on, the fuse is burnt and cannot be unburnt (unless the name expires).

## Gateway

In the context of EIP-3668, it is a server that helps retrieve and provide offchain data to smart contracts on the blockchain.

## Grace Period

This is a short window of time after an ENS .eth name expires, in which the owner can still renew and retain the name. Currently this window is 90 days.

## Hexadecimal Address

A long string of alphanumeric characters used in blockchain to represent a user’s wallet address, which is difficult to remember and prone to errors.

## Interoperability

The ability of different systems, networks, or applications to work together and exchange information seamlessly.

## Label

An individual component of a name, such as 'alice'.
Expand All @@ -51,18 +97,56 @@ An individual component of a name, such as 'alice'.

The keccak256 hash of an individual label.

## Layer 2 (L2) Network

A secondary framework or protocol built on top of an existing blockchain (Layer 1) to improve scalability and speed while reducing transaction costs.

## L2 EVMs (Layer 2 Ethereum Virtual Machines)

Secondary networks built on top of Ethereum (Layer 1) to boost scalability, lower fees, and speed up transactions. They remain compatible with Ethereum tools, enabling developers to build faster, cost-efficient dApps.

## Mainnet

The main Ethereum network where actual transactions occur, as opposed to L2s and test networks where developers can test their applications.

## Name

An ENS identifier such as 'alice.eth'. Names may consist of multiple parts, called labels, separated by dots. This also includes DNS names like `name.xyz`, or subnames like `sub.name.eth`.

## Namehash

The algorithm used to process an ENS name and return a cryptographic hash uniquely identifying that name. Namehash takes a name as input and produces a _node_.

## NameWrapper

### Wrapped Name

The [ENS Name Wrapper](/wrapper/overview) is a contract for ENS that allows you to "wrap" any ENS name into a ERC-1155 NFT. This includes not only .eth 2LDs like `name.eth`, but also DNS names like `name.xyz`, or subnames like `sub.name.eth`.

## Node

A cryptographic hash uniquely identifying a name.

## Onchain

Refers to data or actions that are recorded directly on a blockchain, ensuring full transparency, security, and decentralization.

## Offchain

This term is typically used with respect to the Ethereum Mainnet blockchain. If data is not posted to the chain via an actual Ethereum Mainnet transaction, then it is "offchain". ENS names can also be offchain. For example names can use a special resolver to resolve records for subnames that don't exist on-chain in the Registry. This is also typically done with [CCIP Read](#ccip-read).

## Owner

The owner of a name is the entity referenced in the ENS registry's owner field. An owner may transfer ownership, set a resolver or TTL, and create or reassign subdomains.

## Primary Name

The ENS name that you want a particular ETH account to be associated with. When set, it will be displayed instead of your 0x address on integrating websites/apps. This is also often referred to as the "reverse record".

## Public Resolver

This is a standard resolver contract implementation written by ENS Labs. It supports all record types and anyone can use it. This is the default resolver used when registering a new name via the official manager app.

## Record

A piece of information that an ENS name "resolves" to (points to). The most common record is the ETH Address record, which determines what ETH 0x address an ENS name points to.
Expand All @@ -71,94 +155,62 @@ A piece of information that an ENS name "resolves" to (points to). The most comm

A registration is a registrar's record of a user's ownership of a name. This is distinct from the owner field in the Registry; registrations are maintained in the registrar contract and additionally store information on expiry date, fees paid, etc.

### Registrar
## Registrar

A registrar is a contract responsible for allocating subdomains. Registrars can be configured at any level of ENS, and are pointed to by the owner field of the registry.

### Registrant
## Registrant

The owner of a registration. The registrant may transfer the registration, set the Controller, and reclaim ownership of the name in the registry if required.

### Registry
## Registry

The core contract of ENS, the registry maintains a mapping from domain name (at any level - x, y.x, z.y.x etc) to owner, resolver, and time-to-live. All lookups start with the Registry.

### Expiry

The date and time at which an ENS name expires.
The implications of expiration depend on the type of name it is.
When a .eth 2LD expires (and its grace period elapses), then you lose ownership of the name.
When a wrapped subname expires, you may or may not lose ownership, depending on whether the name was emancipated.

### Grace Period

This is a short window of time after an ENS .eth name expires, in which the owner can still renew and retain the name. Currently this window is 90 days.

### TTL

Stands for "Time To Live". This is a field in the core registry that can be set alongside the resolver. It can be used as a hint for clients to decide how long to cache resolved data.

## DNS

This is the Domain Name Service used by the internet to resolve addresses and other records from human-readable names. ENS aims to be fully complementary and compatible with DNS, and supports easy importing of DNS names via a special [DNSSEC](#dnssec) registrar.

### DNSSEC

Stands for Domain Name System Security Extensions. When a particular DNS TLD supports DNSSEC, then the owners of names can cryptographically sign records. This allows ENS to support easy importing of DNS names into the ENS registry, as the owner of the DNS name can prove ownership with those signed records.

## Resolver

A resolver is a contract that maps from name to the resource (e.g., cryptocurrency addresses, content hash, etc). Resolvers are pointed to by the resolver field of the registry.

### Wildcard Resolver
## Reverse Node

This refers to a resolver that supports [ENSIP-10](/ensip/10). This scheme allows clients to resolve data for subnames that either don't have a resolver of their own, or subnames that may not even exist on-chain at all. For offchain names, this is typically used in conjunction with [CCIP Read](#ccip-read).
A node in the Registry that can be claimed for any Ethereum account. The name this node represents is `[addr].addr.reverse`, where `[addr]` is the Ethereum public address (lowercase, without the "0x"). These reverse nodes are typically used to set a [Primary Name](#primary-name) for an account.

## Public Resolver
## Reverse Record

This is a standard resolver contract implementation written by ENS Labs. It supports all record types and anyone can use it. This is the default resolver used when registering a new name via the official manager app.
Usually, this is referring to the [Primary Name](#primary-name). Technically speaking, a [Reverse Node](#reverse-node) can have multiple records set on it, the same as any node.

## Offchain
## Smart Contracts

This term is typically used with respect to the Ethereum Mainnet blockchain. If data is not posted to the chain via an actual Ethereum Mainnet transaction, then it is "offchain". ENS names can also be offchain. For example names can use a special resolver to resolve records for subnames that don't exist on-chain in the Registry. This is also typically done with [CCIP Read](#ccip-read).
Self-executing contracts with the terms of the agreement directly written into code. They automatically enforce and execute actions when predefined conditions are met.

### CCIP Read
## Subgraph

The "Cross Chain Interoperability Procol Read" specification, also known as [EIP-3668](https://eips.ethereum.org/EIPS/eip-3668), authored by Nick Johnson, is a specification that allows for secure and trustless offchain data retrieval.
An indexed collection of data using TheGraph protocol.
In this documentation portal, "the subgraph" usually refers to the official ENS subgraph maintained by ENS Labs.
This is a useful offchain service that allows clients to query for information about names or accounts.

It allows for an Ethereum call to defer to an [offchain gateway](/resolvers/ccip-read#writing-a-gateway) and then securely verify the resulting data on-chain.
With respect to ENS, this is typically used for offchain subnames that don't exist in the core Registry.
## Subname / Subdomain

<EmbedLink
title="Offchain Resolution"
href="/learn/ccip-read#offchain-resolution"
description="Read more about offchain resolution and CCIP Read here"
/>
A child name like `sub.name.eth`, whose parent is `name.eth`. Also referred to as a "subdomain". Every name (except for the root node) has a parent. For example, `name.eth` is a subname of `eth`.

## Primary Name
```vault.luc.eth```

The ENS name that you want a particular ETH account to be associated with. When set, it will be displayed instead of your 0x address on integrating websites/apps. This is also often referred to as the "reverse record".

### Reverse Node
## TLD

A node in the Registry that can be claimed for any Ethereum account. The name this node represents is `[addr].addr.reverse`, where `[addr]` is the Ethereum public address (lowercase, without the "0x"). These reverse nodes are typically used to set a [Primary Name](#primary-name) for an account.
Top-level domain. This refers to names like `eth`, `com`, `xyz` which lie at the "top" of the naming hierarchy.

### Reverse Record
```.eth .com .xyz```

Usually, this is referring to the [Primary Name](#primary-name). Technically speaking, a [Reverse Node](#reverse-node) can have multiple records set on it, the same as any node.

## NameWrapper
## TTL

### Wrapped Name
Stands for "Time To Live". This is a field in the core registry that can be set alongside the resolver. It can be used as a hint for clients to decide how long to cache resolved data.

The [ENS Name Wrapper](/wrapper/overview) is a contract for ENS that allows you to "wrap" any ENS name into a ERC-1155 NFT. This includes not only .eth 2LDs like `name.eth`, but also DNS names like `name.xyz`, or subnames like `sub.name.eth`.
## Wildcard Resolver

This refers to a resolver that supports [ENSIP-10](/ensip/10). This scheme allows clients to resolve data for subnames that either don't have a resolver of their own, or subnames that may not even exist on-chain at all. For offchain names, this is typically used in conjunction with [CCIP Read](#ccip-read).

### Fuse

The technical term for a specific "permission" bit for a wrapped name. As the name implies, once that bit is flipped on, the fuse is burnt and cannot be unburnt (unless the name expires).

## Subgraph

An indexed collection of data using TheGraph protocol.
In this documentation portal, "the subgraph" usually refers to the official ENS subgraph maintained by ENS Labs.
This is a useful offchain service that allows clients to query for information about names or accounts.