Người viết: 0xjs@金财经
Tại cuộc họp ACDE lần thứ 183 của Ethereum được tổ chức vào ngày 12 tháng 4 năm 2024, EIP-3074 đã chính thức được đưa vào bản nâng cấp Pectra hard fork Ethereum tiếp theo (Được gọi là Nâng cấp Praha).
Vì vậy, EIP-3074 đã thu hút được sự chú ý của cộng đồng Ethereum. Nhiều người trong cộng đồng Ethereum tin rằng EIP này sẽ thay đổi mãi mãi cách người dùng tương tác trên chuỗi EVM, giúp trải nghiệm của người dùng ví đơn giản hơn, rẻ hơn và mạnh mẽ hơn.
Vậy EIP-3074 là gì?
EIP-3074 là gì?
Một câu mô tả: EIP-3074 cung cấp các chức năng hợp đồng thông minh của ví EOA (chẳng hạn như trừu tượng hóa tài khoản), bao gồm cả phê duyệt giao dịch đơn lẻ, giao dịch hàng loạt, phục hồi tài sản ví, giao dịch được tài trợ và các khả năng khác.
EIP-3074 được đề xuất bởi nhà nghiên cứu Ethereum Sam Wilson, nhà phát triển Go Ethereum và những người khác để biến EOA hiện có thành hợp đồng thông minh bằng cách thêm hai mã hoạt động EVM mới AUTH và AUTHCALL. Hai mã hoạt động này phối hợp với nhau để cho phép các hợp đồng thông minh hoạt động thay mặt EOA.
Mã hoạt động AUTH (0xf6): Mã hoạt động này cho phép người dùng ủy quyền một EOA cụ thể bằng cách kiểm tra chữ ký ECDSA. Việc ký kết phải được thực hiện bằng khóa riêng của EOA và yêu cầu bao gồm một thông báo cụ thể (cam kết).
Mã opcode AUTHCALL (0xf7): Mã opcode này cho phép các hợp đồng thông minh được ủy quyền bắt đầu giao dịch từ tài khoản của EOA. Nó hoạt động tương tự như opcode CALL hiện có, nhưng sử dụng EOA được ủy quyền làm người gửi thay vì chính hợp đồng.
AUTH lấy chữ ký của người dùng và hành động dự kiến, đồng thời xác minh rằng chữ ký của họ là chính xác. Nó đặt một biến để mô tả địa chỉ ban đầu của txn, cho phép hợp đồng thông minh thực hiện các hoạt động thay mặt cho EOA, do đó cho phép ủy quyền kiểm soát ủy quyền. AUTHCALL sau đó gọi hợp đồng đích bằng cách sử dụng địa chỉ của người khởi tạo làm người gọi thay vì thông điệp thực tế.
Quy trình làm việc EIP-3074 và các trường hợp sử dụng mới
Như sau:
Người dùng ký một tin nhắn (ngoài chuỗi, không phải giao dịch) ---> Người dùng hoặc người khởi tạo gửi tin nhắn đến người gọi là hợp đồng giao dịch --->Người gọi sử dụng AUTH và AUTHCALL để xác minh và gọi từng người dùng hợp đồng mục tiêu là địa chỉ của người gửi
Một số trường hợp sử dụng đã đạt được trong luồng giao dịch mới này, chẳng hạn như:
Trường hợp sử dụng 1: Giao dịch tài trợ. Giả sử Bob không có ETH trong ví của mình. Ứng dụng có thể cung cấp gas cho các giao dịch của Bob mà không cần mua/bắc cầu ETH. Điều này có thể rất lớn trong việc đạt được sự áp dụng bán lẻ đại trà.
Trường hợp sử dụng 2: Thực hiện nhiều thao tác trong một giao dịch Khả năng . Hiện tại để trao đổi token trên Uniswap, trước tiên người dùng phải phê duyệt Uniswap để sử dụng token của họ trước khi chạy Swap thực tế. Khi sử dụng EIP-3074, hai thao tác này có thể được gộp thành một giao dịch duy nhất.
Trường hợp sử dụng 3: Thu hồi tài sản. Hợp đồng người gọi đặc biệt có thể được thiết lập để người dùng có thể sử dụng khôi phục xã hội để khôi phục tài sản nếu họ mất khóa riêng. Nếu các điều kiện phục hồi xã hội được đáp ứng, chữ ký có thể được gửi cho người gọi để di chuyển tài sản.
EIP-3074 có ý nghĩa gì đối với Ethereum?
Trước EIP-3074: Hợp đồng thông minh yêu cầu người dùng ký giao dịch khi tương tác với hợp đồng thông minh. Do đó, người dùng cần tham gia ký một số tin nhắn cho các tác vụ trên chuỗi được thực hiện hàng ngày.
Sau EIP-3074: Người dùng có thể ký khóa một lần và cấp quyền hợp đồng thông minh để ký các giao dịch từ ví của người dùng. Người dùng ký giấy phép này bằng khóa riêng của họ và sẵn sàng sử dụng. Nó sẽ là một công cụ thay đổi cuộc chơi cho trò chơi web3, nơi người dùng có thể đăng ký một phiên và sau đó chơi toàn bộ trò chơi mà không phải lo lắng về việc tương tác với các hợp đồng thông minh.
Khác với việc nâng cấp ERC-4337 ở cấp hợp đồng, ưu điểm của EIP-3074 là có thể nâng cấp từ cấp hướng dẫn EVM
span>, người dùng có thể tận hưởng các chức năng của hợp đồng thông minh mà không cần bất kỳ cài đặt bổ sung đặc biệt nào. Ví dụ: ba trường hợp sử dụng được đề cập trong phần trước sẽ cải thiện đáng kể trải nghiệm người dùng Ethereum.
Đã nói nhiều ưu điểm như vậy, còn nhược điểm của EIP-3074 là gì
Cái lớn nhất là người gọi. Hợp đồng người gọi cần phải được kiểm tra đầy đủ, không thể nâng cấp và không đáng tin cậy, nếu không tiền của người dùng có thể dễ dàng bị đánh cắp.
Ngoài ra, một số hoạt động kiểm tra truy cập lại hiện có có thể không áp dụng cho EIP-3074.
Vì EIP-3074 thêm hai mã hoạt động mới nên cần có một hard fork để thêm thay đổi này. Đây là một phần lý do khiến EIP-3074 bị trì hoãn và ERC4337 được áp dụng đầu tiên.
Bản tóm tắt tài khoản ERC-4337 không yêu cầu hard fork, nó hoàn toàn là một hợp đồng và thay đổi hệ thống ngoài chuỗi.