All About Account Abstraction

Account abstraction frees users from dealing with the technical details of managing an account on Sui.

All About Account Abstraction

Sui enables account abstraction, automating the more granular details of account management, with its native language and through two specific features. Both zkLogin and sponsored transactions ease the user journey while Move's fundamental structure lets developers deliver seamless experiences.

The topic of account abstraction gained interest recently as blockchains look to expand their userbases. As early adopters, existing blockchain users were content to jump through various hoops to use the technology, including saving seed phrases or coming up with mnemonics to remember them, and gathering tokens through direct trading or finding airdrops.

Although blockchain early adopters demonstrate great enthusiasm for the technology and serve to evangelize it, second wave users show less patience for complicated onboarding processes. Web3 apps have difficulty competing with existing Web2 services that merely require a username and password, if that.

Sui's contributors recognized early on that a new blockchain would need sophisticated account abstraction to welcome a new generation of users.

Removing friction

The need for a simplified login experience led to the establishment of third-party authorization services for Web3 apps. Sui, on the other hand, created native support for third-party authorization through zkLogin. Implemented as a primitive, zkLogin lets builders add a login path to their apps through existing credentials such as Google, Facebook, and Twitch.

Where a third party authorization provider needs to gather both user credentials for a Web2 account and wallet access, Sui's zkLogin eliminates this middleman. Along with reducing security risks, the simplified credentialing flow means fewer points of failure. Builders don't need to depend on the uptime of a third-party authorization service.

diagram showing the zkLogin infrastructure
zkLogin creates a secure process that lets Sui app builders integrate Web2 credentials from trusted services such as Google and Twitch.

Sponsored transactions further reduce friction by letting builders pay the gas fees for use of their apps. Sui includes the capability to set up a gas station, which gives builders various options to interact with users and pay transaction costs.

Sponsored transactions show great potential to onboard users unfamiliar with typical Web3 processes. Many users won't bother trying a new app if they first need to buy tokens from an exchange or other source. If the app is free to try, users are far more likely to check it out.

Although it may seem like a losing proposition for a builder to cover app usage costs, sponsored transactions open a path for Web3 apps to engage in more traditional software revenue models. Builders may offer subscriptions and trial periods, or adopt an ad-supported model. These traditional models have the potential to generate revenue, where making users foot the bill for transactions does not.

Combining zkLogin and sponsored transactions eliminates the friction new users encounter when getting started with Web3 apps. A new user can log in with an existing username and password and immediately start using the game or app.

Network fundamentals

Sui's native programming language, Move, contributes to its account abstraction capabilities on a fundamental level. Sui differentiates itself from other blockchains by making objects the basic unit of storage rather than accounts. Objects on Sui contain rich ownership metadata, creating options for complex object relationships not possible on other blockchains.

This paradigm lets objects perform functions that previously could only be executed at the account level. On Sui, builders can create objects that act as proxies for the account owner, doing work that otherwise the owner would need to do, abstracting away certain functions. As an example, an app could perform scheduled or recurring payments for a user. Older blockchains that don't embrace account abstraction require an account owner to initiate each payment manually, a task that quickly becomes tedious.

Programmable Transaction Blocks (PTBs), another Sui primative, give developers a form of abstraction when coding transactions. Instead of creating many small events triggering transactions, developers can bundle many events into a single transaction. Other blockchains require one transaction per event, leading to slower performance and higher gas fees.

In addition to the object model and PTBs, Sui's cryptographic agility contributes to the concept of abstraction, enhancing primitives such as zkLogin. Cryptographic agility means builders can plug in encryption signing schemes, such as Ed25519 and Secp256k1 ECDSA, to their apps. In this way Sui abstracts encryption from the protocol, letting builders choose best-of-breed signing schemes. Cryptographic agility also future-proofs Sui by opening it up to new encryption schemes that might employ quantum technology or artificial intelligence to protect users.

Conclusion

The typical iPhone user doesn't need to know about Swift to use Apple's podcast app, just as a salesperson doesn't need to know how cloud computing works to use Salesforce. Neither should a Web3 user be required to understand key management to interact with their favorite game. Most people want value for the time they spend and a good experience when using an app.

Blockchain enthusiasts want data security and freedom from corporate and government hegemony, and are willing to overlook annoyances or complexity to get it. The average person, comprising the next wave of users, will need a more inviting, valuable experience.

Sui's account abstraction was designed specifically to remove barriers to entry and make the technology a non-issue to users.