Skip to content

Latest commit

 

History

History
82 lines (66 loc) · 3.81 KB

fip-0044.md

File metadata and controls

82 lines (66 loc) · 3.81 KB
fip title status type author created updated
44
Allow FIO Domains to be mapped to DNS record
Draft
Functionality
Pawel Mastalerz <[email protected]>
2022-08-22
2022-08-22

Abstract

This FIP proposes to extend the FIO Protocol functionality to enable FIO Domains to be mapped to DNS Resource Records which would make them usable within existing Internet Protocol applications, such as mapping a FIO Domain to a website.

New actions

Contract Action Endpoint Description
Add/Modify/Delete DNS Record TBD TBD Will map FIO Domain to DNS record.

New getters

Endpoint Description
Get DNS Record Will fetch DNS record associated with supplied name and record type.

Motivation

Neither FIO Crypto Handles (FCHs) nor FIO Domains currently support the resolution of Internet Protocol addresses akin to DNS. Some community members have expressed interest in adding such capability to the FIO Protocol as it would add more utility to the FIO Domains and the FIO Protocol overall. Since FIO Chain is a full decentralized blockchain, hosting DNS mappings on it would allow them to be immutable and not subject to centralized control.

Specification

This is an early draft of the FIP intended for discussion and detail specification has not yet been created.

New actions

Add/Modify/Delete DNS Record

Will map FIO Domain to DNS record following RFC-1035 format:

  • NAME - FIO domain name to which this resource record pertains.
  • TYPE - Two octets containing one of the RR TYPE codes.
  • CLASS - Two octets containing one of the RR CLASS codes.
  • TTL - A 32 bit signed integer that specifies the time interval that the resource record may be cached before the source of the information should again be consulted
  • RDATA - A variable length string of octets that describes the resource

Example request

{
	"name": "alice",
	"type": "A",
	"class": "IN",
	"ttl": 300,
	"rdata": "104.26.11.44",
	"max_fee": 1000000000,
	"tpid": "rewards@wallet",
	"actor": "aftyershcu22"
}

New getters

Get DNS Record

Will fetch DNS record associated with supplied name and record type.

Example request

{
	"name": "alice",
	"type": "A"
}

Rationale

The goal of DNS mappings would be to make them compatible with the existing DNS conventions, which expects the name to have the format of 'subdomain.domain.tld'.

Adding DNS mapping capabilities to the FCH would fail to achieve this goal and could potentially be confusing to users due to the FCH format which contains the '@' symbol, e.g. purse@alice. Therefore, this FIP proposes adding mapping capability to FIO Domains instead.

Furthermore, the FIO Protocol does not currently support the notion of sub-domains, or top level domains (TLDs). A .fio TLD could be appended by the integrating application to indicate that resolution request should be directed to the FIO Protocol. .fio TLD is not currently supported by ICANN and therefore there would not be any collisions with traditional DNS. Foundation for Interwallet Operability could consider funding the .fio TLD application with ICANN in the future once TLD applications resume. If Alternative DNS Roots, such as Handshake gain more global traction, those could be used instead. The concept of FIO sub-domains is not proposed in this FIP, but could be considered in the future.

Implementation

TBD

Backwards Compatibility

None anticipated.

Future considerations

TBD

Discussion link

https://fioprotocol.atlassian.net/wiki/spaces/DAO/pages/522649601/Allow+FIO+Domains+to+be+mapped+to+DNS+record