At Koinos Group we are obsessed with giving developers a decentralized platform that they will love using to build amazing applications thanks to its free accounts, free transfers, and free smart contracts. Understandably this sounds too good to be true, so in this post I’m going to explain at a very high level how we accomplish this seemingly impossible feat.
On Koinos, practically everything is a smart contract, and smart contracts are pieces of code running on a decentralized network of computers. With one very important exception, every time a smart contract runs digital tokens are moved from one blockchain account, to another account. Code runs, tokens move. That’s a smart contract.
But as everyone knows nothing in this world is free, including the execution of code on a computer system. The problem we have on decentralized networks is that there is no one “in charge” like Amazon or Facebook who can charge a fee or simply eat the cost. Blockchains like Bitcoin and Ethereum solve this problem by allowing the people submitting transactions and requesting that a smart contract be executed to add tokens to their transaction as a fee that someone else can accept in exchange for processing that transaction and executing that smart contract.
It’s a pay-to-play model. Every time you want to do anything, you have to add tokens to your transaction and hope that someone will facilitate that transaction in exchange for the fee you included. Once they run the smart contract, tokens move, and some go into the account of the person executing the smart contract.
Koinos will employ a different model which you can think of as a hold-to-play model. When transactions are processed by Koinos, no tokens move at all. Instead Koinos employs a new crypto-technology called “mana.” We call it mana because it operates much like mana in a video game would.
Every KOIN, the native currency of the Koinos network, contains mana which is used up when the user performs transactions and executes smart contracts. Koinos calculates the price of these transactions, in mana, based on how much computational resources it has available. Once a given amount of mana is used up, it takes time for that mana to regenerate so that the users cannot abuse their free usage.
You can therefore think of Koinos as charging users for transactions in TIME instead of tokens.
Because Koinos distributes mana based on how much KOIN a user holds, we don’t need a centralized authority to administer the system, and because the system charges mana based entirely on the resources it has available, users can only perform as many actions as the network is capable of handling.
It’s really about as simple as that, though of course the technical details are a bit more, well, technical. Obviously, the people processing these transactions still need to be incentivized, and this will be accomplished through inflation and ties into our consensus algorithm, which is outside the scope of this article.
What’s important to understand is that this token regenerates over time, so even though you are using up mana, you are also constantly regenerating mana as well. If you find yourself burning through your mana too rapidly, all you need to do is perform fewer transactions, or perform fewer computationally expensive transactions (e.g. token transfers v. smart contracts).
The purpose of mana is to enable YOU to use the blockchain without having to pay fees for every little thing you do which is why it is also non-transferable. You can’t transfer it to someone else (at least not without also transferring your KOIN), or sell it in a marketplace. That's why mana isn't a token. It's a magical property of the KOIN token that is made possible through the power of smart contracts
Being able to create tokens, like KOIN, with magical properties like mana, that enable us to solve previously unsolvable problems, helps demonstrate the powerful potential of smart contracts.
We are designing KOIN with mana because we want people from all walks of life, no matter their technical capabilities, to use Koinos powered applications without having to think about how it all works. You should be able to use Koinos applications without thinking about how much it’s costing you or whether your transactions will be able to go through.
DApps should just work and you should be able to hold onto every token you buy. The only time we expect users to become aware of mana is when developers use it to deliver an even better user experience by notifying users that they are running out of free transactions, and should either decrease their usage, and wait for their mana to regenerate, or increase their KOIN holdings.
These are already great and unparalleled features, but we know from our unrivaled experience that developers and their end-users still need more. Developers shouldn’t have to require that their users buy KOIN just to start using their apps.
That’s why every KOIN holder will also have the ability to delegate their mana to other users. This will allow developers to onboard users into their decentralized application without having to pay for that user themselves, and without forcing the user to acquire tokens. This is why we have no reservations about claiming that Koinos will not just have the lowest barriers to entry of any blockchain out there, it will have no barriers to entry at all!
In this post I wanted to give you a high level overview of how one builds a fee-less blockchain, and hopefully I’ve done just that. I’m sure I touched on a number of concepts that have piqued your curiosity, like how we incentivize transaction processing through inflation and the nature of our consensus algorithm, which I’ll be covering in future content, so be sure to subscribe to our YouTube channel, follow us on social media, and join our newsletter by heading over to koinos.io, where you can also learn more about the Koinos blockchain. Thanks for your time.
Previously published at https://peakd.com/hive-103021/@andrarchy/building-a-fee-less-general-purpose-blockchain