Inside the blockchain developers’ mind: Building truly free-to-use DApps
Cointelegraph is following the development of an entirely new blockchain from inception to mainnet and beyond through its series, Inside the Blockchain Developer’s Mind, written by Andrew Levine of Koinos Group.
In my previous article, I explained from first principles what was needed to build a truly free-to-use social decentralized application (DApp) and how Koinos is that solution. In that article, I explained that to deliver a truly free-to-use DApp, it must be possible for someone other than the end-user to provide the network resources (“mana” in the case of Koinos) required to run a given smart contract.
Now that we understand why Koinos is designed the way it is (to support free-to-use experiences), I’m going to explain in more detail how this works. One of the innovative features of Koinos is its novel fee-less mechanism, called “mana,” which allows KOIN holders to use the blockchain for free without having to pre-stake their tokens or even think about what they’re doing. It’s the core technology that allows people to use the blockchain for free.
Koinos is designed around the idea that from the moment someone acquires KOIN, they should be able to perform actions on the network while Koinos incrementally and temporarily locks small amounts of their tokens, effectively “charging” them in opportunity cost instead of an explicit fee. Mana is how the system quantifies that opportunity cost so that users can exchange time (opportunity cost) for network resources, thereby replacing the need for a token-based fee like Ethereum’s gas model.
Related: Inside the blockchain developers’ mind: How to build the next big social DApp
This creates a fun, game-like user experience for the blockchain, but what about decentralized applications on the blockchain? As the native currency of the Koinos blockchain, only KOIN will have the mana that users will need to freely use the blockchain. But if KOIN is the only token with mana, then won’t users have to acquire the token to use any Koinos DApps and wouldn’t this feel a lot like a fee? Yes, it would.
While the user experience is certainly superior to a real fee, since the user will only have to make that purchase once, it does still create friction in the DApp user’s experience. From our work on Steem, we saw that this requirement, when combined with the requirement to purchase usernames and consciously stake a large number of tokens, were major barriers to adoption. That’s why we designed Koinos from the ground up to solve this problem while solving several other important problems, like poor upgradeability and limited programming language support, along the way.
Related: Inside the blockchain developer’s mind: What is a testnet?
To solve the problem of allowing people to use DApps without first having to acquire any token whatsoever, Koinos allows smart contract developers to specify who will pay the mana when the smart contract is run (“Payer/Payee Semantics”). That could be the user, the developer or someone else entirely — like a large stakeholder — who wants to help the DApp succeed.
This unlocks a new capability we call “mana sponsorships,” which simply means that any account can “sponsor” the mana needed to run a contract. A developer can use this capability to set themselves as the mana provider for the contract. Then, when someone tries to use their DApp, they can do so without first having to acquire KOIN.
This allows for yet another leap forward in user experience when compared to other platforms and may be sufficient for many decentralized applications, but our mission is not to simply create a user experience that is better than other platforms — it is to accelerate decentralization through accessibility.
While mana sponsorships enable developers to provide the mana needed by users without diminishing the developer’s token balance, developers are still required to acquire KOIN. When the usage of their DApp is low, this amount of KOIN might be trivial, but as usage goes up, and as the price of KOIN goes up, this requirement could quickly become burdensome. What is possibly most important is that enterprising developers have to believe that their application will see widespread adoption (otherwise, they would have no motivation to build it) and so the prospect of having to spend a fortune on KOIN might turn them off to even building the application in the first place.
This is where “DApp mana” comes into play and completes the frictionless user experience, thereby maximizing accessibility. While the KOIN token is the only cryptocurrency that contains the mana used by the Koinos system as payment for network resources (i.e., the “base” mana), DApps can use this exact same code to create their own mana on their own token.
This demonstrates the unparalleled composability of Koinos. Because the entire Koinos system is written as smart contracts, any part of the system (like the mana subsystem) can be copied by DApp developers and leveraged within their application.
DApp developers can use the mana in a small KOIN stash to bootstrap their initial user base or subsidize a certain amount of “freemium” usage of their DApp, but then require that users exchange their KOIN for a dedicated cryptocurrency (their “DApp token”) with its own mana that will be consumed down when using the DApp, thereby allowing them to continue using the DApp for free.
This allows for the frictionless onboarding of users while creating an economically sustainable path that turns users into stakeholders and gives the DApp developer the KOIN they need to support their growing demand for Koinos network resources.
This is a very organic and scalable mechanism because the developer does not need to try to predict how much KOIN they will need, and purchase that KOIN before they even have any users. In addition, large stakeholders can support burgeoning DApps without overcommitting resources. They can commit only the amount of mana they feel is necessary to bootstrap the application and get it to the point where it is acquiring the necessary mana organically from its users and new stakeholders.
Related: Inside the blockchain developers’ mind: What is the ultimate scaling solution?
At Koinos Group, it’s never enough to just solve a single problem. We’re always looking for ways that we can solve a problem while unlocking additional capabilities that make the blockchain even more powerful. The system I have described in this article emerges entirely from the simple Payer/Payee semantics already running on the Harbinger testnet. Not only do they allow for free-to-use DApps, but they also create an organic path for developers to acquire the additional mana they will need to support their DApp’s growth while giving large stakeholders a way to invest in growth and value creation without sacrificing any of their token holdings. That’s a win-win-win.
This article does not contain investment advice or recommendations. Every investment and trading move involves risk and readers should conduct their own research when making a decision.
The views, thoughts and opinions expressed here are the author’s alone and do not necessarily reflect or represent the views and opinions of Cointelegraph.
Andrew Levine is the CEO of Koinos Group, a team of industry veterans accelerating decentralization through accessible blockchain technology. Their foundational product is Koinos, a fee-less and infinitely upgradeable blockchain with universal language support.