Accounts
An account is used to transfer funds, receive commissions for participating in consensus, execute smart contracts and adding transactions to the blockchain.
An account includes a public key and a private key.
To generate the cryptographic session keys, an ECDSA (Elliptic Curve Digital Signature Algorithm) digital signature scheme is used in conjunction with the open public key. Ed25519 uses SHA-512 and elliptic curve Curve25519 to calculate the digital signatures.
On the Credits platform, a public key represents a wallet that stores CS coins and/or tokens created within the platform. Information about any wallet balance is stored in the blockchain and can be accessed by anyone. The platform automatically calculates the wallet balances, based on all incoming and outgoing transactions.
When the Credits (CS) blockchain was first launched, the very first block had a "Genesis" wallet, which stores the total number of CS coins. After the launch, a redistribution of the CS to other wallets took place, then from these wallets, further distributions were made, and so on.
An account can also be used to deploy a Credits Node. These nodes form a P2P network and perform the following functions:
- Collect and distribute transactions between other participants of Credits P2P network;
- Select participants of the Credits consensus;
- Participate in the Credits consensus and generate new blocks.
Credits Nodes receive rewards (CS) for participating in consensus and the issuing of new blocks, which is reflected in the balances of their public keys (wallets).
From a technical standpoint, a "wallet account" and a "node account" are the same. You can deploy a node, receive a certain reward into the "node account", and then spend it using the same account as a "wallet account".
Frequently Asked Questions
Is there a secure validation mechanism to transfer funds out of a wallet?
The only confirmation needed for a wallet (public key) to transfer funds to another wallet is for that blockchain transaction to be signed by the private key (which is used to authorize the transfer of funds). Thus, when sending a transaction, one should double-check the recipient address before you sign the transaction with your private key. If you make a mistake in the recipient address, and that address does not belong to anyone, those funds will forever remain on the incorrect address. If this happens, consider your funds lost as it’s impossible to make a refund by sending a "correcting" transaction.
What is the byte length of a wallet's keys and a transaction's digital signature?
The length of a public key is 32 bytes, the private key is 64 bytes, and the digital signature is 64 bytes.
What is a mnemonic phrase (seed phrase)?
A BIP32 scheme is used to make it easy to recover your private key if you lose it. The private key has a corresponding set of 24 words, which can be written down on a piece of paper (or remembered as a "story" if necessary).
What provides the secure storage of a private key on a Credits Node?
There are 2 options for a secure node deployment:
- When deploying a Credits Node, the user enters a mnemonic phrase, with which the node recovers the private key according to BIP32 scheme;
- When deploying a Credits Node, the user provides a file with an encrypted private key, and then enters a password to decode it.