Building a free-to-use social DApp

HomeCrypto News

Building a free-to-use social DApp

Cointelegraph is following the development of an entirely new blockchain from inception to mainnet and beyond through its series, Inside the Blockchai

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 first article in this series, I explained why Ethereum and Steem haven’t been able to deliver a mainstream social decentralized application (DApp). In my second article, I explained how EOS attempted to combine features of both chains but it did so in a way that still required users to buy high-priced random-access memory (RAM) for accounts and smart contracts.

In this article, I want to take a different approach to this problem, not based on comparisons to existing platforms but based on first principles. Instead of constraining our imaginations based on the limitations of the earliest attempts at general-purpose blockchains, let’s, instead, look at the problem from the developer’s perspective. What do they need in order to deliver the user experience that mainstream users require? In my previous article, I described this as “fee-less without exceptions.” In other words, they want totally free-to-use applications.

Building a free-to-use DApp from first principles

The very first thing that a user will need to use an application of any kind is an account, so introducing a fee here would immediately create a negative user experience. We want to minimize friction for the user so that we can maximize virality — we certainly don’t want to force them to buy an account. But, we don’t want to solve this problem by simply forcing the developer to pay that account creation cost because this will increase their costs.

Related: Gas-free transactions will revolutionize Web3

This problem is an easy one because it has already been solved by Bitcoin and Ethereum, both of which allow users to create addresses for free. Thinking from first principles then, if we don’t want developers or end-users to have to pay for accounts, we need a blockchain with addresses that function as accounts.

Who pays?

Using Bitcoin or Ethereum-style addresses allows us to create accounts without either the end-user or the DApp developer having to eat the fee. Great. But, now we want people to actually use the decentralized application which means that we want them to run a computer program on a decentralized computer and consume some of the computer’s resources. We want to let them do something that will have a real-world cost that someone has to pay. It’s just a matter of who, right? Well, this assumes that there is only one way to charge people.

This is precisely where first-principles thinking provides so much value. Fees are the traditional way we charge people for using blockchains, so if we just assume that this is the only solution then the only conceivable option becomes who pays the fee, not whether there is an alternative approach to the problem.

Related: The power of cheap transactions: Can Solana’s growth outpace Ethereum?

Charging opportunity cost

Taking people’s money is one way to impose a cost (i.e. decreasing their token balance) but there is another kind of cost: opportunity cost. Taking people’s ability to use their tokens (i.e. their money).

If we could create a decentralized system for “charging” people to use the blockchain, not by taking their tokens, but by taking away their ability to use their tokens (for a period of time), then we could allow them to use the blockchain without taking any of their tokens.

Not only that, but once that period of time is over, they could choose to use the blockchain more, meaning that they wouldn’t have to constantly be buying more tokens just to be able to continue using the application they love. This would dramatically increase user retention and further maximize growth.

Video game experience

We now have a mechanism for charging users that doesn’t feel like a fee, but our objective is to deliver a mainstream user experience. Requiring people to consciously lock cryptocurrency tokens before they can use an application is not a mainstream user experience.

If we can’t require people to consciously lock tokens, that means we need a system that allows people to simply use the blockchain without any thought. All that means is that the system has to decide the size of the opportunity cost instead of the user. Taking this decision out of the hands of the user allows us to design the system so that the size of the opportunity cost is as low as possible, all while maintaining economic sustainability. This gives the user confidence that they are never “overpaying” (even if it is only an opportunity cost) while again maximizing growth by lowering barriers. The cheaper transactions are, the less they feel like fees — the better the user experience — and the faster we can expect the user base to grow.

Of course, the user deserves to know how much of their tokens will be locked if they choose to perform the action. What we want is basically a mana bar…

cointelegraph.com