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

Add EIP-5131: ENS Subdomain Authentication #5131

Merged
merged 36 commits into from
Jul 9, 2022
Merged

Add EIP-5131: ENS Subdomain Authentication #5131

merged 36 commits into from
Jul 9, 2022

Conversation

wwhchung
Copy link
Contributor

@wwhchung wwhchung commented Jun 3, 2022

When opening a pull request to submit a new EIP, please use the suggested template: https://github.com/ethereum/EIPs/blob/master/eip-template.md

We have a GitHub bot that automatically merges some PRs. It will merge yours immediately if certain criteria are met:

  • The PR edits only existing draft PRs.
  • The build passes.
  • Your GitHub username or email address is listed in the 'author' header of all affected PRs, inside .
  • If matching on email address, the email address is the one publicly listed on your GitHub profile.

@eth-bot
Copy link
Collaborator

eth-bot commented Jun 3, 2022

All tests passed; auto-merging...

(pass) eip-5131.md

classification
updateEIP
  • passed!

Copy link
Member

@Pandapip1 Pandapip1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have the time right now to look at the content (I will later), but here are a few changes that need to be made.

EIPS/eip-603.md Outdated Show resolved Hide resolved
EIPS/eip-603.md Outdated Show resolved Hide resolved
EIPS/eip-603.md Outdated Show resolved Hide resolved
@wwhchung wwhchung changed the title Add EIP-603: ENS Auth Linking Add EIP-5131: ENS Auth Linking Jun 3, 2022
@wwhchung
Copy link
Contributor Author

wwhchung commented Jun 3, 2022

Thanks. I have made the suggested edits.

@Pandapip1
Copy link
Member

FYI - I've left a comment on your discussion thread.

@wwhchung
Copy link
Contributor Author

wwhchung commented Jun 3, 2022

Saw that and responded, thanks! Look forward to continuing the discussion there!

EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
@wwhchung wwhchung changed the title Add EIP-5131: ENS Auth Linking Add EIP-5131: ENS Subdomain Authentication Jun 3, 2022
Copy link
Member

@Pandapip1 Pandapip1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've got a few more suggestions (primarily changing read only to reversible

EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
Copy link
Contributor Author

@wwhchung wwhchung left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving edit suggestions.

@wwhchung
Copy link
Contributor Author

wwhchung commented Jun 3, 2022

Thanks for the suggestion @Pandapip1 commited. :)

Copy link
Contributor

@blmalone blmalone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking great, I've given it a first pass.

EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated
Let:
- `mainAddress` represent the wallet address we are trying to authenticate or very asset ownership for
- `mainENS` represent the reverse lookup ENS string for `mainAddress`
- `authAddress` represent the address we want to sign with in lieu of `mainAddress`
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are we going to add any requirement on this being an EOA?

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd say not (for both authAddress and mainAddress) because we wouldn't gain anything from such a restriction, would we?

Copy link
Contributor

@blmalone blmalone Jun 6, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On second thought, we shouldn't be restricting it because a smart contract address could be used pretty easily with the right setup.

@blmalone
Copy link
Contributor

blmalone commented Jun 3, 2022

@wwhchung I'm in favor of having some screenshots included to demonstrate the configuration of authAddress, authENS etc.

EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
wwhchung and others added 4 commits June 14, 2022 09:00
Co-authored-by: lightclient <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: lightclient <[email protected]>
@wwhchung
Copy link
Contributor Author

Fwiw, I recall a very similar EIP within the past few months wanting to allow an NFT owner to grant access/authorization over the EIP to multiple other wallets.

Thanks. I didn't see the other EIP when I was looking, and circulating it around the other groups I'm part of (NFT Security Group, ENS, etc.) they haven't encountered it either.

What would the next steps here be? Looking forward to having it merged in

EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated Show resolved Hide resolved
wwhchung and others added 2 commits June 27, 2022 16:35
Co-authored-by: Sam Wilson <[email protected]>
Co-authored-by: Sam Wilson <[email protected]>
EIPS/eip-5131.md Outdated Show resolved Hide resolved
EIPS/eip-5131.md Outdated
Note that this specification allows for both contract level and client/server side validation of signatures. It is not limited to smart contracts, which is why there is no proposed external interface definition.

## Rationale
The proposed specification allows one to link multiple addresses as 'authentication addresses' to a core main address. This is beneficial from a security standpoint (if the authentication address is compromised, the assets held by the main address is not), and convenience (if the authentication address is a simple MetaMask wallet but the main address is a hardware wallet).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I think this section is reading more like motivation than rationale. I think you should consider moving a fair bit of this content above and focus on answering why certain design decisions were chosen over other decisions here.

## Motivation
Proving ownership of an asset to a third party application in the Ethereum ecosystem is common. Users frequently sign payloads of data to authenticate themselves before gaining access to perform some operation. However, this method--akin to giving the third party root access to one's main wallet--is both insecure and inconvenient.

*** Examples: ***

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This EIP seems highly useful given these examples. At the moment there is a real pain point of holding assets securely while still being able to prove ownership via a hot wallet especially in mobile settings. I'd be excited to see this proposal go through

@macmac0726171992
Copy link

macmac0726171992 commented Jul 5, 2022 via email

Copy link
Member

@Pandapip1 Pandapip1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit

EIPS/eip-5131.md Outdated Show resolved Hide resolved
Co-authored-by: Pandapip1 <[email protected]>
Copy link
Member

@Pandapip1 Pandapip1 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is what is failing Travis CI. As soon as this is fixed, this can be merged!

EIPS/eip-5131.md Outdated Show resolved Hide resolved
@eth-bot eth-bot enabled auto-merge (squash) July 9, 2022 17:36
auto-merge was automatically disabled July 9, 2022 21:18

Head branch was pushed to by a user without write access

Co-authored-by: Pandapip1 <[email protected]>
@eth-bot eth-bot enabled auto-merge (squash) July 9, 2022 21:19
@eth-bot eth-bot merged commit f6db72a into ethereum:master Jul 9, 2022
nachomazzara pushed a commit to nachomazzara/EIPs that referenced this pull request Jan 13, 2023
* Add EIP-603: ENS Auth Linking

* rename eip-603 to eip-5131 and remove external links

* changing to an ERC

* additional context

* add refrence implementations

* rename

* edits as per suggestions

* further content edits

* grammar fix

* short description change

* update discussion link

* update ref implementation

* update with new reference code

* format edits

* update reference implementation

* Update eip-5131.md

* add additional code for sample implementation

* clean up Abstract and move contents into Motivation

* Update eip-5131.md

* Update EIPS/eip-5131.md

Co-authored-by: Sam Wilson <[email protected]>

* edits

* Update EIPS/eip-5131.md

Co-authored-by: Daniel Tedesco <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: Daniel Tedesco <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: lightclient <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: lightclient <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: lightclient <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: lightclient <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: lightclient <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: Sam Wilson <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: Sam Wilson <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: lightclient <[email protected]>

* update Specification for EIP-5131

* update Rationale section

* improve Motivation section

* Update EIPS/eip-5131.md

Co-authored-by: Pandapip1 <[email protected]>

* Update EIPS/eip-5131.md

Co-authored-by: Pandapip1 <[email protected]>

Co-authored-by: Sam Wilson <[email protected]>
Co-authored-by: Daniel Tedesco <[email protected]>
Co-authored-by: lightclient <[email protected]>
Co-authored-by: Pandapip1 <[email protected]>
@nuel-ikwuoma
Copy link

nuel-ikwuoma commented Sep 7, 2023

@wwhchung curious to know the state of this EIP, is it still relevent or deprecated?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.