Mỗi tài khoản Ethereum thực hiện năm chức năng:
EOA triển khai chúng theo cách được mã hóa cứng:
Trừu tượng hóa tài khoản có nghĩa là thêm logic lập trình vào năm chức năng sau:
EIP-3074 nhằm mục đích trừu tượng hóa việc Thực thi bằng cách tăng cường EOA bằng logic thực thi tùy ý thông qua trình gọi. Nó có một thuộc tính duy nhất - mở rộng khả năng của EOA mà không cần phải di chuyển tài sản sang tài khoản mới. Nó không cần giải quyết các vấn đề như truy cập phi tập trung vì việc thực thi không ảnh hưởng đến điều này. Bốn chức năng còn lại cũng có nhưng chúng nằm ngoài phạm vi của EIP-3074.
ERC-4337 nhằm mục đích trừu tượng hóa toàn bộ tài khoản - tất cả năm chức năng. Đó là một vấn đề khó giải quyết hơn nếu muốn duy trì sự phân cấp và khả năng chống kiểm duyệt. Trọng tâm của ERC-4337 là giảm thiểu DoS và các vectơ tấn công nguy hiểm được kích hoạt bằng cách trừu tượng hóa bốn chức năng đầu tiên mà không cần dùng đến cơ sở hạ tầng tập trung. Là một ERC, nó không thể mở rộng khả năng của EOA và yêu cầu chuyển sang tài khoản thông minh.
Sự chồng chéo giữa hai phương thức là tối thiểu: chỉ trừu tượng hóa Thực thi.
Ngoài ra, mỗi phương pháp đều nhằm mục đích giải quyết các vấn đề mà phương pháp kia không làm được: EIP-3074 nhằm mục đích phục vụ các EOA hiện có và giữ mọi thứ đơn giản nhất có thể. ERC-4337 nhằm mục đích cung cấp tính năng Trừu tượng hóa tài khoản đầy đủ mà không phải hy sinh các thuộc tính cốt lõi của Ethereum, chẳng hạn như tính phân cấp.
Nếu ai đó nhất quyết so sánh ERC-4337 với đề xuất trước đó thì đề xuất gần nhất là EIP-2938, không phải EIP-3074. EIP-2938 là một bước đột phá trong việc trừu tượng hóa tài khoản, đề xuất đầu tiên nhận ra khó khăn trong việc giảm thiểu DoS trong bộ nhớ AA. ERC-4337 giải quyết được một số vấn đề nhất định mà EIP-2938 không giải quyết được nhưng việc so sánh đầy đủ nằm ngoài phạm vi của tài liệu này.
Cả hai đều giải quyết được tính trừu tượng thực thi và do đó kích hoạt danh mục cuối cùng của các trường hợp sử dụng ở trên:
EIP-5003 bổ sung cho EIP-3074 bằng cách cho phép EOA thu hồi khóa ECDSA của nó và trở thành hợp đồng thông minh. Là một hợp đồng, nó có thể trừu tượng hóa phần còn lại của các chức năng tài khoản, ví dụ: thay thế ECDSA bằng chữ ký khác, xoay phím, áp dụng chính sách truy cập, v.v. Theo nghĩa đó, nó phần nào tương đương với các đề xuất như EIP-6913 và EIP-7377, nhưng vượt trội hơn EIP-7377 vì với tư cách là một opcode, nó có thể sử dụng hệ thống trích xuất khí để tự di chuyển.
Sau khi EOA được chuyển đổi thành hợp đồng thông minh, nó không còn có thể giao dịch trực tiếp nữa và cần được truy cập thông qua một EOA khác. Điều này đặt ra thách thức mà ERC-4337 được thiết kế để giải quyết. Người dùng có hai cách để giao dịch với tài khoản sau khi di chuyển:
Cách để phân cấp quyền truy cập tài khoản sau di chuyển là áp dụng một số hạn chế nhất định cho đến khi tài khoản thanh toán gas. Cách tiếp cận này được thực hiện bởi cả EIP-2938 và ERC-4337. <a href="https://notes.ethereum.org/ @yoav /unified-erc-4337-mempool">ERC-4337 mempool cung cấp một cách phi tập trung để giao dịch với tài khoản.
TL;DR: Không, nó chỉ nêu bật sự cần thiết của ERC-4337.
Việc người dùng EOA hiện tại chuyển sang tài khoản thông minh tại chỗ thay vì chuyển tài sản là điều hấp dẫn. Tuy nhiên, nó đi kèm với một số lỗ hổng nhất định, một số trong đó không thể giảm thiểu được.
Điều gì có thể xảy ra nếu khóa EOA bị xâm phạm sau khi bị thu hồi?
Người dùng có thể ghi khóa riêng sau khi di chuyển và hy vọng rằng không còn bản sao nào, nhưng sau đó người dùng cũng không thể yêu cầu cùng một địa chỉ trên các chuỗi khác.
Do đó, việc di chuyển nên được sử dụng như là phương sách cuối cùng khi có lý do chính đáng để giữ địa chỉ cũ. Theo mặc định, các tài khoản mới được triển khai tốt nhất với CREATE2 thay vì được di chuyển từ EOA, để chúng không được liên kết với khóa EOA trên các chuỗi khác.
Cộng đồng có xu hướng nhấn mạnh quá mức tầm quan trọng của việc di chuyển EOA vì hầu hết người dùng hiện tại đều có EOA. Một tỷ người dùng tiếp theo có thể bắt đầu bằng tài khoản thông minh và không phải di chuyển từ EOA. Chúng tôi, những người dùng EOA hiện tại, chỉ là một phần rất nhỏ trong số đó. Việc di chuyển có thể quan trọng trong một thời gian để người dùng hiện tại di chuyển. Nó sẽ trở thành một luồng ít được sử dụng khi việc trừu tượng hóa tài khoản là tiêu chuẩn.
Đúng, chúng có thể được <a href="https://notes.ethereum.org/@yoav/eip-3074-erc-4337-synergy"> kết hợp theo những cách thú vị . Nếu một chuỗi áp dụng EIP-3074, các dự án sử dụng ERC-4337 có thể sử dụng nó để mang lại lợi ích cho họ.
Cả EIP-3074 và ERC-4337 đều là các bước để nhận được một số lợi ích của việc trừu tượng hóa tài khoản gốc hoàn toàn. Cái trước tập trung vào việc nhận được tất cả lợi ích của việc trừu tượng hóa thực thi và cái sau tập trung vào việc nhận được tất cả lợi ích của việc trừu tượng hóa tài khoản trên tất cả các chuỗi EVM nhưng theo cách không tự nhiên và kém hiệu quả hơn.
Một chuỗi mong muốn người dùng được hưởng lợi từ việc trừu tượng hóa tài khoản gốc hoàn toàn có thể áp dụng RIP-7560. Nó sử dụng cùng một tài khoản và kiến trúc mempool như ERC-4337 nhưng hoạt động nguyên bản ở cấp giao thức.
RIP-7560 không cần phải được áp dụng từ ngày đầu tiên và các tài khoản hiện tại sẽ có thể di chuyển sang nó trên các chuỗi chọn áp dụng nó bất kỳ lúc nào trong tương lai:
Chúng tôi đang thu thập phản hồi về RIP-7560 trước khi đề xuất cất giữ nó. Nếu bạn quan tâm đến việc trừu tượng hóa tài khoản gốc, vui lòng xem lại PR hoặc tham gia thảo luận.
Mỗi tài khoản Ethereum thực hiện năm chức năng:
EOA triển khai chúng theo cách được mã hóa cứng:
Trừu tượng hóa tài khoản có nghĩa là thêm logic lập trình vào năm chức năng sau:
EIP-3074 nhằm mục đích trừu tượng hóa việc Thực thi bằng cách tăng cường EOA bằng logic thực thi tùy ý thông qua trình gọi. Nó có một thuộc tính duy nhất - mở rộng khả năng của EOA mà không cần phải di chuyển tài sản sang tài khoản mới. Nó không cần giải quyết các vấn đề như truy cập phi tập trung vì việc thực thi không ảnh hưởng đến điều này. Bốn chức năng còn lại cũng có nhưng chúng nằm ngoài phạm vi của EIP-3074.
ERC-4337 nhằm mục đích trừu tượng hóa toàn bộ tài khoản - tất cả năm chức năng. Đó là một vấn đề khó giải quyết hơn nếu muốn duy trì sự phân cấp và khả năng chống kiểm duyệt. Trọng tâm của ERC-4337 là giảm thiểu DoS và các vectơ tấn công nguy hiểm được kích hoạt bằng cách trừu tượng hóa bốn chức năng đầu tiên mà không cần dùng đến cơ sở hạ tầng tập trung. Là một ERC, nó không thể mở rộng khả năng của EOA và yêu cầu chuyển sang tài khoản thông minh.
Sự chồng chéo giữa hai phương thức là tối thiểu: chỉ trừu tượng hóa Thực thi.
Ngoài ra, mỗi phương pháp đều nhằm mục đích giải quyết các vấn đề mà phương pháp kia không làm được: EIP-3074 nhằm mục đích phục vụ các EOA hiện có và giữ mọi thứ đơn giản nhất có thể. ERC-4337 nhằm mục đích cung cấp tính năng Trừu tượng hóa tài khoản đầy đủ mà không phải hy sinh các thuộc tính cốt lõi của Ethereum, chẳng hạn như tính phân cấp.
Nếu ai đó nhất quyết so sánh ERC-4337 với đề xuất trước đó thì đề xuất gần nhất là EIP-2938, không phải EIP-3074. EIP-2938 là một bước đột phá trong việc trừu tượng hóa tài khoản, đề xuất đầu tiên nhận ra khó khăn trong việc giảm thiểu DoS trong bộ nhớ AA. ERC-4337 giải quyết được một số vấn đề nhất định mà EIP-2938 không giải quyết được nhưng việc so sánh đầy đủ nằm ngoài phạm vi của tài liệu này.
Cả hai đều giải quyết được tính trừu tượng thực thi và do đó kích hoạt danh mục cuối cùng của các trường hợp sử dụng ở trên:
EIP-5003 bổ sung cho EIP-3074 bằng cách cho phép EOA thu hồi khóa ECDSA của nó và trở thành hợp đồng thông minh. Là một hợp đồng, nó có thể trừu tượng hóa phần còn lại của các chức năng tài khoản, ví dụ: thay thế ECDSA bằng chữ ký khác, xoay phím, áp dụng chính sách truy cập, v.v. Theo nghĩa đó, nó phần nào tương đương với các đề xuất như EIP-6913 và EIP-7377, nhưng vượt trội hơn EIP-7377 vì với tư cách là một opcode, nó có thể sử dụng hệ thống trích xuất khí để tự di chuyển.
Sau khi EOA được chuyển đổi thành hợp đồng thông minh, nó không còn có thể giao dịch trực tiếp nữa và cần được truy cập thông qua một EOA khác. Điều này đặt ra thách thức mà ERC-4337 được thiết kế để giải quyết. Người dùng có hai cách để giao dịch với tài khoản sau khi di chuyển:
Cách để phân cấp quyền truy cập tài khoản sau di chuyển là áp dụng một số hạn chế nhất định cho đến khi tài khoản thanh toán gas. Cách tiếp cận này được thực hiện bởi cả EIP-2938 và ERC-4337. <a href="https://notes.ethereum.org/ @yoav /unified-erc-4337-mempool">ERC-4337 mempool cung cấp một cách phi tập trung để giao dịch với tài khoản.
TL;DR: Không, nó chỉ nêu bật sự cần thiết của ERC-4337.
Việc người dùng EOA hiện tại chuyển sang tài khoản thông minh tại chỗ thay vì chuyển tài sản là điều hấp dẫn. Tuy nhiên, nó đi kèm với một số lỗ hổng nhất định, một số trong đó không thể giảm thiểu được.
Điều gì có thể xảy ra nếu khóa EOA bị xâm phạm sau khi bị thu hồi?
Người dùng có thể ghi khóa riêng sau khi di chuyển và hy vọng rằng không còn bản sao nào, nhưng sau đó người dùng cũng không thể yêu cầu cùng một địa chỉ trên các chuỗi khác.
Do đó, việc di chuyển nên được sử dụng như là phương sách cuối cùng khi có lý do chính đáng để giữ địa chỉ cũ. Theo mặc định, các tài khoản mới được triển khai tốt nhất với CREATE2 thay vì được di chuyển từ EOA, để chúng không được liên kết với khóa EOA trên các chuỗi khác.
Cộng đồng có xu hướng nhấn mạnh quá mức tầm quan trọng của việc di chuyển EOA vì hầu hết người dùng hiện tại đều có EOA. Một tỷ người dùng tiếp theo có thể bắt đầu bằng tài khoản thông minh và không phải di chuyển từ EOA. Chúng tôi, những người dùng EOA hiện tại, chỉ là một phần rất nhỏ trong số đó. Việc di chuyển có thể quan trọng trong một thời gian để người dùng hiện tại di chuyển. Nó sẽ trở thành một luồng ít được sử dụng khi việc trừu tượng hóa tài khoản là tiêu chuẩn.
Đúng, chúng có thể được <a href="https://notes.ethereum.org/@yoav/eip-3074-erc-4337-synergy"> kết hợp theo những cách thú vị . Nếu một chuỗi áp dụng EIP-3074, các dự án sử dụng ERC-4337 có thể sử dụng nó để mang lại lợi ích cho họ.
Cả EIP-3074 và ERC-4337 đều là các bước để nhận được một số lợi ích của việc trừu tượng hóa tài khoản gốc hoàn toàn. Cái trước tập trung vào việc nhận được tất cả lợi ích của việc trừu tượng hóa thực thi và cái sau tập trung vào việc nhận được tất cả lợi ích của việc trừu tượng hóa tài khoản trên tất cả các chuỗi EVM nhưng theo cách không tự nhiên và kém hiệu quả hơn.
Một chuỗi mong muốn người dùng được hưởng lợi từ việc trừu tượng hóa tài khoản gốc hoàn toàn có thể áp dụng RIP-7560. Nó sử dụng cùng một tài khoản và kiến trúc mempool như ERC-4337 nhưng hoạt động nguyên bản ở cấp giao thức.
RIP-7560 không cần phải được áp dụng từ ngày đầu tiên và các tài khoản hiện tại sẽ có thể di chuyển sang nó trên các chuỗi chọn áp dụng nó bất kỳ lúc nào trong tương lai:
Chúng tôi đang thu thập phản hồi về RIP-7560 trước khi đề xuất cất giữ nó. Nếu bạn quan tâm đến việc trừu tượng hóa tài khoản gốc, vui lòng xem lại PR hoặc tham gia thảo luận.