Introduction to the Penta Account System V2

in #penta6 years ago

Introduction

The first article in the Penta Account Architecture (link to first article) series introduced the account structure and address scheme. This next article continues the ‘deep dive’ into Penta account creation and operations, with details of the Penta account name format, account creation process, and the account lock function.

Account Name Format

Most blockchain platforms constrain end-users with little control over individual account naming. Typical account ‘names’ are a sequence of difficult to remember random characters, hardly convenient as a (digital) wallet address.

Personalized account names are one example of the Penta Network’s goal to function in as much a user-friendly fashion as possible. Account names are set according to users’ individual preferences. By default, this name is initialized as a null (empty) string. Accounts without an account name can only be accessed through their complete and permanent address.

Once customized, access to accounts are either by the custom account name if it has been set, or by permanent address. Account names are ‘singletons’. That is, they are set a single, first time and are required to be unique across the network. Name collisions are resolved on a first come first served basis, the allowed characters for the account name are numbers from 0 to 9 and lowercase letters a to z.

The length of an account name is between a minimum of 3 and a maximum of 13 characters. Plus, the length of the associated ordinary user name should be between 8 to 13 digits. User names less than 8 characters are subject to a premium fee. The general user names policy is: the shorter its length, the higher the accompanying fee. A future article will be devoted to fee specifics and associated standards.

Account Management Introduction

The design of the Penta account management system optimizes for the privacy and security of each key. Three private keys: TxKey, ConsensusKey and SeedKey are generated by the system. A fourth OwnerKey is used to control any account management action and will sign any account management transaction, which is then recorded on the ledger. After each management action the OwnerKey is regenerated and added to the ledger.

Details regarding account management will be part of a future dedicated paper.

Account Creation Process

The specific steps for new Penta Network users to create an account are:

1) OwnerKey initialization

Users are prompted to enter an account and security password. With these, the system then automatically creates two keys: the OwnerKey and an uncompressed public key (pubKey).

2) Public account address

The system utilizes the uncompressed public key to generate an associated (corresponding) Penta public address. The process follows the Penta account address algorithm introduced in the previous article, which introduced the Penta Account Model (Link to the first article). No account data is recorded on the permanent ledger at this point, and is only held locally in-memory.

3) Allocate PNT for public account address storage

The newly generated public address is then allocated PNT to process the following steps as ledger recorded transactions. Following, the account public address is formally stored on the Penta Network ecosystem and can be used to search through the Penta Explorer ledger transaction history.

4) Generate the private TxKey

A new private TxKey is generated to sign and validate any one transaction. The account management scheme uses an OwnerKey to sign this new TxKey. The TxKey is sent and synchronized on the ledger. Having been synchronized with the ledger, the Txkey is then available to generate and sign a new transaction PNT transfer against the account’s token balance.

5) Safety first: reset OwnerKey

The account management process reset the OwnerKey after the TxKey generation, to add a higher level of security. Once signed and verified the OwnerKey will be regenerated and saved on the ledger.

6) Export the KeyStore file

Before any further account activity, it is recommend the KeyStore file is saved and exported to external secure media. To retrieve account access, the latest OwnerKey must be backed up.

New account creation is now complete, the public account address saved to the ledger and locally encrypted. All the necessary private keys have been generated, and the public account address can be searched on the Penta Ecosystem Explorer.

Account lock and unlock

The Penta network architecture defines a set of node ‘rights and responsibilities’ with its governance model. Linked with the DSC consensus algorithm and the consensus management contract, the comprehensive (full and complete) Penta governance structure is set out.

One ‘right’ as part of the governance model is participation of common nodes to vote for Delegates and Witness nodes; who take part in the DSC consensus. See the previous article for details on these two types of ‘actors’ in the consensus process.

When common nodes vote for a Delegate or Witness candidate, or when a node nominates to become a candidate, those nodes need to ‘pledge’ in other words ‘lock’ a specified minimum number of PNT beforehand for eligibility to take part in the process. Whenever a node terminates participation in the consensus mechanism, it can unlock pledged PNT after a successful ‘exit request’ takes effect.

The lock and unlock mechanisms are essential and crucial Penta account functions. Whether either a Penta User or a Penta Contract account, the lock and unlock status is recorded as part of a smart contract along with a corresponding (unique) block number. The system sets the relevant block number with reference to its governance rules.

Conclusion

This article introduces the account name, account creation process and account lock and unlock mechanism in the Penta account system. The design goals are account user-friendliness and implementation of accounts in DSC consensus and governance mechanisms. The next articles continue with outlining technical details regarding the account system.

Coin Marketplace

STEEM 0.28
TRX 0.13
JST 0.033
BTC 67205.80
ETH 3112.68
USDT 1.00
SBD 3.71