“Free” User Acquisition for Blockchains with Gasless Transactions

“Free” User Acquisition for Blockchains with Gasless Transactions

On the last day of the all-hands, I had a series of unplanned, unexpected, and unstructured conversations that were, for me, some of the most productive conversations I had all week. One conversation was with @hixah (Discord handle), who I met for the first time and learned (also for the first time, which is a whole other issue) that he is the developer responsible for implementing RLN on the Status Network. Of course I immediately offered to sit down and riff over any challenges.

One of the questions asked was “How can we permit a fresh address with 0 karma and 0 SNT to earn their first Karma so they can begin to send gasless transactions?”

We came up with two rough solutions:

  1. Account Genesis Transaction
  2. Promotional Proof Transaction

Account Genesis Transaction (AGT)

Give an address A, an AGT is a transaction that:

  • mints address A some Karma (amount likely determined by a system smart contract)

An AGT MUST fail if:

  • the address has a non-zero Karma balance
  • the address has a non-zero SNT balance
  • the address has previously sent a transaction

It can be thought of as a one-time redeemable “new player bonus” for joining the network.

Whether or not these transactions are actually included in a block is most likely determined by network conditions. If it’s prime time for aping meme coins in South Korea and the hottest new waifu NFT opens for minting, sufficient FOMO from degens could lead to blocks without any gasless TX at all; there’s low incentive to include a TX which provides no fees when the mempool is full of gassy transactions.

If the mempool is drained of all gassy transactions, then any remaining block space should go to gasless transactions (they took some Tums lol). As of now I lack enough context to know if gasless transactions by users with non-zero Karma balances should take priority over AGTs.

Note that there is a solid incentive for nodes to include AGTs: a potential increase in the number of users on the Status Network engaging in revenue-generating activities.

Promotional Proof Transaction (PPT)

A PPT is a transaction which includes a proof that can be verified by a system smart contract, whose logic and state determines if the proof is valid, and how much of which asset(s) should be sent to the address submitting the proof. A simple example is: if your address has held SNT on any other EVM network before the launch of Status Network, you can submit a proof of that and get some Karma. However, both the prerequisites and rewards are parametrizable, which opens up a wide range of possibilities.

A great example of how this can be used is to create partnerships with projects who have active users on other chains; e.g. 100 Karma to the first 1,000 degens who submit proof that their address had participated in the MyWaifu NFT mint on the Linea network. Perhaps the system contract which manages the parameters of these “promotional periods” can be set via Aragon governance (and thus provide additional utility/demand for SNT).

This shares similarities with airdrops and bridging, but is much better than bridging for gas money. From the users perspective, the time of the transaction included in the proof is decoupled from the time the PPT is submitted. With typical bridging, submitting one transaction on network A and then waiting for a second transaction to occur on network B is bad UX because the time between a user submitting a transaction and receiving dopamine should be as low as possible. With bridges this time can be too long or inconsistent, and the only inconsistency that degens should suffer is the volatility of their bags. Plus, it’s more pleasant to receive a reward you weren’t expecting, tapping into that “omg free money” effect, accentuated by the slot-machine style sounds and animations of your Neopet-like baby dragon.

While I’m riffing here in writing, perhaps it’s possible to actually design this system contract such that one can create promotional periods that are more like slot machines than vending machines. e.g. submit a gasless proof to open a loot box and pull a random paintbrush that can transform your baby dragon, with a WoW-like common-rare-epic-legend probability distribution. Submit proof that you owned a Bored Ape and watch this dragon either absolutely decimate a cartoon monkey, earning massive Karma, or slip on a banana and receive only 1 Karma. How embarrassing for a winged creature… But I digress…

Both of these strategies are in a raw state and may be plagued with assumptions, so please nitpick aggressively :wink:

5 Likes

Sorry to be late to the conversation, but @chair invited me to respond here. I would like to post an “Idea” on Updraft that states the problem @arseniy highlights, but I want to make sure I have it right, so please confirm or correct my assumptions.

I’m still learning about Status-L2 but so far I’m excited for what it could bring to my projects, and would like to move BrightID onto it if possible. We currently run on IDChain, which has a lot of the same goals as Status-L2 (most people who use BrightID have no idea they’re using a blockchain, and that’s perfect). IDChain gives free gas to anyone who proves they’re a unique human. As an aside, IDChain was the first blockchain after ethereum mainnet to have DAOs. (Aragon, Moloch, and DaoHaus)

The problem with IDChain, though, (which I didn’t realize would be such a problem when I architected it) is that no one cares about it because there’s no way to make money. We give the gas tokens away for free. It’s incredibly capital efficient because it stakes unique user accounts rather than tokens for security. All this is great, but with no way to make money, it’s not exciting like ethereum which is incredibly wasteful of capital, but you can get rich speculating on its gas token.

I’m interested in Status-L2 because it seems to solve IDChain’s failings in bringing liquidity onto the network, and supports some of the same goals, like making gas free for normal users, and making large-scale public goods apps like BrightID possible.

Onto my assumptions: It seems that even though the Status network website and docs say that users don’t have to pay gas, from what @arseniy implies, this isn’t true for new users with no reputation.

This is different from IDChain, where every unique human (especially new users) gets free gas from the faucet–unlimited for normal use–and is sponsored by the app that brought them onto the platform (such as Gitcoin, 1Hive, etc.) They never have to figure out how to onramp funds to use an app like BrightID.

The way we solve this is by staking unique user accounts. If the user turns out to be a sybil attacker, then the consensus voting power of the app that sponsored them is slashed. This isn’t a problem for honest apps because they can use BrightID to verify their users.

If it’s true that we don’t yet have a way for new users of Status L2 to benefit from using apps without gas fees, let me know. If it’s false and there are solutions, let me know the pros and cons, or if we feel like its already solved.

I’d like to help solve this for Status L2, if its an unsolved problem. I think we could apply Aura (new verification system for BrightID) to help and think about using a similar system of app sponsorship and/or account staking like IDChain uses.

5 Likes