As you might already know, PlotX is going to be moving to Layer 2 soon. But, going on L2 can be a little harder than what meets the eye. During any L2 transition, developers need to strike a balance between the delicately placed trilemma of security, scalability, and user experience.
It’s essential that none of the above-stated characteristics is compromised while transitioning to L2, as it would severely impact the adoption of the Dapp you’re building.
In such a scenario, every feature of your Dapp needs to be vetted for the impact it might have on the user experience, and how well it will fit in with the rest of the Dapp.
If you don’t already know what moving to layer 2 means, here’s a quick background.
Transactions on L2
Since layer 2 doesn’t exist on the Ethereum blockchain, the cryptocurrencies that exist on them also can’t be directly used on Ethereum (and vice versa). If you want to make a transaction on layer 2, you need to use what’s known as a bridge that connects the main Ethereum blockchain (where your crypto assets are) to the layer 2 networks.
It wouldn’t have been a problem if using this bridge was super easy to understand and use. Don’t get me wrong, for a tech-savvy person (who most DeFi participants are), it is not that difficult to do this. But, for an average joe, this might be a deal-breaker.
To understand this better, let’s take a look at how a project like PlotX might work on layer 2 with MetaMask (the current go-to non-custodial DeFi wallet).
To place a prediction on PlotX using $PLOT on layer 2, one will first need to transfer their $PLOT sitting in their Ethereum wallet to a layer 2 network (let’s say MATIC).
This process requires users to:
- Connect their MetaMask to the Ethereum mainnet and deposit their $PLOT to the MATIC smart contracts;
- Once the funds migrate (this generally takes around 7-8 mins), one can start using them on the MATIC network.
- To make any transaction on MATIC via MetaMask, for example, place a prediction on PlotX; firstly, users will need to change their RPC connection on the MetaMask plugin.
- Since this is not a default option available in the dropdown, users will need to go via custom RPC and enter the Network Name, New RPC URL, Chain ID, Token Symbol, and Block Explorer link for the MATIC network. Any incorrect data entered here may lead to confusion later on, for example, pointing to the wrong explorer.
While this process may not seem daunting to DeFi veterans, this compromises the user experience for an average/new trader, affecting adoption.
A Better Alternative - Magic Link
MetaMask/WalletConnect are excellent wallet providers for the main Ethereum chain but when talking about L2 solutions like MATIC, the number of manual steps that need to be taken along with their technical complexity stands in the way of user experience. To maintain the balance between security, scalability and user experience, we will be baking Magic Link’s services into the PlotX Beta on L2.
This move will improve the user experience on PlotX and contribute towards increasing the security for users. Magic Link doesn’t require users to create or use a password to log into their accounts or get access to their funds.
Instead, they employ many techniques like Decentralized IDs, Zero-Knowledge Proofs, and Delegated Key Management to give users the ability to log into their accounts by clicking a link delivered to them via email. No password means no chance of data leak, all the while improving the user experience.
How Will It Work?
- When a user comes on PlotX to predict, they will sign up on PlotX using just their email ID and nothing else.
- Once they enter their email and hit “Sign Up”, they’ll receive an email with a link, which when clicked will log them into their account.
A couple of things to note about this process are:
- The login button that the users will receive on their email will expire after 10 minutes.
- Though the email that the users will receive will have the name of PlotX, the email will be generated by Magic Link.
- Whenever a user signs up on PlotX by following the above-stated procedure, a public-and-private key-pair is generated on the client-side for the user inside an iframe, inaccessible by the integrated app.
- The public key to this wallet will be available on the PlotX UI, but the private keys are encrypted by dedicated master keys accessible only by the user. These dedicated user master keys are stored on Hardware Security Modules provided by AWS KMS.
Some of the details mentioned above are quite technical so that we won’t list every detail about the whole procedure. But, if you want to learn more about passwordless login and its benefits over the traditional approach, you can head on over to Magic Link’s docs.
PlotX on L2 is going to be awesome! So, it’s fitting that we also have an equally awesome way of placing predictions and logging into the Dapp. This new integration will benefit the users and help the team gain a deeper insight into how the predictors are interacting with the Dapp.
When working together with all the other upcoming updates (to be announced very soon), the Magic Link integration will transform the user experience on PlotX without compromising on crucial DeFi principles. So, be ready to see a whole new PlotX very soon and start polishing up your predicting skills to get serious once it’s rolled out.