Prizm Accounts

Prizm implements a smart wallet as part of its design: all accounts are stored on the network with personal keys for each possible account address, directly derived from the code phrase of each account using a combination of operations SHA256 and Curve25519. Each account is represented by a 64-bit number, and this number is expressed as the account address using the error Correction of Solomon-Code, which allows you to detect up to four errors in the address of the account or correct up to two errors. This format was implemented in response to concerns that an incorrect account address could result in coins, aliases, or assets being irreversibly transferred to erroneous target accounts. Account addresses are always preceded by "PRIZM-...", which makes Prizm account addresses easily recognizable and distinct from the address formats used by other cryptocurrencies.

Address account, coded Solomon-Code associated with a secret passphrase is generated in the following way:

  • The secret passphrase is hashed using SHA256 to retrieve the account's private key.

  • The private key is encrypted using Curve25519 to obtain the public key of the account.

  • The public key is hashed with SHA256 to obtain the account ID.

  • The first 64 bits of the account ID are the visible account number.

  • Encoding Solomon-Code, the visible account number with the prefix "PRIZM -" generates the address of the account.

When an account is accessed with a secret passphrase for the first time, it is not protected by a public key. When the first outgoing transaction is made from the account, the 256-bit public key received from the passphrase is stored in the blockchain, and this protects the account. The address space for public keys (2256) is larger than the address space for account numbers (264), so there is no one-to-one matching of code words to account numbers and possible collisions. These collisions are detected and prevented as follows: after a certain passphrase is used to access the account, and the account is protected with a 256-bit public key, no other public-private key pair can access this account number.

The properties of the account's balance:

  1. An effective account balance is used as the basis for billing your account. An effective account balance consists of all the coins that were stationary on that account for 1,440 blocks. In addition, the “Account Leasing" function allows you to set an effective balance on another account for a temporary period.

  2. The guaranteed account balance consists of all tokens that were stationary on the account for 1,440 units. Unlike an efficient balance sheet, this balance cannot be assigned to any other account.

  3. The base account balance accounts for all transactions that have at least one confirmation. The boost account balance shows the total amount of PZM received as a result of the successful forcing blocks.

  4. Unconfirmed account balance is the one that is displayed in Prizm clients. It represents the current account balance, net of the coins involved in unconfirmed, sent transactions.

  5. Guaranteed asset balances list (make a list) guaranteed balances of all assets associated with a particular account.

  6. Unconfirmed balances and unconfirmed asset balance list of all assets associated with a specific account.