Pushing Seamless UX Forward With Meta Transactions
I’m extremely honored to announce that I will be joining the Gitcoin team full time as their Director of Research. My tasks will include continuing to #BUIDL and #SHIPL in the meta transaction space with an emphasis on seamless onboarding into Ethereum and assisting with some special projects that are yet to be announced. Hanging out with the team at ETHSanFrancisco really got me excited for the opportunity to work with such amazing hackers.
I met so many fascinating people in the ecosystem this past week and I’ll never quite remember everything I discussed with everyone. The summary: it’s clear the Ethereum space is ready for a smooth onboarding experience. We believe this UX will be powered with gasless abstractions like meta transactions.
The main thesis behind seamless onboarding is presenting the user with the heart of the dApp first while hiding away an ephemeral account and interacting using meta transactions. If it’s a song curating service, let them post a song. We pay for their gas. Then, as they provide value within the ecosystem of the app itself and other users upvote their content, they will accrue value. They will be far easier to educate about web3 after they have used the app and earned value:
My main focus over the next few months will be getting the word out about how to make a smooth onboarding experience and then providing the tools for developers to easily implement it. Open sourcing a tool is no longer good enough; we need to educate to drive adoption. One single tool will never be the full answer either; we need to provide optionality to the user and the developer around the idea of seamless onboarding. (cc Saya Iwasaki)
If you are new to meta transactions, here is my very first video. The TL;DR is the user signs a transaction but instead of going on-chain, they submit it to a relay network. This network is incentivized to pay the gas for the user and submit their transaction to a special proxy contract that cryptographically proves and executes the transaction.
From there, we discovered we could pull out the nonce (replay protection) that was signed in the metatx and purposely replay the transaction periodically. This works perfect for token subscriptions and delegated execution subscriptions (read more here):
Finally, the most recent demo refocuses on the process of getting a new user straight to the interesting part of an app. Almost like a trojan horse into the middle of the crypto onion. (cc Kames) Then, after the user is sold on the idea of the application itself, we slowly back them out by providing education on the many layers like hashes, seed phrases, key pairs, smart contracts, on-chain identity, social recovery, etc. The key is, they never have to know anything about Ethereum until they actually own some and need to protect it.
This video is also featured at the bottom of the Dapparatus repository. Dapparatus is a collection of web3 components are can help a developer quickly get their app up and running and allow them to focus on making something powerful without wrestling with the blockchain. Components like MetaMask are still quickly evolving and it would also be powerful to abstract these changes away from a developer so they aren’t constantly trying to keep up with the new hotness.
Whether it’s Dapparatus, or something similar, we plan to champion this type of toolset and the idea of smooth onboarding. If you would like more information or to help drive this idea forward, please contact me on Twitter or Telegram as @austingriffith!
If you are interested in building dApps powered by meta transactions with Clevis & Dapparatus, I’m hosting a workshop at Devcon in Prague Oct 31 at 3:30PM in the Coquelicot room.
If you are interested in the idea of recurring grants or token subscriptions, be sure to check out the l33t standard at: https://gitcoinco.github.io/ERC-1337
If you are interested in pushing open source forward, get involved with the Gitcoin community:
Thank you for your interest and let’s build the next big wave of Ethereum adoption using gasless interactions!