Khám phá Đề xuất EIP-7702: Giải pháp cuối cùng của Vitalik cho Thách thức Trừu tượng Hóa Tài khoản?
Tài khoản 3074, 4337 và 5003 đang tham gia trích xuất các đề xuất trước đó, hoặc thay đổi cơ bản cách mọi người tương tác với Web3.
Tác giả: Jarrod Watts
Dịch: Frank, Foresight News
Vitalik Buterin đã đề xuất gần đây EIP-7702, có thể là một trong những thay đổi quan trọng nhất trong lịch sử của Ethereum. Bài viết này sẽ giới thiệu nguyên lý hoạt động của đề xuất mới này và mọi thứ bạn cần biết để triển khai nó.
Đầu tiên, đề xuất EIP-7702 mới ngạc nhiên ngắn gọn, điều này đã làm cho một số người bối rối về cách hoạt động thực sự của nó. Để hiểu rõ về 7702, chúng ta cần hiểu ba đề xuất khác được đề cập trong đó:
- EIP-4337
- EIP-3074
- EIP-5003
Hãy bắt đầu với mục tiêu chung của tất cả các đề xuất này, "trừu tượng hóa tài khoản" - EOAs ("Tài khoản Sở Hữu Bên Ngoài") trên Ethereum không tốt, chúng rủi ro và có chức năng rất hạn chế. Trừu tượng hóa tài khoản cho phép người dùng sử dụng hợp đồng thông minh như các tài khoản để thêm chức năng và bảo mật hơn để giải quyết vấn đề này.
EIP-4337
EIP-4337 đã được triển khai trên mainnet vào tháng 3 năm 2023, cho phép viết hợp đồng thông minh giống như các tài khoản để họ có thể xác minh và thực thi giao dịch, cải thiện nhiều trải nghiệm người dùng (UX).
Kể từ khi ra mắt, EIP-4337 đã được áp dụng rộng rãi, chủ yếu do Polygon dẫn đầu, và Base cũng đã thấy sự tăng cường hoạt động trong vài tháng qua.
Đổi mới mới nhất liên quan đến EIP-4337 đến từ hệ sinh thái Coinbase và Ví Thông Minh Coinbase, dựa trên công nghệ sinh trắc học và cung cấp trải nghiệm người dùng tuyệt vời. Tôi đã thực hiện một bản demo nhỏ khác tại ETH Global Sydney cuối tuần trước để giới thiệu điều này.
Vậy, vấn đề nào tồn tại với EIP-4337? Tại sao lại có một đề xuất trừu tượng hóa tài khoản khác ngày nay? Bởi vì EOAs vẫn là loại tài khoản phổ biến nhất cho đến nay.
Ngoài ra, hầu hết các tài khoản hợp đồng thông minh của EIP-4337 được kiểm soát bởi một người ký EOA duy nhất. Dưới đây là một đoạn mã ví dụ:
Do không thể "chuyển đổi" EOA của người dùng thành một tài khoản hợp đồng thông minh, có giải pháp trung gian lạ này - chủ yếu vì ứng dụng Web3 thiếu hỗ trợ tự nhiên cho việc kết nối với các tài khoản hợp đồng thông minh, vì vậy hầu hết mọi người vẫn sử dụng EOAs thông qua tiện ích trình duyệt như MetaMask.
EIP-3074
Điều này dẫn chúng ta đến đề xuất tiếp theo của chúng ta: EIP-3074.
Trên thực tế, đề xuất này đã được đưa ra trước EIP-4337, nhưng chưa được hợp nhất vào mainnet. EIP-3074 nhằm mục đích trao quyền lực hơn cho EOAs, cho phép họ ủy quyền kiểm soát của EOA của họ cho các hợp đồng thông minh.
Đề xuất mô tả như sau, thêm hai mã opcode mới:
- AUTH: EOAs có thể gọi AUTH để ủy quyền cho một hợp đồng thông minh cụ thể thực hiện thay mặt cho EOA của họ;
- AUTHCALL: Một hợp đồng thông minh được ủy quyền có thể sử dụng AUTHCALL để thực thi giao dịch thay mặt cho EOA;
Điều này đạt được nhiều trường hợp sử dụng tương tự như EIP-4337 mà không cần mỗi người dùng triển khai một hợp đồng thông minh mới. Một điểm khác biệt quan trọng là các giao dịch đến từ EOA của người dùng, không phải từ một hợp đồng mới không có lịch sử tài khoản người dùng, ETH, NFT, token, v.v.
Phản ứng phổ biến với EIP-3074 là "Nếu ai đó triển khai một hợp đồng độc hại và người dùng ủy quyền cho họ thì sao?" Cuối cùng, ủy quyền cho một hợp đồng độc hại có thể dẫn đến việc tất cả tài sản tiền điện tử của người dùng bị rút hết khỏi ví của họ.
Giải pháp cho vấn đề này là các nhà cung cấp dịch vụ ví có thể thậm chí không cho phép sử dụng
rs để ủy quyền cho bất kỳ hợp đồng nào. Họ có thể duy trì một danh sách trắng của các hợp đồng thông minh mà người dùng có thể ủy quyền, và bất kỳ hợp đồng nào nằm ngoài danh sách này sẽ không được hiển thị cho người dùng.
Một điểm chính của việc ủy quyền trong EIP-3074 là việc ủy quyền không phải là vĩnh viễn, "một giao dịch duy nhất từ một EOA sẽ tăng số thứ tự, làm cho bất kỳ ủy quyền nào đang tồn tại trở nên không hợp lệ."
Về cơ bản, sau khi người dùng thực hiện một giao dịch mới, việc ủy quyền sẽ không còn hợp lệ nữa.
EIP-5003
Chúng ta cũng không thực sự muốn cung cấp quyền lực hơn cho EOAs. Cuối cùng, mục tiêu của những đề xuất này là để chuyển người dùng từ EOAs sang tài khoản hợp đồng thông minh, vì vậy tại sao lại thêm chức năng cho EOAs?
Điều này dẫn chúng ta một cách dễ dàng đến đề xuất tiếp theo của chúng ta: EIP-5003. EIP-5003 thêm một opcode khác "AUTHUSURP," triển khai mã tại địa chỉ ủy quyền của EIP-3074.
Sự khác biệt giữa EIP-3074 và EIP-5003 là:
- EIP-3074 là việc ủy quyền tạm thời cho các hợp đồng thông minh, có thể thu hồi;
- EIP-5003 là một quá trình di trú vĩnh viễn từ EOA và "chuyển đổi" từ EOA sang một tài khoản hợp đồng thông minh;
Một vấn đề lớn của EIP-3074 + EIP-5003 là nó không tương thích lắm với hệ thống trừu tượng tài khoản hiện tại thông qua EIP-4337, vì vậy một số người trong cộng đồng Ethereum lo ngại rằng chúng ta sẽ tạo ra "hai hệ sinh thái mã riêng biệt" với hai loại trừu tượng tài khoản này.
EIP-7702
Điều này dẫn chúng ta đến đề xuất của Vitalik Buterin hôm nay: EIP-7702 - ông đề xuất sửa đổi EIP-3074 để làm cho nó ngắn gọn hơn và tương thích với EIP-4337, để chúng ta không kết thúc với hai hệ sinh thái trừu tượng tài khoản riêng biệt, và xem xét EIP-5003 là bước tiếp theo cho quá trình di trú vĩnh viễn.
EIP-7702 giới thiệu một loại giao dịch mới chấp nhận cả trường contract_code và signature. Khi giao dịch bắt đầu thực thi, nó đặt mã hợp đồng của tài khoản người ký thành contract_code. Cuối giao dịch, nó đặt lại mã thành trống.
Tương tự như EIP-3074, nó thực hiện việc ủy quyền tạm thời từ EOA cho các hợp đồng thông minh. Tuy nhiên, EIP-7702 không giới thiệu các opcode mới (mà sẽ yêu cầu một hard fork), mà xác định các hàm để gọi:
- AUTH -> gọi "verify" để xác thực
- AUTHCALL -> gọi "execute" để thực thi
Cụ thể, nó:
- Kiểm tra xem mã hợp đồng tài khoản của bạn có trống không;
- Nếu nó trống, đặt nó thành mã hợp đồng được cung cấp;
- Thực thi giao dịch dựa trên cách mà hợp đồng thông minh cung cấp xử lý giao dịch;
- Khôi phục mã hợp đồng tài khoản thành trống;
"Mã hợp đồng" là chính xác, mã của hợp đồng thông minh được lưu trữ trong "mã hợp đồng." Vì một EOA chính nó không phải là một hợp đồng, trường này thường là trống. Tuy nhiên, phần thông minh của EIP-7702 là việc tạm thời điền vào trường này một số mã hợp đồng trong quá trình thực thi giao dịch.
Đây là một cách để cung cấp hành vi mới (dưới dạng mã) cho EOA của bạn thực thi giao dịch cụ thể này, bước tiếp theo là biến nó thành một thay đổi hành vi vĩnh viễn bằng cách đơn giản là "không đặt lại mã thành trống sau khi giao dịch kết thúc."
<s
Một trong những khía cạnh tốt nhất của đề xuất này là nó rất tương thích với tất cả các trừu tượng tài khoản được xây dựng cho EIP-4337 cho đến nay, </s
"Mã hợp đồng mà người dùng cần ký có thể thực sự là mã ví EIP-4337 hiện tại."
Khi thay đổi này có hiệu lực, EOA hiện tại của người dùng có thể thực thi bất kỳ mã hợp đồng thông minh nào. Thông qua các EIP bổ sung, EOAs cũng có thể được nâng cấp vĩnh viễn để chạy mã cụ thể.
Đến lúc đó, điều này có thể thay đổi căn bản cách hoạt động của hệ thống
Tất cả chúng ta tương tác với các ứng dụng Web3.
Tuyên bố miễn trừ trách nhiệm: Mọi thông tin trong bài viết đều thể hiện quan điểm của tác giả và không liên quan đến nền tảng. Bài viết này không nhằm mục đích tham khảo để đưa ra quyết định đầu tư.
Bạn cũng có thể thích
Cuộc trò chuyện với Đồng sáng lập Farcaster: Làm thế nào Mạng xã hội Phi tập trung có thể phát triển từ 100,000 lên 1 tỷ người dùng
Các nhà đồng sáng lập Farcaster, Dan Romero và Varun Srinivasan, đã chia sẻ quan điểm của họ về một loạt các chủ đề.
Hệ sinh thái Ethereum bùng nổ trở lại: Giải thích chi tiết về ERC-7683 do Uniswap dẫn đầu
Thế giới đã phải chịu đựng các vấn đề liên chuỗi từ lâu.
FUD Lan Tràn Như Cháy Rừng: Liệu Vị Vua AI Mới Bittensor Có Sụp Đổ?
Mỗi thế hệ đều có câu chuyện và anh hùng của riêng mình; không có triều đại nào tồn tại mãi mãi.
Giao thức Ràng buộc Nostr
Trong bài viết này, chúng tôi đề xuất một giao thức kết hợp các cấu trúc dữ liệu cơ bản của giao thức Nostr với blockchain CKB. Thông qua sự kết hợp này, chúng tôi cho phép dữ liệu gốc của Nostr thừa hưởng các đặc điểm của UTXO/Cell trên blockchain CKB, mang lại những khả năng mới cho giao thức Nostr dựa trên các cơ chế trên chuỗi. Một trường hợp sử dụng tiềm năng là phát hành tài sản gốc trên Nostr. Giao thức kết hợp Nostr cũng giới thiệu một mô hình phát triển mới cho dApps. Thay vì chia dApp của bạn thành hai hệ thống (một là máy chủ ngoài chuỗi và một là hợp đồng thông minh trên chuỗi), chúng tôi sử dụng một hệ thống thống nhất với các mức dữ liệu khác nhau để xây dựng dApps. Điều này khác biệt cơ bản so với mô hình Ethereum.