-
Notifications
You must be signed in to change notification settings - Fork 55
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
On-chain Domain Resolution #187
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice!
# On-chain data | ||
|
||
## Domain Format | ||
A VASP domain name is a unique string that is mapped to a VASP. Specification: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is there any recommendations on how a VASP should pick a domain name? For example, should company ABC that already has abc.com use that as a domain name? Or perhaps just abc?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is appropriate scope within a DIP.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's fine to say this is something the Diem Association will provide rules on, however, I think some guidance somewhere is important. Where will that guidance exist?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe on VASP onboarding guide? I agree it shouldn't be on this DIP
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there were some hiccups on the guide that are being worked on. There is some content in the operators-runbook repo.
dips/dip-182.md
Outdated
A VASP domain name is a unique string that is mapped to a VASP. Specification: | ||
* Case insensitive | ||
* Valid regular expression: `^[a-zA-Z0-9][a-zA-Z0-9.]*$` | ||
* Maximum length: 63 characters (64 including `@`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm a bit confused. What is the '@'? This is the first and only reference of it in the proposal.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haha, legacy cruft 😭
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it ok if we just keep it 63 characters? @ is from diem ID. People might be confused why it's 63 vs 64
dips/dip-182.md
Outdated
* Only TC account can create and publish a `DiemIdDomains` resource | ||
* Only TC account can add, remove or update a `DiemIdDomain` within `DiemIdDomains` resource | ||
* `DiemIDDomains` resource will be created in an empty state as part of creating a `ParentVASP` account resource, and existing `ParentVASP` accounts without `DiemIDDomains` will have the resource instantiated by the DiemRoot account | ||
* In order to register a DiemID domain, a VASP needs to submit a request to Diem Association. After approval, Diem Association will use TreasuryCompliance account to issue an on-chain transaction to register a DiemID Domain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is the Association responsible for ensuring the uniqueness of all VASP domain names at any given time? Across all history? Will domain name re-used be supported, say after a delay, similar to ICANN?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is the appropriate doc to describe processes like that.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Where will we have that information? If folks are to use this feature they will need to know these types of things.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fair to some of your points. I agree it is relevant to say that all names are to be unique and that is the responsibility of the TC maintainers to ensure uniqueness.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added a sentence here about DA ensuring uniqueness. Didn't mention anything about re-use, not sure about that one.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
On the one hand, I agree that there are a lot of processes and perhaps it may be worthwhile calling out in an appendix. Though I do have concerns about mixing DA process with technical solutions. Perhaps there should be a secondary DIP on processes if we deem it appropriate.
# On-chain data | ||
|
||
## Domain Format | ||
A VASP domain name is a unique string that is mapped to a VASP. Specification: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is appropriate scope within a DIP.
dips/dip-182.md
Outdated
A VASP domain name is a unique string that is mapped to a VASP. Specification: | ||
* Case insensitive | ||
* Valid regular expression: `^[a-zA-Z0-9][a-zA-Z0-9.]*$` | ||
* Maximum length: 63 characters (64 including `@`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Haha, legacy cruft 😭
dips/dip-182.md
Outdated
* Only TC account can create and publish a `DiemIdDomains` resource | ||
* Only TC account can add, remove or update a `DiemIdDomain` within `DiemIdDomains` resource | ||
* `DiemIDDomains` resource will be created in an empty state as part of creating a `ParentVASP` account resource, and existing `ParentVASP` accounts without `DiemIDDomains` will have the resource instantiated by the DiemRoot account | ||
* In order to register a DiemID domain, a VASP needs to submit a request to Diem Association. After approval, Diem Association will use TreasuryCompliance account to issue an on-chain transaction to register a DiemID Domain |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is the appropriate doc to describe processes like that.
* Only TC account can create and publish a `VaspDomains` resource | ||
* Only TC account can add, remove or update a `VaspDomain` within `VaspDomains` resource | ||
* `VaspDomains` resource will be created in an empty state as part of creating a `ParentVASP` account resource, and existing `ParentVASP` accounts without `VaspDomains` will have the resource instantiated by the DiemRoot account | ||
* In order to register a VASP domain, a VASP needs to submit a request to Diem Association. After approval, Diem Association will use TC account to issue an on-chain transaction to register a VaspDomain. Diem Association will ensure uniqueness of domain names across all VASPs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If the number of VASPs is not too large, it should be fine for the Diem Association to handle registration, expiration, uniqueness, re-use, and other characteristics. Before this DIP can move to Accepted, I think we will need to have commitment from the Diem Association that these responsibilities can be taken on.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be pretty quick conversation with @pdhamdhere .
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/land
# On-chain data | ||
|
||
## Domain Format | ||
A VASP domain name is a unique string that is mapped to a VASP. Specification: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think there were some hiccups on the guide that are being worked on. There is some content in the operators-runbook repo.
* Only TC account can create and publish a `VaspDomains` resource | ||
* Only TC account can add, remove or update a `VaspDomain` within `VaspDomains` resource | ||
* `VaspDomains` resource will be created in an empty state as part of creating a `ParentVASP` account resource, and existing `ParentVASP` accounts without `VaspDomains` will have the resource instantiated by the DiemRoot account | ||
* In order to register a VASP domain, a VASP needs to submit a request to Diem Association. After approval, Diem Association will use TC account to issue an on-chain transaction to register a VaspDomain. Diem Association will ensure uniqueness of domain names across all VASPs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be pretty quick conversation with @pdhamdhere .
On-chain domain resolution of human readable VASP domain names into an on-chain address. Used by DIP-10 Diem ID protocol.
#182