EIP-4972: Name Owned Account


eip: 4972
title: Name Owned Account
description: Name Owned Account for Social Identity
author: Qi Zhou (@qizhou)
discussions-to: EIP-4972: Name Owned Account
status: Draft
type: Standards Track
category: ERC
created: 2022-04-04
requires: 20, 721

Abstract

This ERC proposes a new type of account - name-owned account (NOA) that is controlled by the owner of the name besides existing externally-owned account (EOA) and contract account (CA). With the new account type, users will be able to transfer/receive tokens using the name-derived address directly instead of the address of the name owner. A NOA can be as a social identity with all states on-chain even under 3rd-party or self custody. It also simplifies porting the social identity from one custody to another.

3 Likes

Can you update the code link? The link is not working.

Just updated accordingly.

Does this conflict with ENS ?

No, it doesn’t conflict with ENS. The idea is actually inspired by ENS. ENS can serve as the name service to prove the name ownership.

Should this standard also include an ERC-165 implementation?

1 Like

Yes, will update accordingly.

I have one quick question: who pays for the gas to update the operators of an NOA?

Thanks for the question. Who pays for the gas depends on the application scenario. One scenario is when a user wants to transfer all the assets from the platform-custodian operator to the self-custodian operator by sending an operator-transfer-request on the platform. As a result, the platform will change the operator upon the user’s request and pay the gas fee to update the operator. (Note that the platform may charge the user’s gas fee as CEX does)

Another scenario is when the NOA is self-custodied and the user wants to sell the assets to a platform. by batch-transferring the assets owned by the NOA to the platform’s operator. This can be done by sending a tx of changing operator at the cost of the user.

Hope this could explain your question. Please let us know if you have further questions!

2 Likes

I proposed a simplified version of EIP-4972 at Update EIP-4972: Move to Draft by dongshu2013 · Pull Request #6804 · ethereum/EIPs · GitHub. Instead of creating a new account type whose namespace is not overlapped with existing CA/EOA, the new version assumes NOA is CA to avoid compatibility problems brought by the original proposal.

The new version extends ERC-137 and assign each ENS name a ready-to-use smart contract account, which we believe will help the smart contract account adoption.

With EIP-4972, we expand the “name” to a more comprehensive smart account so it can hold its own contexts and state. When transferring names, you are also transferring the account along with its state.

EIP-6551 just proposed a similar idea for ERC-721 ERC-6551: Non-fungible Token Bound Accounts - #40 by dongshu2013.