Mana¶
Mana is a regenerative resource granted by holding KOIN that allows users to pay for transactions with time.
Mana is behind the magic of Koinos. Every KOIN inherently contains Mana, which is used when using the Koinos blockchain. And just like in video games, your Mana recharges over time letting you continue to use Koinos forever!
This document will guide you through the basics of Mana on the Koinos blockchain. By the end of the guide you will understand how Mana makes Koinos different from other blockchains, how to use, and how to manage your Mana so you can use Koinos free forever.
Blockchain Fees¶
On most other blockchains, you must pay a fee to use the blockchain. Blockchain fees are analogous to tolls on roads. Oftentimes, tolls are imposed to help pay for the road and requires those that use the road to pay more for their increased use. It is a fair way to distribute responsibility for a shared resource, but no one enjoys paying a toll.
Just like toll roads, blockchains have costs associated with them. There are people running the blockchain software on computers and those computers aren't free. There are many ways individuals and organizations can profit off of participation in a blockchain network and fees are one of those ways.
Why are fees a problem?¶
There are a number of problems with fees. They create barriers to entry, can be unpredictable, and are error prone.
The most obvious problem with fees is that, by definition, a fee is lost. You pay the fee and lose the value forever. This makes most blockchains "pay to play". From this respect, fee-less blockchains, like Koinos, were inevitable. We have seen this same pattern play out in the past with other technologies. Take texting, for example. When it first became available you had to pay for every text you sent. Nobody liked paying for text messages. Unlimited texting is now an expected feature of all cellular plans. In the same way, Koinos being fee-less is the future of blockchains.
Other than fees not being user friendly, they are usually collected in the blockchain's coin (the native token). Requiring someone to purchase a cryptocurrency before being able to use a blockchain creates a significant barrier to entry, resulting in many people being unwilling to try blockchain technology in the first place. While Mana is a property of KOIN, and requires holding KOIN to use Mana, somebody else can use their Mana to pay for you to use Koinos. Many dApps will pay their user's Mana so they do not even need to own KOIN before using Koinos.
Fees can also be unpredictable. Fees increase when a blockchain is being used a lot and decrease when it isn't. Most of the time fees are a couple of dollars, but have spiked as high as a hundred dollars at times. Imagine sending some BTC to a friend and thinking it would only cost a few dollars but having to spend $100 instead! Because KOIN is not lost when using Koinos, even when Mana costs are fluctuating (with significantly less variance than other blockchains), you are guaranteed to never lose KOIN.
Lastly, using fees is error prone. Because the fee is paid for in the blockchain's native token, it can used for the fee and be transferred at the same time. There have been several instances where large fees were accidentally paid for small transactions. One person once spent $3.1 million on a Bitcoin transaction fee. Because Mana is not KOIN, you cannot make such mistakes on Koinos. Your KOIN is always safe!
What is Mana?¶
Now that we know why fees are a problem and how Mana fixes those problems, we can talk about what Mana is exactly.
Mana is a property of a KOIN token. Every single KOIN can have an equal amount of Mana. If you have 1 KOIN, you also have up to 1 Mana. Likewise, if you have 10 KOIN, you also have up to 10 Mana. Sometimes it is helpful to think of Mana as an absolute value (10 Mana) and other times it is helpful to think of it as a percent (100%). If you have 10 KOIN and your Mana is at 50%, you have 5 Mana. Likewise, if we say you have 10 KOIN and 5 Mana, we can deduce you are at 50% Mana.
Mana is regenerative. You use Mana when you use Koinos, but you regenerate Mana over time, enabling you to use Koinos forever.
Mana is not a token. You cannot transfer Mana to someone else. When you transfer your KOIN, the Mana associated with that KOIN is transferred with it. Additionally, KOIN can only be transferred if it has all of its Mana. If some Mana is used, a proportional amount of KOIN will be locked until that Mana regenerates.
How do I use Mana?¶
Mana is automatically used when you use Koinos. Depending on what your transaction does, it uses different amounts of Mana. In general, the more your transaction does, the more Mana it will use. For example, if you have 10 KOIN with 100% Mana (10 Mana) and you send a transaction that uses 2 Mana, you will have 8 Mana left (80%). But you still have 10 KOIN. This is where we get 80% because 8 Mana divided by 10 KOIN is 80%.
How do I get Mana?¶
There are two ways to get Mana. You can acquire KOIN. KOIN must have 100% Mana to be transferred, so obtaining KOIN will get you its Mana immediately. If you already have KOIN and used some Mana, you can get that Mana back by waiting for it to regenerate.
As we have shown previously, every KOIN has Mana attached to it and when you use Koinos, some of that Mana is used. However, you also regenerate Mana passively over time. Specifically, you regenerate 20% of your total Mana every day until it is fully recharged. By regenerating 20% of your Mana per day, at most, it will take 5 days to regenerate back to 100% Mana.
In our previous example, you sent a transaction that used 2 Mana, leaving you with 8 Mana (80%). Every day you will regenerate 20% of your Mana. In this case, after 6 hours, you will regenerate 5%, putting you at 85% (8.5 Mana). This will continue until you are back at 100% (after 24 hours).
Because Mana regeneration is 20% per day, it is always relative to the total amount of KOIN you have. If you have 1 KOIN you will regenerate 0.2 Mana per day (20% of 1 KOIN). If you have 1,000 KOIN you still regenerate 20% of your Mana per day, but now it is 200 Mana per day.
What happens if I run out of Mana?¶
In short, if you run out of Mana, you can no longer use Koinos. But remember, that is only temporary because your Mana is always regenerating. And if you don't have the time, or don't want to wait, you can always acquire more KOIN to increase your Mana regeneration rate to allow to use Koinos sooner. Furthermore, the KOIN you acquire will transfer with 100% of its Mana, which you will have immediate access to, in addition to the increased regeneration rate.
There is one other side effect of using Mana. When KOIN doesn't have Mana, it is locked to you, meaning you cannot transfer it. Using our previous example, you had used 2 Mana and had 10 KOIN, leaving you with 8 Mana. Because you have 8 Mana, 8 KOIN is unlocked, meaning you can freely transfer it. But the remaining 2 KOIN is locked to you until your Mana regenerates. If you are holding KOIN for a long time, this won't be a problem, but if you are trading KOIN or needing to move it around frequently, this is something you will need to be aware of.
For this reason, you also cannot transfer 100% of your KOIN balance at once. You need some Mana to pay for the transfer and consuming that small amount of Mana will prevent you from transferring all of your KOIN. You do have a couple of options. You can trade less than 100%. Usually trying to send 99% is good enough. Or, there are smart contracts that are willing to pay for your transfer. Currently, this is a more advanced solution, but you can read more about payer semantics to learn about it.