# Core Concepts

## Accounts, Wallets , and Permissions <a href="#accounts-wallets-and-permissions" id="accounts-wallets-and-permissions"></a>

### **Accounts**&#x20;

An account is a human-readable name that is stored on the blockchain. It can be owned through authorization by an individual or group of individuals depending on permissions configuration. An account is required to transfer or push any valid transaction to the blockchain.

### **Wallets**

Wallets are clients that store keys that may or may not be associated with the permissions of one or more accounts. Ideally, a wallet has a locked (encrypted) and unlocked (decrypted) state that is protected by a high entropy password.&#x20;

### **Permissions**

Permissions are arbitrary names used to define the requirements for a transaction sent on behalf of that permission. Permissions can be assigned for authority over specific contract actions by *linking authorization* or linkauth.

## **Smart Contracts**

A smart contract is a piece of code that can execute on a blockchain and keep the state of contract execution as a part of the immutable history of that blockchain instance. Therefore, developers can rely on that blockchain as a trusted computation environment in which inputs, execution, and the results of a smart contract are independent and free of external influence.

{% hint style="info" %}

#### **NOTE**

The VEXANIUM blockchain use C++ and Solidity (in VEXEVM version).
{% endhint %}

## **DPOS Consensus**

The VEXANIUM blockchain implements a proven decentralized consensus algorithm capable of meeting the performance requirements of applications on the blockchain called the *Delegated Proof of Stake* (DPOS). Under this algorithm, if you hold tokens on the VEXANIUM blockchain, you can select block producers through a continuous approval voting system. Anyone can choose to participate in the block production and will be given an opportunity to produce blocks, provided they can persuade token holders to vote for them.

For more information about DPOS BFT, see VEXANIUM Consensus.

## System Resources

### **RAM**

RAM, in the VEXANIUM blockchain, is one of the important system resources consumed by blockchain accounts and smart contracts. RAM acts as a permanent storage and is used to store account names, permissions, token balance and other data for speedy on-chain data access. RAM needs to be purchased and is not based on staking as it is a limited persistent resource.

More details about RAM as a system resource can be found here.

### **CPU**

CPU, in the VEXANIUM blockchain, represents the processing time of an action and is measured in microseconds (μs). CPU is referred to as cpu bandwidth in the `cleos get account` command output and indicates the amount of processing time an account has at its disposal when pushing actions to a contract. CPU is a transient system resource and falls under the staking mechanism of the VEXANIUM blockchain.

More details about CPU as a system resource can be found here.

### **Network (NET)**

Besides CPU and RAM, NET is also a very important resource on the VEXANIUM blockchain. NET is the network bandwidth, measured in bytes, of transactions and is referred to as net bandwidth on the `cleos get account` command. NET is a also a transient system resource and falls under the staking mechanism of the VEXANIUM blockchain.

More details about NET as a system resource can be found here.

#### **What's Next?**

Technical Features: Learn about VEXANIUM technical features

###


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.vexanium.com/overview/core-concepts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
