AmineElmerzouki
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights
    • Engagement control
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Versions and GitHub Sync Note Insights Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       owned this note    owned this note      
    Published Linked with GitHub
    Subscribed
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    Subscribe
    ![image](https://hackmd.io/_uploads/SkrohUCE6.png) # ERC-4337: Revolutionizing Ethereum's Account Management ## Embracing a New Era in Ethereum's Evolution In the constantly evolving landscape of Ethereum, the emergence of ERC-4337 heralds a significant breakthrough in the domain of account management. This standard, specifically tailored for the Ethereum blockchain, is primarily centered around the concept of account abstraction. This innovative approach is designed to fundamentally transform the way user accounts are managed and interacted with on the Ethereum network. ## The Vision: Streamlining User Experience in Blockchain The advent of ERC-4337 is driven by a clear objective: to enhance the accessibility and usability of blockchain and cryptocurrency applications. By seamlessly integrating smart contract functionalities directly into wallets, ERC-4337 represents a radical departure from conventional methods. This integration equips wallets with the ability to execute more complex operations and engage more fluidly with a variety of blockchain applications. The result is a user experience that is not only simplified but also enriched with a broader spectrum of capabilities for wallet users. --- ## Understanding the Mechanics of ERC-4337 ERC-4337 introduces an innovative framework within the Ethereum network, defined by several key components: - **UserOperations**: This element is central to ERC-4337, functioning as quasi-transaction entities. They carry out tasks on behalf of users and are compiled in an alternate mempool, awaiting further processing. - **Bundlers**: These entities manage the alternate mempool, combining various UserOperations into comprehensive operations, and then forwarding them to a specific contract. - **EntryPoint Contract**: This contract acts as the receiver of bundled operations, handling their unpacking, validation, and execution. - **Paymaster Component**: A novel addition in ERC-4337, the Paymaster handles the diversity in gas payment strategies, allowing varied methods of gas fee settlements. - **Aggregator Contract**: Supporting the main smart contract account, this contract aids in simultaneously validating signatures of numerous UserOperations. Together, these components are instrumental in realizing account abstraction and the concept of smart contract wallets within Ethereum. ### Advantages of Adopting ERC-4337 The benefits of ERC-4337 extend across various dimensions: - **Enhanced Security**: Moving away from traditional methods reliant on seed phrases and private keys, ERC-4337 introduces more robust options for account recovery and authentication. - **Greater Flexibility**: This standard allows for more sophisticated management of assets on Ethereum, paving the way for intricate financial tools and benefiting both individual users and larger institutions. - **User Experience (UX) Enhancement**: ERC-4337 enables the development of user-friendly decentralized applications (dApps), reducing complexity and gas fees, thereby aligning closer with conventional app experiences. ### Practical Applications of ERC-4337 The real-world applications of ERC-4337 are diverse and impactful: - **Batch Operations**: UserOperations facilitate the execution of multiple steps in a singular operation, streamlining batch transactions and simplifying intricate procedures. - **Shared Account Access**: This feature allows users to share access to their accounts under specific constraints, like time-limited access or spending caps. - **Two-Factor Authentication Integration**: Leveraging account abstraction, ERC-4337 enables the incorporation of advanced security measures like two-factor authentication. - **Flexibility in Gas Costs**: The introduction of sponsored transactions means that one user can pay the gas fees for another, adding versatility to transaction fee management. - **Automated Transaction Capabilities**: Smart contract accounts under ERC-4337 can be programmed for automated transactions, easing recurring payments and subscription models. ## Unraveling ERC-4337 and EIP-4337 Understanding the distinction between EIP-4337 (Ethereum Improvement Proposal) and ERC-4337 (Ethereum Request for Comment) is pivotal in comprehending the full impact of this standard. While both play vital roles within the Ethereum ecosystem, their functions are distinct. EIP-4337 represents the preliminary phase of proposing technical modifications to the Ethereum network. This stage is all about the conceptualization and development of new ideas and their discussion within the community. Conversely, ERC-4337 steps into the limelight once an EIP receives approval and is poised for wider implementation and standardization. ERCs define the standards and protocols for the Ethereum network, directing developers on how to uniformly and effectively implement the proposed modifications. The progression from EIP-4337 to ERC-4337 marks a significant transition from a proposal to an established and recognized standard, signaling its acceptance and readiness for deployment across the Ethereum ecosystem. ## Delving into the Origins of EIP-4337 The journey of EIP-4337, short for Ethereum Improvement Proposal 4337, is integral to the story of ERC-4337. Initiated as a groundbreaking technical proposition in 2021 under the guidance of Ethereum's co-founder Vitalik Buterin and a team of leading developers, EIP-4337 laid the groundwork for what would eventually become ERC-4337. This proposal received the green light through Ethereum's unique on-chain governance process, culminating in its approval in March 2023. ### A Look at Alternative Account Abstraction Proposals in Ethereum While EIP-4337 and its successor ERC-4337 are often in the spotlight, the Ethereum Improvement Proposal landscape includes other notable initiatives aiming at account abstraction: - **EIP-2771**: This proposal brings forth the concept of "meta-transactions," which allows third parties to shoulder gas fees for users. It enhances user experience by offering a more inclusive approach without necessitating any changes to the core Ethereum protocol. - **EIP-2938**: Offering a contrast to ERC-4337, this proposal advocates for a protocol update in Ethereum with a new transaction type, AA_TX_TYPE, dedicated to providing inherent support for smart contract wallets. - **EIP-3074**: This proposal's ambition is to give Externally Owned Accounts (EOAs) the ability to delegate authority to smart contracts, which would require the introduction of two new Ethereum Virtual Machine (EVM) opcodes: AUTH and AUTHCALL. Despite the existence of these alternatives, the Ethereum community has shown a strong inclination towards EIP-4337 and ERC-4337, primarily due to their minimally invasive nature towards the existing Ethereum protocol. ## Harnessing the Power of the Wallet API in ERC-4337 For developers eager to build Web3 wallets or incorporate wallet features into decentralized applications (dApps), the Wallet API stands as a cornerstone technology. Boasting compatibility with over 500 million addresses across a variety of blockchain networks such as Ethereum, Polygon, BNB Smart Chain, Arbitrum, and others, the Wallet API is a powerhouse of functionality. It is equipped with a wide array of features, remarkable scalability, and extraordinary flexibility. Implementing the Wallet API allows for effortless access to native balances, Non-Fungible Tokens (NFTs), transaction histories, wallet activities, and much more. Being fully aligned with the principles of account abstraction, the Wallet API emerges as an essential tool for developers looking to construct state-of-the-art Web3 wallets and seamlessly integrate wallet functionalities into their dApp projects, leveraging the full potential of ERC-4337. ## Account Abstraction: A Paradigm Shift Delving deeper, ERC-4337 is a beacon of innovation in the realm of account abstraction. This term, while technical, encapsulates a shift towards more versatile and dynamic account structures within the Ethereum network. Through account abstraction, ERC-4337 seeks to dissolve the traditional barriers that have compartmentalized user interactions with the blockchain. This move not only opens up new avenues for developers but also ensures a more cohesive and intuitive experience for end-users. ## The Future of Ethereum Wallets With ERC-4337, the very concept of a 'wallet' in the cryptocurrency world is poised for a transformation. Moving beyond mere storage of digital assets, wallets are set to evolve into sophisticated platforms capable of executing a myriad of smart contract-based operations. This evolution speaks volumes about the potential of ERC-4337 in reshaping not just the technical landscape but also the everyday experiences of users engaged with Ethereum and its myriad applications. ## Conclusion In sum, ERC-4337 stands at the forefront of a significant shift in Ethereum's ecosystem. By bridging the gap between user-friendliness and advanced blockchain functionalities, it is poised to play a pivotal role in the evolution of Ethereum's user interface and overall functionality. This introduction lays the groundwork for exploring how ERC-4337 is set to redefine the interactions between users, wallets, and the Ethereum blockchain, thus marking a cornerstone in the evolution of Ethereum's usability and user experience.

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully