Tác giả gốc: Jarrod Watts, Kỹ sư quan hệ nhà phát triển, Polygon Labs
Biên soạn gốc: Frank, Foresight News
Vitalik Buterin gần đây đã đề xuất Đề xuất EIP-7702 , đây có thể là một trong những thay đổi có ảnh hưởng nhất trong lịch sử của Ethereum. Bài viết này sẽ giới thiệu cách thức 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ó.
Trước hết, đề xuất EIP-7702 mới ngắn đến mức đáng ngạc nhiên, khiến một số người bối rối và không biết thực tế nó hoạt động như thế nào. 7702, trước tiên chúng ta cần hiểu Ba đề xuất khác được đề cập:
· 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" - EOA (tài khoản ("thông thường") trên Ethereum thật tệ, Họ có nhiều rủi ro và có chức năng rất hạn chế, trong khi việc trừu tượng hóa tài khoản giải quyết vấn đề này bằng cách cho phép người dùng sử dụng hợp đồng thông minh làm tài khoản để bổ sung thêm chức năng và bảo mật.

p>
EIP-4337, xuất hiện trực tuyến trên mạng chính vào tháng 3 năm 2023, cho phép các hợp đồng thông minh được viết giống như tài khoản để chúng có thể xác minh và thực hiện giao dịch, giúp cải thiện nhiều trải nghiệm người dùng (UX).
Kể từ khi phát hành, EIP-4337 đã được áp dụng rộng rãi, chủ yếu do Polygon dẫn đầu, với hoạt động liên quan tại Base trong vài tháng qua ngày càng gia tăng. .

Những cải tiến mới nhất liên quan đến EIP-4337 đến từ Hệ sinh thái Coinbase và ví thông minh Coinbase, nó dựa trên công nghệ sinh trắc học và trải nghiệm người dùng rất tuyệt vời, tôi đã tạo một cái khác tại ETH Global Sydney vào cuối tuần trước Bản demo nhỏ để chứng minh điều này.
Vậy EIP-4337 có vấn đề gì? Tại sao hôm nay lại có một đề xuất tóm tắt tài khoản khác? Bởi vì EOA cho đến nay vẫn là loại tài khoản được sử dụng rộng rãi nhất.
Ngoài ra, hầu hết các tài khoản hợp đồng thông minh EIP-4337 đều được kiểm soát bởi một người ký EOA duy nhất. Đây là mã mẫu:

Vì EOA của người dùng không thể được "chuyển đổi" thành tài khoản hợp đồng thông minh nên có giải pháp bước trung gian kỳ lạ này—— Chủ yếu do thiếu hỗ trợ riêng để kết nối các tài khoản hợp đồng thông minh trong ứng dụng Web3, hầu hết mọi người ngày nay vẫn sử dụng EOA thông qua các ví plug-in như MetaMask.
Điều này dẫn chúng ta đến đề xuất tiếp theo: EIP-3074.
Trên thực tế, đề xuất này đã được đề xuất trước EIP-4337, nhưng nó vẫn chưa được sáp nhập vào mạng chính EIP-3074 cố gắng cung cấp EOA. nhiều quyền hơn, cho phép họ ủy quyền kiểm soát EOA của mình cho các hợp đồng thông minh.
Đề xuất phác thảo những nội dung sau, bổ sung thêm hai mã hoạt động mới:
· AUTH: EOA có thể gọi AUTH để ủy quyền cho một hợp đồng thông minh nhất định thực hiện các hoạt động thay mặt cho EOA của nó;
· AUTHCALL: Hợp đồng thông minh được ủy quyền có thể sử dụng AUTHCALL để thực hiện các giao dịch cho EOA;

Điều này triển khai nhiều trường hợp sử dụng tương tự như EIP-4337 mà không yêu cầu mỗi người dùng triển khai Hợp đồng thông minh mới . Điểm khác biệt chính là giao dịch đến từ EOA của người dùng, thay vì hợp đồng mới không có bất kỳ lịch sử tài khoản, ETH, NFT, mã thông báo nào của người dùng, v.v.

Câu trả lời phổ biến đối với EIP-3074 là "Nếu ai đó lập một hợp đồng độc hại Và người dùng nên làm gì nếu họ giao phó nó cho họ?” Suy cho cùng, việc giao phó nó cho một hợp đồng độc hại có thể khiến tất cả tài sản tiền điện tử trong ví của người dùng bị cạn kiệt.
Giải pháp cho vấn đề này làCác nhà cung cấp dịch vụ Ví thậm chí không cho phép người dùng ủy quyền bất kỳ hợp đồng nào, họ có thể giữ một bản sao ủy quyền mà người dùng có thể ủy quyền Danh sách trắng gồm các hợp đồng thông minh và mọi hợp đồng ngoài danh sách này sẽ không được hiển thị cho người dùng.

EIP-3074 Điểm mấu chốt của việc ủy quyền là việc ủy quyền không phải là vĩnh viễn; “Một giao dịch EOA sẽ khiến số tiền nonce tăng lên, do đó làm mất hiệu lực ủy quyền chưa thanh toán.”
Về cơ bản, lệnh không còn hiệu lực sau khi người dùng thực hiện giao dịch mới.

p>
Chúng tôi thực sự không muốn trao thêm quyền cho EOA. Suy cho cùng, mục tiêu của những đề xuất này là chuyển người dùng từ EOA sang tài khoản hợp đồng thông minh, vậy tại sao chúng tôi lại thêm chức năng vào EOA?
Điều này dẫn đến đề xuất tiếp theo của chúng tôi: EIP-5003. EIP-5003 thêm một mã opcode khác "AUTHUSURP" triển khai mã tại địa chỉ được ủy quyền EIP-3074.
Sự khác biệt giữa EIP-3074 và EIP-5003 là:
· EIP-3074 là ủy quyền tạm thời cho hợp đồng thông minh và có thể bị thu hồi;
· EIP-5003 là sự di chuyển vĩnh viễn từ EOA và "chuyển đổi" từ EOA sang tài khoản hợp đồng thông minh;
Một vấn đề lớn với EIP-3074 + EIP-5003 là nó không tương thích lắm với sơ đồ trừu tượng hóa tài khoản hiện tại thông qua EIP-4337, vì vậy một số trong Ethereum cộng đồng lo lắng rằng chúng tôi sẽ bằng cách trừu tượng hóa hai loại tài khoản này, "hai hệ sinh thái mã độc lập được tạo ra".
Đó là đề xuất hôm nay của Vitalik Buterin: EIP-7702 — — Ông đề xuất sửa đổi EIP-3074 để làm cho nó hợp lý hơn và tương thích hơn với EIP-4337 để chúng tôi không kết thúc với hai hệ sinh thái trừu tượng hóa tài khoản riêng biệt và coi EIP-5003 là bước tiếp theo trong quá trình di chuyển vĩnh viễn.
EIP-7702 đề xuất một loại giao dịch mới chấp nhận cả trường hợp đồng và chữ ký. Khi bắt đầu thực hiện giao dịch, nó sẽ đặt mã hợp đồng của tài khoản người ký. . là hợp đồng_code. Khi kết thúc giao dịch, nó sẽ đặt lại mã đánh dấu để trống.
Điều này giống như EIP-3074, thực hiện chức năng ủy quyền tạm thời của EOA cho các hợp đồng thông minh. Tuy nhiên, EIP-7702 không giới thiệu các mã hoạt động mới (cần có hard fork), mà thay vào đó xác định các hàm được gọi:
· AUTH -> Gọi "xác minh"
· AUTHCALL -> Gọi "thực thi"

Cụ thể là:
· Kiểm tra xem mã hợp đồng tài khoản của bạn có trống không;
· Nếu trống, hãy đặt nó thành mã hợp đồng được cung cấp;
· Xử lý giao dịch theo hợp đồng thông minh được cung cấp thực hiện giao dịch;
·Khôi phục cài đặt mã hợp đồng tài khoản thành trống;
"Mã hợp đồng" là nghĩa đen của hợp đồng thông minh. Mã được lưu trữ trong "mã hợp đồng". Vì bản thân EOA không phải là hợp đồng nên trường này thường trống. Tuy nhiên, điều thông minh về EIP-7702 là nó tạm thời đưa một số mã hợp đồng thông minh vào trường này trong quá trình thực hiện giao dịch.
Đây là một cách cung cấp cho EOA của bạn hành vi mới (dưới dạng mã) để thực hiện giao dịch cụ thể này, bước tiếp theo là làm cho nó vĩnh viễn Để thay đổi hành vi đó, bạn chỉ cần chọn "Không đặt thẻ trống sau khi giao dịch đóng".
Một trong những điều tuyệt vời nhất về đề xuất này là nó có tính tương thích cao với tất cả các nỗ lực loại bỏ tài khoản được xây dựng cho đến nay cho EIP-4337 , "Mã hợp đồng mà người dùng cần ký thực chất có thể là mã ví EIP-4337 hiện có."
Sau 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. Với EIP bổ sung, EOA cũng có thể được nâng cấp vĩnh viễn để chạy mã cụ thể.
Theo thời gian, điều này có thể cách mạng hóa cách tất cả chúng ta tương tác với các ứng dụng Web3.
Liên kết gốc
Chào mừng bạn tham gia cộng đồng chính thức của BlockBeats:
Nhóm Telegram đăng ký: https://t.me/theblockbeats
Nhóm Telegram thảo luận: https://t.me/BlockBeats_App
Tài khoản Twitter chính thức: https://twitter.com/BlockBeatsAsia