EIP-7702 là gì? Đề xuất cung cấp chức năng Smart Account cho EOA
![Avatar](/_next/image?url=https%3A%2F%2Ffiles.amberblocks.com%2Fthumbnail%2Fchnbzaa92ook5tnj%2Fchannel%2Fchnbzaa92ook5tnj%2Ff8xggzaan1h8ak0kz9cjhlnzcffpbk77%2Flogocoin98.png&w=3840&q=20)
![eip 7702](https://files.amberblocks.com/thumbnail/chnbzaa92ook5tnj/posts/p89fudx914lhfvtj/f3iz8h6kfiu3bl5xhnekncsfzc8tbd9s/thumbweb-eip-7702.jpeg)
EIP-7702 là gì?
EIP-7702 được đề xuất bởi Vitalik Buterin, tác giả của EIP-3074 và một số nhà phát triển cốt lõi khác. Nó giới thiệu một loại giao dịch mới cho phép các EOA (Externally Owned Account) tạm thời có được quyền hạn của SA (Smart Account) trong một giao dịch.
Điều này có nghĩa là với EIP-7702, EOA hiện có thể truy cập các chức năng nâng cao dành riêng cho SA (Smart Account), chẳng hạn như:
- Batching / Multicall: Kết hợp nhiều hoạt động vào một giao dịch, ví dụ như đơn giản hóa các tác vụ phổ biến như phê duyệt token và swap trên DEX.
- Sponsoring / Paymaster: Cho phép giao dịch account X được tài trợ bởi account Y.
- Privilege de-escalation: Trao quyền cho người dùng tạo khóa con (sub-key) với quyền hạn chế, tăng cường bảo mật và kiểm soát tài khoản.
EIP-7702 được xem là một phiên bản thay thế cho EIP-3074. Mặc dù mục tiêu chính của cả hai EIP là cung cấp chức năng SA cho EOA nhưng cả hai có những cách tiếp cận khác nhau, trong đó, EIP-7702 phù hợp với lộ trình tập trung vào AA (Account Abstraction) thông qua ERC-4337.
![eip 7702 với eip 3074](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/p89fudx914lhfvtj/f7dsoxj4ritpuhqc4brtzjlrnl4e5l36/compair-eip3074-eip7702.png)
Con đường dẫn tới EIP-7702
Quyết định đưa EIP-3074 vào bản nâng cấp Pectra devnet 0 đã gây ra sự tranh cãi giữa các nhà phát triển.
EIP-3074 là một nâng cấp cho phép EOA (Externally Owned Account) có các chức năng của SA (Smart Account). Mặc dù cung cấp những lợi ích trong ngắn hạn nhưng EIP này có thể gây ra vấn đề phân mảnh Wallet UX và khả năng tương thích trong dài hạn đối với lộ trình AA (Account Abstraction) thông qua ERC-4337.
![account abstraction của ethereum](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/p89fudx914lhfvtj/f2e7e2ujzqwm61otwwfzb077egcxabrd/aa-4337.png)
Tại sao Ethereum tập trung vào AA (Account Abstraction) thông qua ERC-4337?
Trong thiết kế của Ethereum, EOA liên kết chặt chẽ với một đối tượng mật mã được gọi là signer (hay còn là keypair), được tạo thành từ hai khóa là private key và public key. Private key được sử dụng để ký (sign) các tin nhắn kỹ thuật số và public key được dùng để xác minh các chữ ký này. Ethereum sử dụng sơ đồ chữ ký ECDSA dựa đường cong elip Secp256k1 để tạo ra keypair.
ECDSA (Elliptic Curve Digital Signature Algorithm): Một thuật toán mã hóa được sử dụng để tạo chữ ký số.
Tuy nhiên, ECDSA không kháng lượng tử, vì thế Ethereum đang xem xét hướng phát triển an toàn hậu lượng tử trong 1 - 2 thập kỷ tới.
AA (Account Abstraction) là hướng phát triển được xem xét, nó tách vai trò của Account (đối tượng giữ token) và Signer (đối tượng được ủy quyền di chuyển các token trong tài khoản) bằng cách biến tài khoản thành smart contract với logic riêng.
ERC-4337 đã nổi lên như một giải pháp AA hàng đầu cho Ethereum. Một trong những ưu điểm ERC-4337 là nó không yêu cầu thay đổi giao thức cốt lõi (không cần Hardfork). Tuy nhiên, để triển khai ERC-4337 vẫn cần các cơ sở hạ tầng off-chain liên quan và những khó khăn này được đẩy cho các nhà phát triển ví và ứng dụng.
Nhìn chung, AA nói chung và ERC-4337 nói riêng sẽ cần nhiều thời gian để triển khai và được chấp nhận rộng rãi trên thị trường.
VÌ vậy, nếu EIP-3074 được triển khai trên mainnet, về lâu dài, nó có thể tạo ra một sự phân mảnh Wallet UX vì cách tiếp cận của EIP-3074 không thích với tính năng AA thông qua ERC-4337. Ngoài ra, EIP-3074 giới thiệu các opcode mới (AUTH và AUTHCALL) sẽ không được tái sử dụng bối cảnh AA với ERC-4337.
Đọc thêm: EIP-3074 là gì? Đề xuất biến ví điện tử thành hợp đồng thông minh.
Đề xuất của Vitalik Buterin, EIP-7702 nổi lên như một giải pháp tiềm năng trung hòa giữa EIP-3074 và ERC-4337. Về mặt chức năng, EIP-7702 cung cấp chức năng tương tự như EIP-3074 nhưng không bổ sung các Opcode mới vào giao thức. Đồng thời, EIP-7702 vẫn tương thích với lộ trình AA, có thể tận dụng cơ sở hạ tầng 4337 hiện có.
![erc 4337](https://files.amberblocks.com/media/chnbzaa92ook5tnj/posts/p89fudx914lhfvtj/fb0n5kw8srjbx01oo3mkvd4obvyq7dgu/eip-7702-and-infras-4337.png)
Tương lai của EIP-7702
Các nhà phát triển cốt lõi bày tỏ sự lạc quan về việc thay thế EIP-3074 bằng EIP-7702 sau cuộc thảo luận diễn ra vào ngày 7/5. Tuy nhiên, một số chi tiết của EIP-7702 vẫn cần được phát thảo chi tiết hơn, ví dụ như cách các EOA thu hồi ủy quyền, chi phí giao dịch của loại giao dịch mới, chain agnostic signatures (chain ID), truy cập bộ nhớ,...
Do đó, trong ACDE#187 (All Core Developers Execution) diễn ra vào 9/5, các nhà phát triển cốt lõi của Ethereum đã thống nhất việc tiếp tục thử nghiệm EIP-3074 trong Pectra devnet 0 cho đến khi EIP-7702 được hoàn thiện. Quyết định cuối cùng EIP nào được đưa vào nâng cấp Pectra sẽ được đưa ra trong vài tuần tới.
Tổng kết
Dù EIP-3074 hay EIP-7702 được đưa vào Pectra, đây cũng là một bước phát triển lớn cho UX của Wallet. Mặc dù thế, nó cũng đặt ra những thách thức lớn trong việc thiết kế UI-UX của Wallet và giao dục người dùng.