# Setonix: Blockchain-Based Hierarchy Domain Name System for Web3
## 4 Design of Setonix DNS for Supporting Fully Decentralized Web3 Access
### Architecture
#### 4.2.2 Interface Part  
As mentioned earlier in the Design Consideration section, accessing the DNS uploaded to the blockchain network in the same way as traditional systems presents challenges. To address this, an interface is designed to enable the use of the DNS, and it is packaged together with the DNS as a set to enhance user convenience. Among the various methods available for creating the interface, a proxy was chosen because it allows for installation on the user's device and enables the local resolver to route through the proxy. The advantage of this approach is that all DNS requests from the user's device can be routed through the proxy, making it adaptable for all services. Additionally, when using a local resolver, the cache it contains can be utilized, which helps to compensate for the potentially higher latency of the blockchain-based DNS compared to conventional DNS. In line with the considerations mentioned earlier, the system is designed to allow the use of both conventional domain names and dedicated Web3 domain names without requiring a separate DNS switching process for user convenience. To achieve this, a protocol checker is placed within the interface to distinguish between conventional and dedicated domain names (Web3 domains) in the incoming domain resolving requests, applying different resolving methods to each. Figure 4 illustrates the content described so far, providing a visual representation that makes it easier to understand the compatibility between Web2 and Web3 DNSs. It shows how a request originating from a local resolver passes through the protocol checker within the proxy interface and is categorized into upper and lower pathways. This is made possible by the protocol checker, which is designed to determine the prefix of the received domain name and classify it based on the presence or absence of the prefix. Through this process, it enables seamless switching between Web2 and Web3 domain names without explicit user intervention. Figure 3: The architecture of the Setonix DNS contract, which is uploaded to the blockchain network and operates as an actual DNS. The custom resolver is a module that handles conventional domain names categorized by the protocol checker, and it allows the user to choose which existing DNS, such as Google or Cloudflare, to send the request to. The contract interactor is a module used to resolve the remaining custom domain names categorized by the protocol checker. As the name suggests, it is equipped with the functionality to interact with the DNS uploaded to the blockchain network, allowing it to retrieve the address from the domain name-address pairs mapped on the blockchain and to serve the result. Figure 5 is a sequence diagram that illustrates the entire process, from a domain-name-resolving request to accessing a Web3 service, using all the elements described in the Architecture section. To review the process so far, the user device sends a domain-name-resolving request to the proxy client running on the device for service access. The protocol checker classifies the request and forwards it to the Setonix DNS uploaded on the blockchain for resolution. The Setonix DNS receives the request and searches for the address matching the domain name in its stored list of names and addresses. It then returns the result to the client interface, which sends it back to the user device. The user device, having received the address, uses that information to access the Web3 service. Access to conventional addresses is handled differently by the client interface. When the user requests an address from the interface, if the protocol checker identifies it as a conventional domain name, the request is sent to the pre-configured conventional DNS. The process then continues by receiving the IP address from the DNS, returning it to the device, and using it to access the service. In other words, the client interface enables a seamless handling of all types of addresses without any DNS-switching processes.