Lời mở đầu
Bài viết này được chia thành hai phần chính:
Trong nửa đầu, chúng tôi sẽ bắt đầu từ đề xuất AA đầu tiên từ năm 2015, tổng hợp nội dung chính của các đề xuất EIP cho đến nay, hy vọng có thể khai thác lịch sử đề xuất AA từ thời điểm này và đánh giá tổng thể ưu nhược điểm của các giải pháp.
Trong nửa sau, chúng tôi tập trung so sánh phản hồi thị trường suy thoái mà EIP4337 đối mặt sau khi được đề xuất, sau đó phân tích sâu hơn về EIP7702, sẽ sớm được tích hợp vào bản nâng cấp Ethereum tiếp theo, một khi đề xuất này được hợp nhất, sẽ thay đổi hoàn toàn hình dạng của ứng dụng on-chain.
EIP-7702 mang đến một sự thay đổi lịch sử, hãy lắng nghe cẩn thận từng lời của Thập Tứ Quân
Người sáng lập Ethereum vitalik đã cập nhật lại lộ trình phát triển ETH vào cuối năm 2023, nhưng vẫn chưa thay đổi thiết lập trừu tượng về tài khoản. Hiện nay, mô hình chính đang chuyển từ EIP-4337 sang giai đoạn tiếp theo VoluntaryEOA Conversion (Chuyển đổi tài khoản EOA tự nguyện).
Kể từ khi EIP4337 được phát hành hơn một năm trước (tại WalletCon của Denver vào ngày 1 tháng 3 năm 2023, hợp đồng cốt lõi ERC-4337 được thiết kế và triển khai bởi các nhà phát triển của Quỹ Ethereum đã được kiểm toán bởi OpenZeppelin và được coi là Nút lịch sử chính thức được phát hành).
Vẫn luôn được sự công nhận rộng rãi của người dùng, nhưng không được sử dụng rộng rãi, trong môi trường thị trường mâu thuẫn như vậy, đã cho phép tiến độ EIP-7702 được đẩy lên đáng kể, và đã được xác nhận sẽ được hợp nhất vào lần nâng cấp tiếp theo.
Không cần nói nhiều, hãy nhìn vào dữ liệu trực tiếp.
Sau một năm và nửa phát triển, dưới sự kết hợp của tài khoản chuỗi chính, EIP4337 chỉ có 1200W Địa chỉ, trong đó Địa chỉ hoạt động trên mạng chính ETH chỉ có 6,764, có thể có vấn đề về khía cạnh thống kê, nhưng ít nhất khác biệt rất lớn so với số Địa chỉ EOA và CA, đã biết con số Địa chỉ độc lập trên mạng chính ETH đã đạt đến 270 triệu (nguồn dữ liệu từ: ).
Có thể nói trên mạng chính EIP4337 không có bất kỳ sự phát triển đáng kể nào.
(Nguồn dữ liệu biểu đồ:)
Tuy nhiên, điều này không làm mờ đi giá trị cốt lõi của EIP4337, vì từ đầu thiết kế của nó đã định sẵn, nó không thể giải quyết được vấn đề tương thích ngược với Mạng chính, vì vậy cùng với sự tích hợp rộng rãi của các chuỗi L2 nguyên sinh vào EIP4337, số Địa chỉ trên L2 đã tăng mạnh, trong đó số người dùng hoạt động hàng tháng của chuỗi base và polygon lần lượt là 100W và 300W, cũng khá ấn tượng.
Vì vậy, EIP4337 không phải là thiết kế sai, nó có nhiều ưu điểm, chúng ta sẽ tóm tắt hệ thống sau đây. Hiện tại tình trạng này phát sinh do sự khác biệt giữa Mạng chính và L2, họ cần sử dụng các giải pháp phù hợp với mình.
trừu tượng hóa tài khoản, nghe có vẻ khó hiểu, nhưng thực chất giải quyết vấn đề phân tách quyền sở hữu.
Có hai loại tài khoản trong kiến trúc EVM (ví dụ: ETH Máy ảo), tài khoản bên ngoài (EOA) và tài khoản hợp đồng (Tài khoản hợp đồng), và quyền sở hữu và quyền ký kết của tài khoản bên ngoài thực sự được nắm giữ bởi cùng một thực thể. Người nắm giữ Khóa riêng không chỉ có “quyền sở hữu” tài khoản, mà còn có quyền “ký chuyển nhượng toàn bộ tài sản”.
Điều này được quyết định bởi cấu trúc giao dịch của tài khoản Ethereum
Từ cấu trúc trong hình dưới, có thể thấy rằng giao dịch tiêu chuẩn của Ethereum thực tế không có phía From, vì vậy khi tôi thực hiện một giao dịch chuyển tiền, tiền được tiêu thụ cụ thể từ địa chỉ nào? Thực tế là thông qua tham số VRS của nó (tức là chữ ký người dùng) để giải mã ngược từ địa chỉ From.
Ở đây liên quan đến mã hóa không đối xứng như ECDSA, khái niệm hàm ngưỡng một chiều, chúng ta không đi sâu vào, nhưng tổng quát ở đây được bảo đảm bởi mật mã học, tất nhiên điều này cũng tạo ra tình trạng kẹt cục của việc kết hợp quyền sở hữu hiện nay của EOAĐịa chỉ.
Hiệu ứng cốt lõi của EIP4337 là tăng trường Sender Address trong trường giao dịch, từ đó có thể tách riêng Khóa riêng và Địa chỉ được vận hành.
Vậy tại sao việc tách rời quyền sở hữu lại quan trọng như vậy?
Bởi vì thiết kế tài khoản bên ngoài (EOA) sẽ dẫn đến nhiều vấn đề phát sinh hơn:
Ràng buộc của việc kháng cáo làm cho người dùng thông thường khó sử dụng Ethereum:
Đầu tiên, để sử dụng bất kỳ ứng dụng nào trên nền tảng Ethereum, người dùng phải sở hữu Ether (và chịu đựng rủi ro Biến động giá Ether).
Thứ hai, người dùng cần xử lý logic phức tạp về chi phí, khái niệm giá gas, giới hạn gas, sự chặn giao dịch (thứ tự nonce) này quá phức tạp đối với người dùng.
Cuối cùng, mặc dù nhiều BlockchainVí tiền hoặc ứng dụng cố gắng tối ưu hóa sản phẩm để cải thiện trải nghiệm người dùng, nhưng hiệu quả thực tế của chúng lại rất nhỏ.
Vì vậy, cách phá vỡ là thực hiện trừu tượng hóa tài khoản, tách biệt quyền sở hữu (Owner) và quyền ký (Signer), từ đó mới có thể giải quyết từng vấn đề trên.
Có rất nhiều kế hoạch lịch sử, cuối cùng tất cả đều sẽ hội tụ vào hai con đường.
Dường như có rất nhiều đề xuất EIP để giải quyết vấn đề, nhưng về cơ bản, chỉ có hai phương pháp cốt lõi. Vì vậy, mỗi EIP không được thông qua trong quá khứ đã cùng nhau tạo nên cách tiếp cận hiện tại để vượt qua khó khăn.
Ngay từ ngày 15 tháng 11 năm 2015, xung quanh EIP-101, Vitalik đã đề xuất cấu trúc tài khoản mới với hợp đồng. Thay đổi Địa chỉ để chỉ chứa mã và không gian lưu trữ, thay đổi việc hỗ trợ phí giao dịch từ ERC20, thông qua hợp đồng tiên lược, để chuyển đổi Token nguyên bản thành loại ERC20 để lưu trữ số dư (có thể có chức năng ủy quyền trừ tiền đặc biệt), và rút gọn trường giao dịch chỉ còn to, startgas, data và code.
Nhìn lại, đó là một bước nhảy vọt, thay đổi mạnh mẽ thiết kế cơ bản để mỗi tài khoản Địa chỉ có logic “mã” riêng (đó chính xác là những gì EIP-7702 đang cố gắng làm bây giờ).
Có thể tạo ra các chức năng khác, như
Lý do không tiếp tục triển khai cũng rất đơn giản, rõ ràng là bước đi quá lớn, vấn đề xung đột Hàm băm giao dịch hiện tại, và vấn đề an toàn chưa được xem xét kỹ nên đã bị đình chỉ, nhưng các lý tưởng của mỗi lợi thế đều trở thành một trong những chức năng chính của EIP4337 và EIP7702 tiếp theo.
Sau đó, còn một loạt các EIP cố gắng hoàn thiện logic này
EIP-859:主链tài khoản抽象–2018-01-30
Cố gắng giải quyết vấn đề triển khai Code, vai trò cốt lõi là nếu hợp đồng của bên giao dịch chưa được triển khai, sẽ sử dụng tham số code đi kèm với giao dịch để triển khai Ví tiền hợp đồng. Ngoài ra, nó cũng đưa ra mã PAYGAS mới, ngoài việc thanh toán gas, cũng trở thành phần xác thực và phần thực thi trong tham số của một giao dịch.
Mặc dù đã kết thúc mà không có bất kỳ bệnh tật nào, nhưng điều này cũng trở thành một trong những logic cốt lõi của EIP7702 hiện tại. Mỗi giao dịch của EIP7702 kết hợp cấu trúc giao dịch đặc biệt, có thể đi kèm với một số mã, từ đó cho phép EOAĐịa chỉ có khả năng hợp đồng trong giao dịch này.
EIP-7702: Thiết lập mã tài khoản EOA ngày 07/05/2024
Đây cũng là EIP cốt lõi của cơ chế thảo luận tiếp theo trong bài viết, Vitalik đã đăng EIP-7702 như một phương án thay thế cho EIP-3074 (2024-05-07). Do đó, EIP-3074 đã bị loại bỏ, và EIP-7702 đã được xác định sẽ được bao gồm trong Hard Fork ETH Prague/Electra (Pectra) sắp tới, chi tiết cụ thể sẽ được mở rộng trong phần tiếp theo.
**EIP-3074: Thêm các mã hoạt động AUTH và AUTHCALL - 2020-10-15
Thêm hai mã OpCodes mới AUTH và AUTHCALL vào EVM, cho phép EOA ủy quyền hợp đồng thay thế danh tính của EOA để gọi hợp đồng khác qua hai mã opcode này.
Tổng quan, dựa vào hình dưới đây, một EOA có thể gửi một tin nhắn đã được ký (giao dịch) đến hợp đồng mà nó tin tưởng (gọi là Invoker), hợp đồng Invoker này có thể sử dụng mã hoạt động AUTH và AUTHCALL để thay thế EOA gửi giao dịch này.
EIP-4337: Sử dụng memory pool giao dịch để trừu tượng hóa tài khoản - 2021-09-29
Tóm lại, anh ấy được truyền cảm hứng từ MEV để thiết kế, giá trị cốt lõi của nó là có thể hoàn toàn tránh được việc thay đổi giao thức tầng đồng thuận.
eip4337 đề xuất đối tượng giao dịch mới UserOperation, người dùng gửi đối tượng này vào memory pool, được bundlers đóng gói hàng loạt từ khía cạnh Người khai thác và giao dịch giao cho thực thi hợp đồng giao dịch, về bản chất là đưa giao dịch và hoạt động tài khoản cơ bản vào mức thực thi hợp đồng.
EIP-5189: Sử dụng người chứng thực để vận hành tài khoản trừu tượng - 2022-06-29
Đây được coi là tối ưu hóa logic của EIP4337, là cơ chế để ngăn chặn cuộc tấn công chặn Dos bằng cách xây dựng cơ chế đền tội tiền tệ bằng việc thiết lập bên bổ sung tài chính bảo lãnh.
EIP-2718: Bao bì phong bì cho loại giao dịch mới - 2020-06-13
Đây là một đề xuất đã hoàn tất, nó định nghĩa một loại giao dịch mới, là phong bì cho loại giao dịch mới trong tương lai.
Kết quả cuối cùng là khi giới thiệu loại giao dịch mới, thông qua mã hóa cụ thể để phân biệt đó là loại giao dịch nào, chỉ cần đảm bảo tính tương thích ngược với phiên bản cũ mà không cần tính tương thích với phiên bản mới. Ví dụ phổ biến nhất là EIP1559, nó phân biệt phí giao dịch, sử dụng mã loại giao dịch mới, nhưng không ảnh hưởng đến loại giao dịch kế thừa ban đầu.
EIP-3607:让EOAĐịa chỉ不可部署合约–2021-06-10
Đây là một phương án bổ sung trên con đường AA, được sử dụng để ngăn chặn vấn đề xung đột giữa việc triển khai hợp đồng tại Địa chỉ và EOA Địa chỉ. Nó sẽ kiểm soát phương pháp tạo hợp đồng, không cho phép hệ thống triển khai mã vào Địa chỉ đã là EOA Địa chỉ. Tuy nhiên, rủi ro này thực sự rất nhỏ, cuối cùng với chiều dài 160 bit của Địa chỉ Ethereum, mặc dù có phương pháp đụng độ khóa riêng để tạo ra Địa chỉ hợp đồng cụ thể, nhưng với sức mạnh toàn bộ tính toán của BTC đổ vào, cũng cần mất khoảng một năm.
Đầu tiên cần hiểu giá trị sau khi chuyển đổi thành CA
Cơ bản, đây là hiệu quả thực tế của EIP-4337, nó có thể thực hiện
Tuy nhiên, điểm yếu chính của EIP-4337 là vi phạm nguyên tắc động lực con người.
Anh ta trông có vẻ tốt hơn, nhưng lại rơi vào vòng lặp phát triển thị trường. Nhiều Dapp vẫn chưa tương thích, vì vậy người dùng không muốn sử dụng địa chỉ CA, thậm chí có Chi phí giao dịch cao hơn khi sử dụng CA (trong tình huống chuyển tiền thông thường, Chi phí rửa tiền còn tăng gấp đôi), và quá phụ thuộc vào tính tương thích của Dapp chính nó.
Vì vậy, cho đến nay, nó vẫn chưa phổ biến trên mạng chính ETH.
Chi phí là tiêu chí quan trọng nhất đối với người dùng, và cần phải giảm chi phí.
Tuy nhiên, để thực sự Thả GAS, Ethereum phải thực hiện một bản vá mềm để sửa đổi tính toán GAS hoặc các mô-đun tiêu thụ GAS của mã hoạt động. Tuy nhiên, nếu muốn thực hiện một bản vá mềm, tại sao không xem xét trực tiếp EIP-7702?
Nó phân biệt bằng cách sử dụng loại giao dịch mới, cho phép EOA tạm thời có chức năng hợp đồng thông minh trong một giao dịch, hỗ trợ giao dịch hàng loạt, giao dịch không gas và quản lý quyền hạn tùy chỉnh trong kinh doanh mà không cần giới thiệu mã opCode EVM mới (ảnh hưởng đến tính tương thích ngược).
Anh ta có thể cho phép người dùng có khả năng sử dụng hầu hết các tính năng của AA mà không cần triển khai hợp đồng thông minh, thậm chí có thể cung cấp khả năng cho bên thứ ba đại diện cho người dùng khởi chạy giao dịch mà không cần cung cấp Khóa riêng của người dùng, chỉ cần thông tin được cấp phép chữ ký.
Anh ấy đã định nghĩa một loại giao dịch mới 0x04, TransactionPayload của loại giao dịch này được mã hóa RLP của nội dung sau đây
Quan trọng là đối tượng authorization_list mới được thêm vào, lưu trữ mã mà người ký hi vọng thực hiện trong EOA của mình. Người dùng ký gửi giao dịch cũng ký gửi mã hợp đồng để thực thi. Nó tồn tại như là một danh sách hai chiều, cho thấy nó có thể lưu trữ nhiều thông tin thao tác và thực hiện các thao tác hàng loạt.
4.3.1 Giai đoạn xác minh
Khi bắt đầu thực hiện giao dịch, đối với mỗi [chain_id, địa chỉ, nonce, y_parity, r, s] của mỗi ủy quyền_list:
4.3.2 Giai đoạn thực hiện thao tác
Mã hợp đồng và hướng dẫn thực hiện được đặt ở đâu?
Phiên bản ‘mới’ chỉ thay đổi hành vi triển khai mã code.
Nó không còn thiết lập mã tài khoản là contract_code, mà thay vào đó lấy mã địa chỉ từ authorization_list và đặt mã đó làm mã tài khoản.
Do đó, khi thực hiện mã ủy quyền, tải mã từ Địa chỉ được chỉ định trong trường địa chỉ của authorization_list và thực thi trong ngữ cảnh của tài khoản của người ký tên.
Điều này có nghĩa là mã hợp đồng của người dùng thực tế được lưu trữ tại một Địa chỉ on-chain cụ thể, thay vì được bao gồm trực tiếp trong giao dịch.
Trong khi đó, chỉ thị và tham số liên quan được lưu trữ trong trường dữ liệu của tải trọng giao dịch.
Anh ấy sẽ thay đổi toàn bộ quy trình Web3 Ví tiền, trải nghiệm người dùng cũng thay đổi rất nhiều, vì giao dịch thông thường do EOA khởi xướng cũng có thể thực hiện nhiều logic giống hợp đồng, ví dụ như chuyển khoản theo lô. Đối với tình huống CeFi, nó sẽ ảnh hưởng đến xác minh giao dịch và phí thu hồi và thu thập.
Vì sự xuất hiện của nó, đã phá vỡ nhiều quan niệm cũ, ví dụ như:
1. Ưu điểm của EIP-7702
gas更低,因为无需经过entrypoint模块,减少on-chain操作。
Chi phí chuyển đổi người dùng thấp hơn, không cần triển khai trước hợp đồng on-chain làm thực thể chính
So với Eip4337, cũng có thực hiện giao diện mã và cũng có hai cách thức:
Toàn bộ ủy quyền (Full Delegation)
Toàn bộ ủy quyền là việc ủy quyền toàn bộ quyền hạn của một hoạt động cho một Địa chỉ cụ thể. Ví dụ, người dùng có thể ủy quyền quyền quản lý tất cả các Token ERC-20 cho một Địa chỉ Hợp đồng thông minh, từ đó cho phép Hợp đồng thông minh này thay mặt người dùng thực hiện tất cả các hoạt động liên quan.
Ủy quyền được bảo vệ (Protected Delegation)
Đặt lệnh được bảo vệ là quá trình thêm vào một số hạn chế và biện pháp bảo vệ trong quá trình đặt lệnh, đảm bảo an toàn và kiểm soát của quá trình đặt lệnh.
Ví dụ, người dùng có thể giao phó quyền quản lý một phần của Token ERC-20 cho một hợp đồng thông minh, hoặc thiết lập một số điều kiện hạn chế (ví dụ như chi tiêu tối đa 1% tổng số dư hàng ngày).
Một trong những điểm yếu cốt lõi của nó là nằm trong việc nâng cấp Soft Fork, cần sự nhận thức chung của mọi người để thúc đẩy và có những thay đổi lớn, ảnh hưởng rộng rãi đến sinh thái on-chain. Sau một sự đánh giá sơ bộ, Tôi đã xác định những thách thức sau đây, nhưng thách thức cũng chính là cơ hội của thị trường:
Những điều này chỉ là một số điểm yếu được rút ra từ nội dung dự thảo EIP7702 hiện tại và tổng kết của diễn đàn chính thức tương ứng, cuối cùng vẫn cần phân tích hoàn toàn dựa trên mã code triển khai cuối cùng.
Tham khảo như sau:
Bài viết này dường như có quy mô lớn, nhưng thực tế chỉ có hơn 6k chữ nội dung văn bản, nhiều giải thích về EIP của quá khứ liên quan được liên kết trong bài viết để mở rộng, tôi sẽ không đi sâu vào việc theo dõi.
Hiện tại, việc trừu tượng hóa tài khoản thực sự chỉ có thể diễn ra trong mô-đun thứ sáu, nghĩa là sửa chữa tất cả, cũng chính là cuối cùng trong việc triển khai. Hiện nay, việc tăng tốc độ đáng kể của EIP7702 đang đem đến nhiều thách thức về an ninh hệ thống, có thể dự đoán rằng cuối cùng anh ấy sẽ thực hiện, sau tất cả, thậm chí cả sự kết hợp của ETH, việc thay đổi nhận thức chung và thuật toán cũng có thể xảy ra, thì làm sao có thể nói đến các loại giao dịch mới nhỏ nhoi.
Nhưng lần này có quá nhiều nội dung đảo lộn, phá vỡ nhiều quy tắc tiềm ẩn không thể on-chain, cũng phá vỡ logic ứng dụng của hầu hết các Dapp, nhưng nó vẫn giữ chặt một điểm cốt lõi quan trọng nhất, đó là giảm chi phí cho người dùng! So với Chi phí giao dịch tăng gần gấp đôi của EIP4337.
Người dùng vẫn là EOAĐịa chỉ, chỉ khi cần thiết mới kích hoạt và sử dụng logic CA, do đó chi phí sở hữu thấp hơn. Không cần chuyển đổi danh tính CA trên chuỗi trước khi thực hiện các hoạt động, tương đương với việc người dùng không cần đăng ký.
Người dùng có thể dễ dàng thực hiện nhiều giao dịch song song bằng EOA, chẳng hạn như kết hợp ủy quyền và thực hiện kết hợp ủy quyền thành một, điều này làm giảm Chi phí giao dịch cho chính người dùng, đối với Dapp, đặc biệt là các dự án quản lý doanh nghiệp cấp doanh nghiệp cần được thực hiện trên chuỗi, như sàn giao dịch, là một cải tiến đầy biến đổi. Khi việc thu thập hàng loạt được triển khai trên môi trường nguyên thủy, Chi phí giao dịch cơ bản có thể giảm đi hơn một nửa trong thời gian ngắn, đồng thời cũng có thể mang lại lợi ích cho người dùng.
Vì vậy, mặc dù anh ấy đã thay đổi rất nhiều, nhưng chiếm chi phí này, đáng để tất cả Dapp nghiên cứu và điều chỉnh, vì lần này, người dùng chắc chắn sẽ ở phía EIP7702.