PIP: 4 Title: Account Names and Types Type: Protocol, Front-End Impact: Hard-Fork Author: Herman Schoenfeld <[email protected]> Comments-URI: N/A Status: Active Created: 2013-04-01
Allow accounts to have names similar to the Domain Name System, and to contain a type field.
PascalCoin accounts are currently easy to remember numbers similar to bank accounts. Named accounts allow users to additionally associate their email, chat nickname, domain name, company name, brand name, etc to their account to make it even more convenient to remit funds. Account names are also useful for Layer-2 protocols such as chat protocol (chat room names, user names, etc)
Account types allow an account to be distinguished for Layer-2 use cases. For example, an account of type 55 could be interpreted by clients as a "Chat Room" which accepts specially formatted Layer-2 messages. Also, future protocol upgrades may assign special consensus rules for accounts with different types. The possible values for account types range from 0..65535. Type 0 is reserved as the default use case of "User Account".
Account structure inside Account Segments will be expanded to include:
This new operation allows a user to change an account name and type. The account name is encoded in PascalCoin64 and must be unique or empty. If a Change Account Info operation registers a name that’s already registered, the operation is invalid. If there is another pending operation for the same name, the operation is discarded and not propagated by nodes. If a block contains two valid operations registering the same name, the block is invalid. Empty account names are exempt and any account is permitted to be nameless. This operation contains the following properties:
Available characters include:
abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*()-+{}[]_:`|<>,.?/~
Available characters include:
abcdefghijklmnopqrstuvwxyz!@#$%^&*()-+{}[]_:`|<>,.?/~
The PascalCoin GUI must be adequately updated to support the following:
In addition to account names, account data field would be desirable but it has been determined such a field would be too wasteful.
Proposed changes are not backwards compatible and will require a hard-fork.