Technical Specifications
This section describes the technical features in this project.
Last updated
This section describes the technical features in this project.
Last updated
The wallet for this service is a non-custodial wallet, meaning that users manage their own private keys. This means that users have complete control over their own assets, providing a high level of security and privacy that does not rely on a central administrator.
User-controlled private keys: Users securely store their own private keys and do not rely on a third party to manage their assets. This greatly reduces the risk from hacking and fraud. In addition, by leaving the management of private keys to the users themselves, they have greater freedom to move their assets without relying on outside services.
UX: Despite being a non-custodial wallet, this service can be used without being aware of the wallet. This is achieved by implementing a gasless UX through Account Abstraction, described below, which allows users to use the service without being aware of the gas.
We use Privy for our wallet implementation. The product has undergone multiple audits and penetration testing by third-party testers and developers.
For more information on security, please click here.
Privy employs Shamir's Secret Sharing (SSS), a technology that divides the secret information (in this case, the secret key) into multiple shares and stores each share securely in a different location. This greatly improves security because the secret information cannot be recovered unless all the shares are in place.
Partitioning and Recovery: In SSS, the private key is partitioned into n shares, and the private key can be recovered when k shares are aligned (k <= n). For example, by dividing the key into 3 shares and making it recoverable if 2 shares are aligned, security is maintained even if one share is compromised.
Decentralized storage: Each share is stored in a different location so that if a single share is compromised, the entire private key is not compromised. This enhances both physical and digital security.
Fault tolerance: If a share is partially lost, the private key can be recovered if a predetermined number of shares are available, thus increasing fault tolerance.
For more information, please click here.
The service implements a gasless transaction feature to enhance the user experience. This feature allows users to transact without having to worry about transaction fees (gas fees). In addition, Account Abstraction allows users to pay for gas with tokens other than Ethereum(ETH).
Account Abstraction allows users to pay for gas with tokens other than Ethereum(ETH). This allows for flexibility in transactions and efficient use of the tokens held by the user. In addition, a third party (e.g., the project operator) can shoulder the gas bill, allowing users to use the service without being aware of the gas bill.
UserOperation: It is a pseudo-transaction object, used to perform actions through a smart contract account. It contains the user's intent, signature, and other data.
Bundler: The Bundler collects the UserOperation from the Mempool and sends them together to the Entry Point Contract. This allows multiple UserOperation to be combined into a single transaction and included in the block.
EntryPoint Contract: This contract validates and executes the UserOperation that is sent. It functions as a singleton and simplifies the logic of the smart contract wallet since there is only one on the chain.
Account Contract: It is the user's smart contract wallet and must implement at least two custom functions (signature verification and transaction processing).
Factory Contract: Used to create an Account Contract when a new wallet is used for the first time; ensures determinism of addresses generated using the CREATE2 method.
The selected blockchain for this service is Arbitrum One, an Ethereum Layer 2 solution and platform that enables fast and low-cost transactions. This provides scalability and efficiency and improves the user experience.
Arbitrum One is designed to solve the scalability issues of the Ethereum mainnet, providing high throughput and low latency transaction processing. This allows users to enjoy a fast and smooth transaction experience. It also allows developers more design flexibility when building complex dApps.
Arbitrum One enables economical transactions for users by significantly reducing gas costs. This is especially important for gasless transactions and micropayment use cases. The low-cost transaction environment allows users to transact more frequently, contributing to the revitalization of the entire ecosystem.
Arbitrum One inherits the Ethereum mainnet security model and maintains high security standards. User assets and data are protected by robust security protocols. In addition, the distributed network architecture reduces security risks as there is no single point of failure.