The issue of blockchain adoption is in the user experience. How is Conflux solving this problem?
In the modern market, It is a common sight when Internet giants provide services for users with no charge, while the fees associated are paid by other market players. For example, Google provides a free search engine for the users, while the platform is supported by ads that are paid by businesses, or Uber Eats, where users are offered to order food with no delivery fee if their order is a certain amount, but the restaurant needs to pay for the delivery. Is such a payment mechanism applicable in the blockchain world? And how can we make it applicable?
Internet Giants Asking for More Users
People are getting used to the free services provided on the Internet. Basic services, such as search engines, email service, online maps and cloud storage, are for the most part all free of charge. Even online platforms, providing resources like games, music and videos, are developing more and more free content.
The online economy has many features. If we want to go into details of all of them, we’d be writing quite a long article. But, even without in-depth discussions, we can see the biggest secret of customer acquisition of Internet applications is reducing the cost for users, especially during their first use.
Internet companies have been extremely versatile in reducing user costs. On the one hand, they provide free services. The servers costs are covered by the companies themselves (by which cloud service providers such as Alibaba Cloud and Amazon AWS have made a huge profit). Some internet companies cooperate with mobile internet providers to provide free traffic for users using their mobile products — paying for mobile data and server costs themselves. The methods for attracting new users with free services is endless.
On the other hand, Internet companies have made great efforts to reduce the cognitive cost of users. One famous case is Google defeating Yahoo with a single searching box, while the latter has a complicated yellow page on the user interface. It is a perfect example of “less is more”. If one thinks about how “complicated” it is to do online banking compared to using mobile payment via QR-code, one immediately can recognize why the popularity of mobile payment via QR-codes has skyrocketed in recent years. Several years ago, the mass-adoption of taxi hailing applications such as Uber was based on the clear electronic maps and the precise location function on mobile phones. Back in the days, when ordering a ride was done by a phone call, describing the correct address and pick-up point was troublesome, so in many cases, people would just choose to wait along the road for a taxi. When was the last time you called for a taxi through a telephone number?
User Experience in Blockchain
Compared to other online applications, the service and user experience of blockchain and decentralized exchanges offered today are literally “a terrible mess,” especially for users who use it for the first time. The usage threshold is too high and besides the economical cost (transaction fees), the high cognitive cost due to the complicated steps is also a headache, and is a potential deal-breaker for many users.
For those who are exposed to the blockchain for the first time, they need to understand some basic cryptographic knowledge and blockchain principles first, and because of the difficulty of keeping wallet account addresses, the private keys and seed phrases, many users are deterred out of the blockchain experience. Even if they pass the first hurdle and get familiar with the basic operations, they are facing another barrier — the transaction fees.
All the activities performed on the blockchain, whether transferring or utilizing a smart contract, must be initiated by users, then packaged and executed by the miners to take effect. Of course, the miners are not working for nothing. They need to get paid. So, if users want their transactions confirmed, they have to pay the miners a fee for packing and executing the requested transaction. Generally speaking, the transaction fee should be paid by the account who initiates the transaction, and the more complicated the contract is, the higher the fee. For example, on Ethereum, every interaction on a decentralized application will range in cost depending on the network utilization. As well, when there is a network congestion, the fee may go up to a couple of dollars or even higher, which is too high for users.
From the traditional perspective of “who uses pays,” it is natural for users to pay for the transaction fees. When we transfer to others using a bank account, we also need to pay for the handling fee. But when it comes to the Internet economy, it is totally unreasonable.
Just imagine, when you are connecting a website which is on top of AWS, and a pop-up window opens requiring you to sign up and pay ten cents for the electricity of the server and the traffic. You will probably want to leave the website at this point. After you have signed up and paid, you may think this should be the end of all irritating requirements. But no, maybe some pictures or videos on the website are actually stored on Azure, and then another box jumps out requiring you to sign up on Facebook and pay for the resources. By this point, you would definitely leave.
The circuitous pattern described above is the current reality of the blockchain economy. Users need to create an account and deposit to that account before they use any blockchain services, and the depositing process is usually done through intricate and unreliable over-the-counter platforms. The complex processes consume a high cognitive cost. Potential users may leave in each possible step. And paying for every operation on the blockchain violates users’ psychology and habits: multiple small payments often result in pains that exceed the actual to-be-paid amount.
Therefore, it is hard for decentralized exchanges on the blockchain to attract new users outside of the blockchain and cryptocurrency communities. They can only seize the existing users who have blockchain accounts and cryptocurrencies. The fact that only token holders can enjoy blockchain services makes decentralized exchanges limited to a certain user persona, which seriously restricts the development of the blockchain economy and is harmful for the mass-adoption of blockchain technology.
Customer acquisition is a problem not only for the blockchain industry, but for the whole online industry. The cost of customer acquisition by various Internet companies is increasing. Developers and operators of decentralized applications cannot rely on a users’ faith for the purpose of user acquisition. Today, it is important to increase the user experience by optimizing the user interface and simplifying the operation process. It is also a commonly used method to bear transaction fees of users or offer subsidies to them.
How to reasonably subsidize users on the existing blockchain infrastructure is worth thinking. The simplest and most direct way is to issue tokens to the users for free, but this will inevitably attract a great number of free token claiming bots. Although the claiming bots can be avoided by reimbursing the transaction fee to users directly, it does not reduce the cognitive cost during users’ first experience.
Currently, the most user-friendly mechanism for new users on the blockchain is by using smart contract wallets. For example, the Argent wallet on Ethereum and the Mykey wallet on EOS both help users get rid of memorizing private keys, the seed phrases, inputting transaction fees or other details to be remembered. Through the sockets deeply integrated in the wallet, users can interact with decentralized financial applications on the blockchain such as Compound and Kyber, and the fees of interactions are covered by the wallet companies.
Nevertheless, smart contract wallets integrating specific applications restrict users’ freedom to visit other smart contracts, which makes the smart wallets not so “smart.” When there is network congestion, the opaque transaction handling mechanism of smart contract wallets also decreases users’ control of transactions. For example, when the transaction fee on Ethereum skyrocketed on 2020.03.13, the transaction fee for an account to initiate transactions was set too low by Argent so that the transactions issued by this account were delayed for more than two hours. Besides, trading through smart contract wallets requires one additional step compared to ordinary wallets, and therefore, costs more. It also reduces the efficiency of the whole network. More importantly, DApps supported by smart contract wallets are very limited. If users want to use more DApps, they may have difficulties in the operation.
Conflux Transaction Sponsorship Mechanism
Now that we’ve broken down the transaction payments on the public blockchains, how does Conflux solve this problem? In addition to improving throughput and increasing confirmation times to reduce the cost of users, Conflux has also considered how to facilitate new users’ experience on the blockchain when designing the consensus protocol. Conflux allows new users with zero balance to enjoy the on-chain smart contracts. We consider removing the hurdle of an initial deposit for operating smart contracts to be attractive for new users because it is important to stimulate users’ interest and motivation to give blockchain technology a try.
Undoubtedly, an account with zero balance cannot pay the miner when initiating transactions, so there must be someone willing to pay the miners for the transaction packaging and execution. Hence, Conflux designed the Sponsorship Mechanism on the protocol level for “sponsors” to pay a users transaction fees when they engage with smart contracts. The Sponsorship Mechanism allows users with 0-balance to use the smart contracts directly.
On Conflux, the sponsor condition of each smart contract is displayed with the following parameters:
- Sponsor: records the sponsor providing the sponsorship funds;
- Sponsor balance: records the current balance of the sponsorship fund;
- Sponsor limit per transaction: the upper limit the sponsor is willing to provide for single transactions
- Whitelist: this list records the accounts that the smart contract is willing to fund, it can be set to fund all accounts.
If user A initiates a transaction that engages smart contract C, A is in the whitelist of C, and if the transaction fee does not exceed the sponsorship balance and the sponsor limit per transaction of contract C, the transaction fee will be paid with the fund in the sponsor balance of contract C, instead of the balance of user A (no matter how much A’s balance is). So when dealing with such a transaction, the miner only needs to check whether smart contract C is willing and able to pay for the transaction and then decides whether to package it.
The whitelist and the sponsor limit per transaction are both designed to avoid abuse of the sponsorship funds. The whitelist can only be modified by the smart contract itself, and is mainly used to manage the scope of the grantees. For example, transactions can be set to be free only for registered users who have completed identity authentication. The sponsor limit per transaction is to reduce waste and the risk of users colluding miners to maliciously obtain sponsorship funds.
The management of sponsors and sponsorship funds is open and transparent. Anyone who is willing to pay can become the sponsor. Users can donate a sponsorship fund to any contract and claim the sponsor limit per transaction. As long as the donated money exceeds the current sponsor balance of the contract and the sponsor limit per transaction does not decrease, the contract sponsor will be replaced by the new donor — the previous sponsor balance will be refunded to the previous sponsor. The sponsor limit per transaction can only be reduced when the current sponsor balance is less than the current limit.
Through the Sponsorship Mechanism of smart contract transaction fees, new users with an account balance of 0 can also directly initiate a transaction on a specific smart contract, as long as someone has previously deposited sponsorship funds for the specific smart contract. Developers of decentralized applications on the blockchain can use this mechanism to facilitate their users. Conflux Ecosystem Foundation will also provide subsidies for developers by sponsoring transaction fees.
The advantage of this mechanism is that users can enjoy blockchain services without noticing the existence of cryptocurrencies. Even if they do not have any digital assets, they can experience the open-source and privacy-protecting blockchain service in applications built on top of the Conflux network. They can get an experience similar to what they feel in the present Internet applications.
As the underlying infrastructure of the next-generation blockchain, Conflux hopes to truly empower the decentralized business in the future. In order to achieve this goal, Conflux has made a leap-frog progress compared to other projects in terms of performance such as throughput and confirmation speed. More importantly, Conflux hopes to establish an easy-to-use blockchain ecosystem together with ecosystem partners, in which everyone, no matter their background, from technical experts to the average user, can find a place for themselves. Blockchain will be universal and benefit all people instead of remaining a little fish in a small pond. Everyone can enjoy the changes in life that blockchain brings.