Over the last two weeks since the WAX Blockchain mainnet and protocol token launched, we’ve been thrilled to see the level of participation in staking and voting among WAX Token holders who have swapped their tokens. As we’ve mentioned, staking and voting is very important for DPoS blockchains such as WAX because the more involved the community, the better the blockchain will operate for everyone. Now we’d like to explain exactly what the NET (Network), CPU, and RAM is that the community is staking.
In the WAX ecosystem, WAX Guilds provide resources to dApp developers and customers to perform actions on the WAX mainnet. With the WAX Blockchain, the following resources get consumed by applications:
NET: throughput capacity of the WAX network, measured in bytes
CPU: processing time of an action, measured in microseconds
RAM: stores data of dApps in the blockchain
In this ecosystem, bandwidth which consists of NET and CPU is flexible because WAX Token holders can have more bandwidth allocated than the ratio they have staked vs. the total stake pool. Your minimum resource allocation is the fraction: ‘your stake’ divided by ‘total stake.’ With bandwidth, you consume it at a point in time, and then it regenerates for future usage.
Since RAM is limited and necessary to hold a dApp's state, which must persist over time, RAM must be allocated. Therefore, RAM is not based on staking, rather, you purchase and sell RAM.Realize that you can sell deallocated RAM at anytime back to the blockchain's native RAM market, or allocate it for usage at any future point in time.
In this post, we’ll go over these resources and why they are essential in the WAX ecosystem.
What is NET, CPU, and RAM on the WAX Blockchain?
For a simple explanation, let’s imagine that the blockchain was a train. You could explain NET, CPU, and RAM in the following way:
NET would be the available seats in each train leaving and entering the blockchain (train station). Your seat is always reserved, and if you need it, it's yours. However, if no one is on the train, you could lay across a bunch of seats because they are free! NET is a way to make sure you have somewhere to sit when the train leaves.
CPU represents how often you can ride on the train. CPU works similar to NET as far as allocation goes. For example, NET makes sure have a seat on the plane while CPU is the plane ticket. The more plane tickets, the more often you can fly. As with a plane ticket, you can only use CPU at certain times and with the WAX Blockchain, those certain times depending on how busy the WAX Blockchain is. The WAX train is pretty laid back, so any unused space is free to use (CPU and NET) until the people that paid for the space need to use it.
RAM is your storage space on the train. If you need to bring a ton of luggage, you need to pay per bag to check your bags onto the train - the same as how if you need a lot of RAM to operate on the WAX Blockchain, you can purchase more storage space. And on the WAX Blockchain, if you don’t need to use all the RAM that you have, you can sell that storage space to someone who does.
Now that you have an idea of the resources, at a really high-level, let's dive deeper into each resource.
Bandwidth: NET and CPU
WAX runs on two forms of bandwidth: NET and CPU, which gets measured as your average consumption in bytes over the last three days. Let's take a look at the following table to break down what these resources do in the WAX ecosystem:
- Refers to the throughput capacity of the WAX Blockchain—that is, the bandwidth you can use during a specified time.
- Is temporarily consumed every time you send an action or transaction.
- Refers to the processing time of an action, measured in microseconds.
- WAX has a system that allocates CPU to blockchain participants who stake tokens for CPU resources. This system prevents spam transactions, denial of service attacks, and overloading of the network.
- The CPU time allocated is calculated based on how busy the network is. For example, if the blockchain is busy and running over 500 transactions per second, customers with a low amount of WAX staked have low CPU time. On the flip side, if the network is not busy, users can have 100 times higher CPU time.
Anyone that holds WAX Tokens and stakes them is entitled to a corresponding amount of bandwidth (NET and CPU). dApp developers can stake their tokens to reserve bandwidth. You must stake your tokens to have access to the blockchain. The more WAX Tokens you stake for bandwidth, the more you get to use. You can unstake at any time to reclaim your WAX Tokens.
How does bandwidth allocation work?
When you stake a WAX Token, it gets locked down towards CPU, and your prorated CPU bandwidth gets allocated. It is up to you to choose those prorated portions. If you unstake that WAX Token, you lose your access to that allocated portion of the bandwidth. However, there is a 72-hour waiting period when WAX Tokens are unstaked and after the 72 hours expire, you regain control of those WAX Tokens.
If you make a WAX Token transfer, that transaction would require some amount of the NET and CPU capacity. This action would take some time to complete so this amount of transaction time would come off of your allocation and then regenerate over time.
To have high transaction throughput, you need persistent storage to be in RAM. In any blockchain ecosystem, RAM provides a permanent means of storing data in the blockchain. For example, private and public keys, as well as WAX Token balances, can be stored in RAM and accessed quickly. RAM is a limited resource in the ecosystem because it is upward limited to the amount of RAM manageable by the most underpowered WAX Guild.
The WAX Blockchain has a marketplace that keeps a supply of RAM available for purchase, as such, supply and demand drive the price of RAM. For example, if more people are buying RAM than those selling, the price goes higher. On the flip side, well, you see where we’re going.
Here are things you want to consider with RAM:
- RAM is needed to sign up for a new WAX Account and add information to the account, such as ownership of other WAX Tokens. WAX provides 3KB of RAM for free for every user account. Customers who sign up for a WAX Account are automatically assigned a WAX Blockchain account.
- dApps use RAM to store state information of their applications, such as the balance for each user, so it is available when needed. Depending on how you implement your dApp, it may pay for its own RAM, or charge the dApp user or even another user that signs off on a user’s dApp interactions. This allows for many different billing schemes available to dApp developers.
- RAM allocation can be purchased and sold to meet the needs of the dApp developer.
To recap, dApp developers and customers need NET, CPU, and RAM to perform actions on the WAX Blockchain. Each WAX Token staked corresponds with a certain amount of NET, CPU, and RAM. While NET and CPU are staked for, RAM is bought and sold through the RAM market due to its limited supply.
Let us know what you think by joining the WAX community: