The Problem Isn't In Your DApp
Your DApp doesn't have a problem. Instead, there are two unique cold start problems plaguing Web3 and all DApps:
- DApp users must be blockchain users first
- Becoming a blockchain user is hard
The first problem might not be so apparent to non-blockchain users, but to put it simply, DApps require gas to operate. Since you can only pay gas with the native blockchain token (such as ETH for Ethereum), the maximum potential audience is limited to only those who hold the gas token. To become a DApp user, you must first become a blockchain user.
Becoming a blockchain user is its own problem. To grow the potential DApp user base, we must get tokens into new hands. Despite how familiar this is to existing token holders, acquiring a token is no small feat and quite a song and dance. It requires several steps that are entirely unfamiliar to most people:
- Perform Know Your Customer (KYC) at a centralized exchange
- Connect the exchange to your personal bank.
- Deposit fiat (i.e., Dollar) into the exchange.
- Convert fiat to the native token of your preferred blockchain.
- Create a self custody wallet (like Metamask)
- Be sure to write down your seed phrase and keep it safe
- Move the gas token from the exchange to your self custody wallet
- Connect your wallet to the DApp's website (and hope you don't get hacked)
- Finally, interact with the DApp
These two problems are rooted in a single issue: a lack of accessibility. The solution is the same for both problems, but you must address them individually.
What would a more accessible outcome look like?
The Solution Makes Your DApp Even Better
Solving the accessibility problem for new users should result in seamless access to try the DApp first without performing the above song and dance.
Ultimately, this means that new users should not need to become token holders, and while this may seem like a shocking statement to make, it makes sense if the goal is to reach as many users as possible. This doesn't mean that new users won't ever become token holders, just that they don't have to become token holders first.
For developers, on the other hand, accessibility looks different. Blockchain developers can build DApps with significantly less friction and easier onboarding flows when you increase the pool of potential users. This frees developers to create exactly what they want. It removes the ultimate barrier to accessing their DApps. Accessibility for developers means giving them maximum freedom to create what they have always wanted with blockchain.
If you understand the importance of achieving this outcome, you may have your own ideas about getting there, but before you go and create your own blockchain just for your DApp, let me introduce you to Koinos: a 100% fee-less layer one blockchain.
Mana: An Alternative To Gas
They are removing the need to own a gas token, which results in zero fees. How does Koinos achieve this?
Koinos replaces gas with a new concept called Mana. Mana is like what you find in video games where players have unlimited healing (such as first-person shooters) or magic power that regenerates with time (like in an RPG). Let me explain how this works on blockchain quickly.
All KOIN tokens have an inseparable property called Mana, where 1 KOIN always has 1 Mana. Instead of trading your KOIN token for gas whenever you submit a transaction, a portion of your KOIN is locked up (temporarily not transferable), and an equal amount of your Mana is consumed. If you consume all your Mana, all of your KOIN is locked up. To unlock your KOIN, you wait for your Mana to recharge.
Essentially, the user now experiences a system that doesn't use the money to control resources; instead, it uses time.
At first glance, you may wonder how the block producers/miners get paid. The point of gas fees is to prevent network spam (which Mana also does). Networks typically incentivize block producers to produce blocks through new token creation (inflation), otherwise known as mining rewards. Fees aren't usually a direct incentive for block producers; they're only used to manage resources; one only has to look at EIP-1559 as an example.
You Don't Have To Buy Tokens
Mana is inseparable from the native KOIN token, but there are ways to share Mana with non-token holders. This gives users a freemium experience without ever having to go through the pains of becoming a token holder. This is the key to providing developers maximum freedom and expanding the potential user base for every DApp.
Specifically, because Mana is rechargeable, no dollar value is ever lost in a transaction; therefore, if a KOIN holder covers the Mana for another user, they don't lose any money!
To capitalize on this, Koinos has a specific feature called authorities that allows a non-KOIN token holder to access and use the Mana from the wallet of another KOIN token holder. This presents a unique opportunity to create a variety of setups for various use cases. Examples:
- Sponsoring new DApps to be built and used freely by anyone.
- Sharing Mana with your friends so they can join you in multiplayer blockchain games.
- Supporting artists who want to mint and sell their art as NFTs for free.
- Funding ICOs with KOIN so the DApp can be free-to-use forever.
An interesting side effect for new users is that they no longer have to worry about managing their private keys. The Mana pool can revoke their old wallet address and issue a new wallet sponsored with Mana. Losing private keys no longer spells doom for inexperienced users. This is a massive step forward in accessibility that was previously impossible to achieve with traditional gas-based blockchains.
Prioritizing Developer Experience
Creating a successful decentralized application is already a difficult task, but by removing the user's entry barriers, DApp developers can focus on developing the applications they want. This freedom allows the ultimate flexibility in expression and pioneers the way to a truly decentralized future.
The Koinos Blockchain also features Web Assembly (WASM) instead of the typical Ethereum Virtual Machine (EVM) found on many existing chains. A WASM VM is significantly faster, but it also allows the compilation of multiple languages into WASM bytecode. This effectively means developers are no longer restricted to just Solidity when developing their smart contracts. You can create an SDK for any language in the list below.
https://github.com/appcypher/awesome-wasm-langs
(I have not verified that this list is complete and accurate).
On Koinos, there already exist SDKs for C++ and AssemblyScript (a WASM flavor of TypeScript). Other common languages like Rust, Golang, .Net and anyone in the community can add more with little effort.
But wait, there's more! You can also upgrade smart contracts on Koinos using the authority feature mentioned above. You can mark smart contracts as…
- immutable (non-upgradeable)
- upgradeable by a specific user
- even upgradeable through a governance system
This means developers and users no longer need to go through a complicated migration to new contract versions every time there's an upgrade. You can opt out of this behavior entirely or explore the possibilities. You can write whatever authority code you want (smart contracts power it)
Final Thoughts
If you're a developer and have wondered how to get your dApp in front of more people, I encourage you to take a deeper look at Koinos. For Developer DAO members, come check out the #koinos channel. Dive deeper with the whitepapers at koinos.io.
I am a moderator in the Koinos Discord and Telegram groups, so please feel free to swing by and say hello to Kui Xi He aka motoengineer. Alternatively, if you are in the Developer DAO Discord, swing by the TECHNICAL DISCUSSIONS/#koinos
and drop any questions you have to me or fellow developer Luke Willis aka lukemwillis!