Khám phá Đề xuất EIP-7702: Giải pháp cuối cùng của Vitalik cho Vấn đề Trừu tượng Hóa Tài khoản?

Người mới bắt đầu5/14/2024, 1:42:24 PM
Vitalik Buterin đã đề xuất EIP-7702, đây có thể là một trong những thay đổi quan trọng nhất trong lịch sử của Ethereum. EIP-7702 nhằm mục đích cải thiện sự trừu tượng hóa tài khoản, cho phép các hợp đồng thông minh được sử dụng làm tài khoản, do đó tăng cường chức năng và bảo mật. Nó tương thích cao với EIP-4337, đã được áp dụng rộng rãi trên các nền tảng như Polygon. EIP-7702 đạt được sự ủy quyền tạm thời của EOA (Tài khoản thuộc sở hữu bên ngoài) cho các hợp đồng thông minh bằng cách tạm thời điền vào trường mã hợp đồng của EOA bằng mã hợp đồng thông minh mà không cần hard fork. Điều này có thể thay đổi cách người dùng tương tác với các ứng dụng Web3.

Vitalik Buterin gần đây đã đề xuất EIP-7702, có thể là một trong những thay đổi có tác động lớn nhất trong lịch sử của Ethereum. Bài viết này sẽ giới thiệu về cách hoạt động của đề xuất mới này và mọi thứ cần hiểu về việc triển khai nó.

Đầu tiên, đề xuất EIP-7702 đáng ngạc nhiên ngắn gọn, điều này khiến một số người bối rối về hoạt động của nó. Để hiểu rõ EIP-7702, chúng ta cần xem ba đề xuất khác được đề cập trong nó:

  1. EIP-4337

  2. EIP-3074

  3. EIP-5003

Hãy bắt đầu với mục tiêu chung của những đề xuất này: "trừu tượng tài khoản." Trên Ethereum, các EOA (tài khoản "thường dùng") có nhược điểm đáng kể - chúng rất rủi ro và có chức năng rất hạn chế. Trừu tượng tài khoản cho phép người dùng sử dụng hợp đồng thông minh như là tài khoản, bổ sung thêm chức năng và bảo mật để giải quyết những vấn đề này.

EIP-4337

EIP-4337 đã được triển khai trên mainnet vào tháng 3 năm 2023. Nó cho phép hợp đồng thông minh được viết giống như tài khoản để họ có thể xác minh và thực hiện giao dịch, 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 sự tăng cường hoạt động từ Base trong những tháng gần đây.

Các đổi mới mới nhất liên quan đến EIP-4337 đến từ hệ sinh thái của Coinbase và Ví Thông Minh Coinbase. Ví này dựa trên công nghệ sinh trắc học, mang lại trải nghiệm người dùng tuyệt vời. Cuối tuần qua, tôi đã tạo một bản demo nhỏ khác tại ETH Global Sydney để giới thiệu điều này.

Vậy, EIP-4337 gặp vấn đề gì? Tại sao hôm nay lại có một đề xuất trừu tượng tài khoản khác? Bởi vì EOAs 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 được kiểm soát bởi một người ký EOA duy nhất. Đây là một đoạn mã ví dụ:

Bởi vì không thể “chuyển đổi” tài khoản EOA của người dùng thành tài khoản hợp đồng thông minh, giải pháp tạm thời kỳ lạ này tồn tại. Điều này chủ yếu là do thiếu hỗ trợ nguyên bản trong các ứng dụng Web3 để kết nối với tài khoản hợp đồng thông minh. Ngày nay, hầu hết mọi người vẫn sử dụng EOA thông qua ví cắm như MetaMask.

EIP-3074

Điều này đưa chúng ta đến đề xuất tiếp theo của chúng tôi: EIP-3074.

Trong thực tế, đề xuất này đã được giới thiệu trước EIP-4337, nhưng vẫn chưa được hợp nhất vào mạng chính. EIP-3074 cố gắng tăng cường quyền hạn cho EOAs bằng cách cho phép họ ủy quyền kiểm soát của EOAs của họ cho các hợp đồng thông minh.

Đề xuất ghi chú thêm hai mã opcode mới:

  1. XÁC THỰC: Một EOA có thể gọi AUTH để ủy quyền cho một hợp đồng thông minh cụ thể để hoạt động thay mặt cho nó.
  2. AUTHCALL: Hợp đồng thông minh được ủy quyền có thể sử dụng AUTHCALL để thực hiện giao dịch thay mặt cho EOA.

Điều này đạt được nhiều trường hợp sử dụng giống như EIP-4337 mà không yêu cầu 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 bắt nguồn từ EOA của người dùng, thay vì từ một hợp đồng mới thiếu lịch sử tài khoản, ETH, NFT, token, v.v.

Một phản ứng phổ biến đối với EIP-3074 là, “Nhưng nếu ai đó tạo một hợp đồng độc hại và người dùng ủy quyền cho nó thì sao?” Cuối cùng, việc ủy quyền cho một hợp đồng độc hại có thể dẫn đến việc toàn bộ tài sản tiền điện tử trong ví của người dùng bị rút hết.

Giải pháp cho vấn đề này là các nhà cung cấp dịch vụ ví tiền cần hạn chế người dùng từ việc ủy quyền cho bất kỳ hợp đồng nào một cách bừa bãi. Họ có thể duy trì một danh sách trắng các hợp đồng thông minh mà người dùng có thể ủy quyền, đảm bảo rằng bất kỳ hợp đồng nào nằm ngoài danh sách này đều không được hiển thị cho người dùng để ủy quyền.

Một điểm quan trọng về ủy quyền trong EIP-3074 là nó không phải là vĩnh viễn. “Ủy quyền từ một EOA bị vô hiệu bởi một giao dịch duy nhất, làm 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ệ.”

Đơn giản, sau khi người dùng thực hiện giao dịch mới, sự ủy quyền sẽ không còn có hiệu lực nữa.

EIP-5003

Chúng tôi thực sự không muốn cấp quyền lực hơn cho các EOA. Sau tất cả, mục tiêu của những đề xuất này là chuyển đổi người dùng từ EOAs sang tài khoản hợp đồng thông minh. Vậy tại sao lại thêm chức năng vào các EOA?

Đ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 tôi: EIP-5003. EIP-5003 giới thiệu một opcode khác, “AUTHUSURP,” mà triển khai mã vào địa chỉ ủy quyền EIP-3074.

Sự khác biệt giữa EIP-3074 và EIP-5003 là:

EIP-3074 là một sự ủ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 chuyển đổi vĩnh viễn từ EOAs và một “chuyển đổi” từ EOAs sang tài khoản hợp đồng thông minh.

Vấn đề lớn với EIP-3074 + EIP-5003 là tính không tương thích với hệ thống trừu tượng tài khoản hiện tại thông qua EIP-4337. Một số người trong cộng đồng Ethereum lo ngại rằng chúng ta có thể "tạo ra hai hệ sinh thái mã nguồn 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 đưa chúng ta đến đề xuất của Vitalik Buterin hôm nay: EIP-7702. Anh ấy đề 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. EIP-5003 sau đó được xem là bước tiếp theo cho việc di cư vĩnh viễn.

EIP-7702 giới thiệu một loại giao dịch mới chấp nhận cả hai trường contract_code và signature. Khi thực hiện giao dịch, nó thiết lập mã hợp đồng của tài khoản người ký cho contract_code. Cuối giao dịch, nó đặt lại mã thành rỗng.

Tương tự như EIP-3074, điều này đạt được ủy quyền tạm thời của EOAs cho các hợp đồng thông minh. Tuy nhiên, EIP-7702 không giới thiệu các mã opcode mới (điều này sẽ yêu cầu một hard fork) mà thay vào đó xác định các chức năng cần được gọi:

XÁC THỰC -> gọi là "xác minh"

AUTHCALL -> gọi “thực hiện”

Cụ thể, nó:

Kiểm tra xem mã hợp đồng của 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 hiện giao dịch theo 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à đen tối; đây là nơi lưu trữ mã của một hợp đồng thông minh. Kể từ khi 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, điều tuyệt vời của EIP-7702 là nó tạm thời điền vào trường này một số mã hợp đồng thông minh trong quá trình thực thi giao dịch.

Đây là cách cung cấp hành vi mới (dưới dạng mã code) cho EOA của bạn để thực hiện giao dịch cụ thể này. Bước tiếp theo là biến nó thành thay đổi hành vi cố định bằng cách chọn "không đặt mã code thành rỗng sau khi giao dịch kết thúc".

Một trong những khía cạnh tốt nhất của đề xuất này là tính tương thích cao với tất cả công việc trừu tượng tài khoản đã được thực hiện cho EIP-4337. “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.”

Một khi thay đổi này có hiệu lực, các EOAs hiện có 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, các 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ơ bản cách chúng ta tương tác với các ứng dụng Web3.

Tuyên bố:

  1. Bài viết này được sao chép từ [ panews], tiêu đề ban đầu “Khám phá đề xuất EIP-7702: Đơn thuốc cuối cùng của Vitalik cho vấn đề trừu tượng hóa tài khoản?”, bản quyền thuộc về tác giả ban đầu [Foresight News], nếu bạn có bất kỳ ý kiến phản đối nào về việc sao chép, vui lòng liên hệ Đội ngũ Gate Learn, nhóm sẽ xử lý nó ngay sau khi theo quy trình liên quan.

  2. Bản quyền: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không hình thành bất kỳ lời khuyên đầu tư nào.

  3. Các phiên bản ngôn ngữ khác của bài viết được dịch bởi nhóm Gate Learn, không được đề cập trongGate, bài viết dịch không được sao chép, phân phối hoặc đạo văn.

Mời người khác bỏ phiếu

Nội dung

Khám phá Đề xuất EIP-7702: Giải pháp cuối cùng của Vitalik cho Vấn đề Trừu tượng Hóa Tài khoản?

Người mới bắt đầu5/14/2024, 1:42:24 PM
Vitalik Buterin đã đề xuất EIP-7702, đây có thể là một trong những thay đổi quan trọng nhất trong lịch sử của Ethereum. EIP-7702 nhằm mục đích cải thiện sự trừu tượng hóa tài khoản, cho phép các hợp đồng thông minh được sử dụng làm tài khoản, do đó tăng cường chức năng và bảo mật. Nó tương thích cao với EIP-4337, đã được áp dụng rộng rãi trên các nền tảng như Polygon. EIP-7702 đạt được sự ủy quyền tạm thời của EOA (Tài khoản thuộc sở hữu bên ngoài) cho các hợp đồng thông minh bằng cách tạm thời điền vào trường mã hợp đồng của EOA bằng mã hợp đồng thông minh mà không cần hard fork. Điều này có thể thay đổi cách người dùng tương tác với các ứng dụng Web3.

Vitalik Buterin gần đây đã đề xuất EIP-7702, có thể là một trong những thay đổi có tác động lớn nhất trong lịch sử của Ethereum. Bài viết này sẽ giới thiệu về cách hoạt động của đề xuất mới này và mọi thứ cần hiểu về việc triển khai nó.

Đầu tiên, đề xuất EIP-7702 đáng ngạc nhiên ngắn gọn, điều này khiến một số người bối rối về hoạt động của nó. Để hiểu rõ EIP-7702, chúng ta cần xem ba đề xuất khác được đề cập trong nó:

  1. EIP-4337

  2. EIP-3074

  3. EIP-5003

Hãy bắt đầu với mục tiêu chung của những đề xuất này: "trừu tượng tài khoản." Trên Ethereum, các EOA (tài khoản "thường dùng") có nhược điểm đáng kể - chúng rất rủi ro và có chức năng rất hạn chế. Trừu tượng tài khoản cho phép người dùng sử dụng hợp đồng thông minh như là tài khoản, bổ sung thêm chức năng và bảo mật để giải quyết những vấn đề này.

EIP-4337

EIP-4337 đã được triển khai trên mainnet vào tháng 3 năm 2023. Nó cho phép hợp đồng thông minh được viết giống như tài khoản để họ có thể xác minh và thực hiện giao dịch, 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 sự tăng cường hoạt động từ Base trong những tháng gần đây.

Các đổi mới mới nhất liên quan đến EIP-4337 đến từ hệ sinh thái của Coinbase và Ví Thông Minh Coinbase. Ví này dựa trên công nghệ sinh trắc học, mang lại trải nghiệm người dùng tuyệt vời. Cuối tuần qua, tôi đã tạo một bản demo nhỏ khác tại ETH Global Sydney để giới thiệu điều này.

Vậy, EIP-4337 gặp vấn đề gì? Tại sao hôm nay lại có một đề xuất trừu tượng tài khoản khác? Bởi vì EOAs 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 được kiểm soát bởi một người ký EOA duy nhất. Đây là một đoạn mã ví dụ:

Bởi vì không thể “chuyển đổi” tài khoản EOA của người dùng thành tài khoản hợp đồng thông minh, giải pháp tạm thời kỳ lạ này tồn tại. Điều này chủ yếu là do thiếu hỗ trợ nguyên bản trong các ứng dụng Web3 để kết nối với tài khoản hợp đồng thông minh. Ngày nay, hầu hết mọi người vẫn sử dụng EOA thông qua ví cắm như MetaMask.

EIP-3074

Điều này đưa chúng ta đến đề xuất tiếp theo của chúng tôi: EIP-3074.

Trong thực tế, đề xuất này đã được giới thiệu trước EIP-4337, nhưng vẫn chưa được hợp nhất vào mạng chính. EIP-3074 cố gắng tăng cường quyền hạn cho EOAs bằng cách cho phép họ ủy quyền kiểm soát của EOAs của họ cho các hợp đồng thông minh.

Đề xuất ghi chú thêm hai mã opcode mới:

  1. XÁC THỰC: Một EOA có thể gọi AUTH để ủy quyền cho một hợp đồng thông minh cụ thể để hoạt động thay mặt cho nó.
  2. AUTHCALL: Hợp đồng thông minh được ủy quyền có thể sử dụng AUTHCALL để thực hiện giao dịch thay mặt cho EOA.

Điều này đạt được nhiều trường hợp sử dụng giống như EIP-4337 mà không yêu cầu 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 bắt nguồn từ EOA của người dùng, thay vì từ một hợp đồng mới thiếu lịch sử tài khoản, ETH, NFT, token, v.v.

Một phản ứng phổ biến đối với EIP-3074 là, “Nhưng nếu ai đó tạo một hợp đồng độc hại và người dùng ủy quyền cho nó thì sao?” Cuối cùng, việc ủy quyền cho một hợp đồng độc hại có thể dẫn đến việc toàn bộ tài sản tiền điện tử trong ví của người dùng bị rút hết.

Giải pháp cho vấn đề này là các nhà cung cấp dịch vụ ví tiền cần hạn chế người dùng từ việc ủy quyền cho bất kỳ hợp đồng nào một cách bừa bãi. Họ có thể duy trì một danh sách trắng các hợp đồng thông minh mà người dùng có thể ủy quyền, đảm bảo rằng bất kỳ hợp đồng nào nằm ngoài danh sách này đều không được hiển thị cho người dùng để ủy quyền.

Một điểm quan trọng về ủy quyền trong EIP-3074 là nó không phải là vĩnh viễn. “Ủy quyền từ một EOA bị vô hiệu bởi một giao dịch duy nhất, làm 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ệ.”

Đơn giản, sau khi người dùng thực hiện giao dịch mới, sự ủy quyền sẽ không còn có hiệu lực nữa.

EIP-5003

Chúng tôi thực sự không muốn cấp quyền lực hơn cho các EOA. Sau tất cả, mục tiêu của những đề xuất này là chuyển đổi người dùng từ EOAs sang tài khoản hợp đồng thông minh. Vậy tại sao lại thêm chức năng vào các EOA?

Đ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 tôi: EIP-5003. EIP-5003 giới thiệu một opcode khác, “AUTHUSURP,” mà triển khai mã vào địa chỉ ủy quyền EIP-3074.

Sự khác biệt giữa EIP-3074 và EIP-5003 là:

EIP-3074 là một sự ủ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 chuyển đổi vĩnh viễn từ EOAs và một “chuyển đổi” từ EOAs sang tài khoản hợp đồng thông minh.

Vấn đề lớn với EIP-3074 + EIP-5003 là tính không tương thích với hệ thống trừu tượng tài khoản hiện tại thông qua EIP-4337. Một số người trong cộng đồng Ethereum lo ngại rằng chúng ta có thể "tạo ra hai hệ sinh thái mã nguồn 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 đưa chúng ta đến đề xuất của Vitalik Buterin hôm nay: EIP-7702. Anh ấy đề 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. EIP-5003 sau đó được xem là bước tiếp theo cho việc di cư vĩnh viễn.

EIP-7702 giới thiệu một loại giao dịch mới chấp nhận cả hai trường contract_code và signature. Khi thực hiện giao dịch, nó thiết lập mã hợp đồng của tài khoản người ký cho contract_code. Cuối giao dịch, nó đặt lại mã thành rỗng.

Tương tự như EIP-3074, điều này đạt được ủy quyền tạm thời của EOAs cho các hợp đồng thông minh. Tuy nhiên, EIP-7702 không giới thiệu các mã opcode mới (điều này sẽ yêu cầu một hard fork) mà thay vào đó xác định các chức năng cần được gọi:

XÁC THỰC -> gọi là "xác minh"

AUTHCALL -> gọi “thực hiện”

Cụ thể, nó:

Kiểm tra xem mã hợp đồng của 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 hiện giao dịch theo 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à đen tối; đây là nơi lưu trữ mã của một hợp đồng thông minh. Kể từ khi 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, điều tuyệt vời của EIP-7702 là nó tạm thời điền vào trường này một số mã hợp đồng thông minh trong quá trình thực thi giao dịch.

Đây là cách cung cấp hành vi mới (dưới dạng mã code) cho EOA của bạn để thực hiện giao dịch cụ thể này. Bước tiếp theo là biến nó thành thay đổi hành vi cố định bằng cách chọn "không đặt mã code thành rỗng sau khi giao dịch kết thúc".

Một trong những khía cạnh tốt nhất của đề xuất này là tính tương thích cao với tất cả công việc trừu tượng tài khoản đã được thực hiện cho EIP-4337. “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.”

Một khi thay đổi này có hiệu lực, các EOAs hiện có 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, các 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ơ bản cách chúng ta tương tác với các ứng dụng Web3.

Tuyên bố:

  1. Bài viết này được sao chép từ [ panews], tiêu đề ban đầu “Khám phá đề xuất EIP-7702: Đơn thuốc cuối cùng của Vitalik cho vấn đề trừu tượng hóa tài khoản?”, bản quyền thuộc về tác giả ban đầu [Foresight News], nếu bạn có bất kỳ ý kiến phản đối nào về việc sao chép, vui lòng liên hệ Đội ngũ Gate Learn, nhóm sẽ xử lý nó ngay sau khi theo quy trình liên quan.

  2. Bản quyền: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ đại diện cho quan điểm cá nhân của tác giả và không hình thành bất kỳ lời khuyên đầu tư nào.

  3. Các phiên bản ngôn ngữ khác của bài viết được dịch bởi nhóm Gate Learn, không được đề cập trongGate, bài viết dịch không được sao chép, phân phối hoặc đạo văn.

Bắt đầu giao dịch
Đăng ký và giao dịch để nhận phần thưởng USDTEST trị giá
$100
$5500