Account abstraction (AA) has undoubtedly paved the way for immense improvements in the Ethereum ecosystem. Now, combine it with the power of attestations, and we open up a world of possibilities, from enhanced control over authorization logic to deeper transaction context and better user security.
Initially, Ethereum utilized Externally Owned Accounts (EOAs), offering simplicity and familiarity. But EOAs came with constraints.
EIP-4337 introduced account abstraction, unlocking capabilities like transaction batching, account recovery, and sponsored gas fees. However, this expansion brought its set of challenges, such as the need for AA to exist on Layer 2 (L2) solutions, standardization requirements, and wallet integrations.
Beyond these, there's another crucial aspect to address: trustfulness and contextual depth in our transactions.
Attestations have the power to provide rich, context-aware information within transactions. For instance, consider a DAO project requiring multi-signature approval for fund disbursement. You could use a multisig or even a smart contract wallet, but both lack context as to why the transaction is occurring.
What if we used attestations to improve the authorization logic? In this scenario, an attestation signifies a project manager's approval for a project ID, and another denotes a treasury manager's consent to allocate funds for that project. Once these attestations are available, the funds can be disbursed. This not only adds layers of approval but gives transactions a richer narrative.
As builders, it's time to turn this possibility into a reality. Picture the transformation—where attestations provide not just an approval, but a rich story behind each transaction.
With attestations, we can supercharge account abstraction in ways not previously imagined. Here are some practical applications:
Role-Based Authorizations: Attestations can demand transactions to have approvals from key DAO or community members, heightening security.
Enhanced Security: Attestations can require specific roles or identities to approve, reducing unauthorized transactions.
Consent Verification: For Dapps needing user consent before processing actions, attestations can ensure these consents have been provided.
Regulatory Compliance: Attestations can certify that transactions comply with necessary regulatory conditions.
Contextual Understanding: Attestations can embed transactions with rich, structured data.
Flexible Authorization Logic: Beyond a binary yes/no, attestations enable a variety of approval types.
Dynamic Access Control: Attestations can grant and revoke permissions as roles within a project evolve.
Off-Chain to On-Chain Verification: Attestations can bridge off-chain data with on-chain transactions.
Conditional Execution: Attestations can enable conditional transactions, facilitating actions like collateral checks within DeFi smart contracts.
Automated Governance Voting: DAOs can utilize attestations for efficient, off-chain voting mechanisms, reducing gas costs and improving governance participation.
This flow is an example funding request that shows an address requesting a payment to be authorized, then the following attestations show additional approvals for the payment. Once provided, the funds could be deployed to the appropriate party.
A member initiates the request, providing key details like the amount, currency type, and request category. Each detail is captured in a structured format, known as the schema (#165) of the attestation. When made, every attestation generates a unique identifier (UID), which is a hash of the attestation data, enabling future references.
While this attestation has a field to represent the category of the payment, it could also have a referenced attestation that refers to the Project ID that is being approved or why the funds were being requested.
Post the initiation, the request needs approval. Here's where the beauty of attestations shines. For instance, the treasury manager can review the request and provide their attestation, either approving or denying it, referencing the original UID.
It's not just a single layer of approval. Multiple authorizations from various addresses can be integrated into this workflow, providing a robust, secure approval process. Once all necessary attestations are collected and validated, the payment is automatically processed to the appropriate party.
This example illuminates each attestation and builds a narrative around a transaction, layer by layer, ensuring thoroughness and secure authorizations. The multi-level approval process enhances security and makes it robust. Once all attestations are in place, the payment flows seamlessly.
What we witness here is more than just a payment process - it's the potential of Ethereum transactions to become more contextual and secure. These attestations are not just mere approvals; they are the bridges linking intent, action, and verification.
Attestations are expanding what’s possible in Ethereum while infusing transactions with trust and transparency. Ethereum isn't just becoming more efficient and flexible—it's evolving to be more adaptable to a wider range of applications, fostering a more inclusive, vibrant, and trustful ecosystem.
However, building a dynamic and adaptable ecosystem with attestations isn’t without challenges. Developers must understand how to implement attestations effectively within existing structures and navigate potential complexities. For product people, translating these advancements into industry-specific applications could be the key to unlocking novel opportunities.
To get started, explore the Ethereum Attestation Service and delve into the world of attestations. Together, we can shape the Ethereum of the future, creating a more trustful, dynamic, and inclusive ecosystem for all. It's more than just an upgrade. It's the next evolution in the Ethereum journey.
Your expertise, your ideas, and your actions can drive this change.
Are you ready to be a part of it?
EAS is an infrastructure public good for making attestations onchain or offchain. Attestations are simply digital signatures on structured data. To learn more about EAS, explore the following resources:
Website: https://attest.sh
Docs: https://docs.attest.sh
SDK: https://docs.attest.sh/docs/getting--started/javascript
GraphQL API: https://sepolia.easscan.org/graphql -- change the subdomain for your chain
Twitter: https://twitter.com/eas_eth
Learn about attestations: https://optimism-goerli.easscan.org/learn
Make your first schema: https://sepolia.easscan.org/schema/create
Sepolia: https://sepolia.easscan.org
Optimism-Goerli: https://optimism-goerli.easscan.org
Arbitrum: https://optimism-goerli.easscan.org
Mainnet: https://easscan.org
Alchemy’s Account Abstraction Overview: https://docs.alchemy.com/docs/account-abstraction-overview
EIP 4337: https://eips.ethereum.org/EIPS/eip-4337
Metamask’s Account Abstraction: Past, Present, Future: https://metamask.io/news/latest/account-abstraction-past-present-future/
Ethereum.org Account Abstraction: https://ethereum.org/en/roadmap/account-abstraction/