What is an Account in Blockchain? How Does it Work? Definition and Overview
What are Blockchain Accounts?
Blockchain accounts interact with blockchain networks, enabling users to send, receive, and store digital assets. The accounts are stored with the user inside a wallet. Accounts are often used interchangeably with addresses and wallets, but they aren’t the same.
Wallet applications manage accounts, allowing users to view balances, send transactions, and interact with decentralized applications (dApps). Each account has a unique address, a string of alphanumeric characters that identifies the account on the blockchain.
Accounts contain private keys, which are used to sign transactions and prove ownership of the assets associated with the account. Accounts are never sent or received; transactions are associated with the account’s address.
Key Concepts — Blockchain Accounts
- Not the same as Wallets: Accounts are not the same as wallets. Wallets manage accounts.
- Offline Generation: Accounts are generated offline using a seed phrase or private key.
- Account Address: A unique identifier on the blockchain represents the account.
- Private Keys: Used to sign transactions and prove ownership of assets. Accounts contain private keys.
- Public Keys: These are derived from private keys and are used to generate account addresses.
- Custodial Accounts: Managed by third-party services, like exchanges. Users don’t control the private keys.
- Smart Contract Accounts: Custom accounts created by smart contracts, used for specific functionalities.
- Security: To prevent unauthorized access, private keys, and seed phrases must be kept secure.
Account Usage
Blockchain accounts are very different from regular website accounts. Regular applications use usernames and passwords to authenticate users, while blockchain accounts use cryptographic keys.
Applications can verify the authenticity of blockchain accounts by checking the digital signatures of transactions. The authentication process is done by the blockchain network, using cryptographic algorithms to verify the signatures.
Except for smart contract accounts, most blockchain accounts are controlled by private keys.
Wallet Accounts
Wallet accounts are the most common type of blockchain account. They are created and managed by wallet applications, which store the private keys and allow users to interact with the blockchain. In most cases, users can create multiple accounts within a single wallet.
Accounts are often unique to a specific blockchain network. For example, a wallet account on the Ethereum network cannot be used on the Neo network. Users need to create separate accounts for each blockchain they interact with.
User-owned wallets are also known as External Owned Accounts (EOAs). These accounts are controlled by private keys and are used to send and receive assets on the blockchain.
Hardware Wallet Accounts
Hardware wallets are physical devices that store private keys offline. They are considered one of the most secure ways to manage private keys. Hardware wallets generate and store them within the device, ensuring the keys are never exposed to the internet. These devices are used in combination with wallet applications to sign transactions securely.
Multi-Signature Accounts
In multi-signature accounts, multiple private keys are required to authorize transactions. Organizations or groups often use this feature, which requires multiple parties to approve transactions.
Each account in a multi-signature setup has its private key, and a transaction is only valid if the required number of signatures is provided. Multi-signature accounts can be used in combination with hardware wallets for added security.
Multi-signature transactions require the approval of multiple parties, making them more secure and resistant to unauthorized transactions. However, they can be more complex to set up and manage.
Neo users can use Nexo to build and manage multi-signature accounts.
Custodial Accounts (Exchange Accounts)
Custodial accounts are managed by third-party services, like exchanges. Users deposit their assets into the exchange’s account, and the exchange manages the private keys on their behalf.
While convenient, custodial accounts come with risks, as users don’t control the private keys. If the exchange is hacked or offline, users may lose access to their assets. It’s recommended to use custodial accounts for trading purposes only and withdraw assets to a secure wallet for long-term storage.
Non-Custodial Exchange Accounts
Non-custodial exchanges allow users to trade assets without depositing them into the exchange’s account. Users retain control of their private keys and assets, reducing the risk of loss due to exchange hacks or insolvency.
These exchanges facilitate peer-to-peer trading, where users retain control of their assets until the trade is completed.
Smart Contract Accounts
Smart contract accounts have custom functionalities defined by smart contracts. These accounts can execute code and interact with other smart contracts on the blockchain. They are more complex than regular accounts, as they can perform various operations based on the smart contract’s logic.
This kind of account has the advantage of being programmable, allowing developers to create custom functionalities and automate processes. They are often used in decentralized applications (dApps) to manage assets, execute transactions, and interact with other users.
Contract accounts are deployed on the blockchain and have an address similar to regular accounts. However, they still require a private key to interact with the smart contract. The private key is used to sign transactions that interact with the smart contract, not to control it.
Account Abstraction
Moving from a regular account to a smart contract account is called account abstraction. This process allows users to use custom rules and functionalities, such as transfer restrictions, recovery mechanisms, and multi-signature requirements.
Abstract accounts are expected to be more versatile and user-friendly. It’s believed to be a key feature in improving blockchain networks’ overall usability and functionality.
Account Recovery
Account recovery enables users to regain access or recover lost accounts by using rules defined in the smart contract.
Instead of using the default authentication method, abstract accounts can implement tailor-made authorization and recovery mechanisms. One example is the use of social recovery, where a user can recover their account by contacting a predefined group of friends or family members.
It’s not possible to recover lost private keys, but by using smart contract accounts, users can implement recovery mechanisms to regain access to their accounts.
Account Interoperability
In general, accounts aren’t limited to a single blockchain network. Account interoperability is limited due to each blockchain’s cryptographic algorithms and address formats.
On Neo, the curve for generating private keys differs from other blockchains, making it challenging to use the same account across multiple networks.
This doesn’t make the assets interchangeable, but it simplifies the process of managing multiple accounts. In practice, they are different accounts on different networks, but originating from the same private key.
Account Security
Currently, the security of blockchain accounts relies on the private keys used to sign transactions. If the private key is compromised, unauthorized parties can access the account and impersonate the owner. The same applies to seed phrases, which are used to generate private keys.
To enhance security, users can follow these best practices:
- Secure Storage: Store private keys offline in a secure location. Avoid storing keys on devices connected to the internet.
- Hardware Wallets: Use a trusted hardware wallet to store private keys securely and sign transactions offline.
- Backup: Create backups of private keys and seed phrases to prevent loss.
- Avoid Phishing: Be cautious of phishing attempts. Never enter private keys or seed phrases on online platforms.
- Use Multi-Signature: Use multi-signature accounts, especially for high-value assets.
- Use Smart Contracts: Use smart contracts to enhance account security and enable recovery mechanisms.
- Offline Transactions: Sign transactions on offline devices to prevent exposure to the internet.
Custodial accounts are stored by third-party services, which may have additional security measures. However, users should be aware of the risks associated with custodial accounts and consider withdrawing assets to a secure wallet for long-term storage. Besides hacking risks, custodial accounts may also be affected by regulatory changes or the insolvency of the custodian.