Parse session key: Web3 version “password-free payment”

Wallet authorization has always been a necessary process for interacting with DApps, but in the process of interacting in DeFi and GameFi, we often need to authorize multiple times in a short period of time, which greatly affects the user experience. The “Session Keys” technology that Odaily Planet Daily recently focused on allows users to authorize DApp only once to sign subsequent transactions and pay gas by default in the background, realizing a function similar to Web2 password-free payment, thus greatly optimizing user experience.

Parsing the session key: Web3 version of "password-free payment"

How does session key work?

In simple terms, session keys allow users to sign a token to approve specific transactions in advance before interacting with the application. Users can customize parameters such as frequency, gas maximum price, daily limit, etc. When the user signs the token and then interacts with the application When the transaction meets the previous parameter conditions, it will be automatically executed in the background and gas will be paid.

However, currently the session key does not support all wallets, only smart contract wallets, which are sub-technology of smart contract wallets based on account abstraction. Before going any further into session keys, we need to introduce the development of addresses, smart contract accounts, and account abstraction on Ethereum.

About addresses, smart contract accounts, account abstraction

There are currently two types of addresses on Ethereum: the first type of address is the usual wallet address, also known as an externally owned account (EOA), which has the functions of sending and receiving tokens, paying gas, and executing transactions; one is the smart contract address , various dapps deployed on Ethereum run in the form of smart contracts.

Parsing the session key: Web3 version of "password-free payment"

However, there are many problems with such address design. Many Ethereum developers believe that the design of EOA addresses hinders the development of wallets in terms of multi-signature, privacy protection, gas optimization, etc., and is not conducive to the programmability of transactions. Therefore, Buterin, Ansgar Dietrichs, Matt Garnett, Will Villanueva, Sam Wilson, etc. proposed and completed the Ethereum Improvement Proposal  EIP-2938  , and proposed the concept of “user abstraction”.

Regarding account abstraction, in simple terms, it is to allow the smart contract address to pay gas and execute transactions, so that it has all the functions of a wallet address. The smart contract address based on account abstraction is the smart contract account, and the concept of smart contract wallet is derived from this (just like the personal Metamask account and the Metamask wallet software).

The session key is a sub-technology of the smart contract wallet based on account abstraction.

As mentioned earlier, wallets that support session keys support user-defined password-free payment parameters, but the options for these parameters are entirely up to the wallet developer. And the session key does not support all DApps. The supported DApps depend on whether the smart contract wallet you use allows calling the Dapp’s contract. This process is centralized.

To sum up, the session key is Web3’s password-free payment, which allows users to authorize the DApp only once to sign subsequent transactions and pay gas by default in the background . So what are the use cases now?


In How to Make On-Chain Gaming Competitive: ‘Session Keys’ [Part 1 ] , the on-chain gaming incubator MatchBoxDAO on StarkNet proposes some use cases for session keys, including:

  • User-friendly and uninterrupted gameplay;
  • The ability to set up multiple DeFi positions;
  • Confirmation when filling out forms with many inputs;
  • unmanaged and self-directed IRAs;
  • Re-managing assets in wallet/inventory…

Parsing the session key: Web3 version of "password-free payment"

From the working principle, since the session key can allow users to approve some transactions in advance, thereby reducing the number of user approvals, it will be used in all application scenarios with high-frequency authorization and interaction. We can reason from this that session keys can solve problems such as Web3 social media that require high-frequency on-chain interactions to affect user experience.

Taking Lenser as an example, all interactions on the on-chain social media Lenser developed based on the social protocol Lens Protocol require authorization and payment to Matic, and wallet authorization is required for each comment and forwarding, which greatly affects the user experience.

Parsing the session key: Web3 version of "password-free payment"

If Lenster implements session keys, it will save users from tedious multiple authorizations, have a smoother product experience, and greatly narrow the huge product gap with Web2 applications such as Twitter. We may be able to look forward to some day in the future. You can use some product experience comparable to Web2 products, but the architecture is Web3’s decentralized social media.

Reference link

1.    Argent X tweets about session keys

2. 《How to Make On-Chain Gaming Competitive: ‘Session Keys’ [Part 1]》 ——MatchBoxDAO

3. 《From Sign-In with Ethereum to Session Keys》——Wayne Chang

4. 《An overview of Account Abstraction in Ethereum blockchain》——Yash Kamal Chaturvedi

5.   EIP-86:Abstraction of transaction origin and signature

6.   EIP-2938:Account Abstraction

7.   EIP-4337:Account Abstraction via Entry Point Contract specification

Posted by:CoinYuppie,Reprinted with attribution to:
Coinyuppie is an open information publishing platform, all information provided is not related to the views and positions of coinyuppie, and does not constitute any investment and financial advice. Users are expected to carefully screen and prevent risks.

Like (0)
Donate Buy me a coffee Buy me a coffee
Previous 2022-08-29 10:59
Next 2022-08-29 11:01

Related articles