Phân tích sâu về quá khứ và tương lai của lĩnh vực trừu tượng tài khoản Ethereum
Bài viết được chia thành hai phần lớn:
Đầu tiên, bắt đầu từ đề xuất AA đầu tiên vào năm 2015, hệ thống tổng hợp nội dung chính của các đề xuất EIP cho đến nay, xem lại quá trình lịch sử của các đề xuất AA và đánh giá tổng hợp các ưu nhược điểm của từng phương án.
Thứ hai, tập trung so sánh phản hồi về sự suy thoái thị trường mà EIP4337 phải đối mặt, phân tích sâu về EIP7702 sẽ được đưa vào trong lần nâng cấp tiếp theo của Ethereum, đề xuất này một khi được hợp nhất sẽ thay đổi hoàn toàn hình thái ứng dụng trên chuỗi.
EIP-7702 có ý nghĩa lịch sử, hãy cùng tìm hiểu chi tiết.
1. Bối cảnh trừu tượng tài khoản
1.1 Ý nghĩa trừu tượng của tài khoả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 không thay đổi vị trí của việc trừu tượng hóa tài khoản. Mô hình chính hiện tại đang chuyển từ EIP-4337 sang giai đoạn tiếp theo của việc chuyển đổi tài khoản EOA tự nguyện.
Kể từ khi EIP4337 ra mắt hơn một năm, vào ngày 1 tháng 3 năm 2023, tại WalletCon ở Denver, ( đã chính thức được phát hành, ) nhận được sự công nhận rộng rãi từ người dùng nhưng chưa được sử dụng rộng rãi. Trong bối cảnh thị trường mâu thuẫn này, tiến độ của EIP-7702 đã được đẩy nhanh đáng kể và đã xác định sẽ được hợp nhất trong bản nâng cấp tiếp theo.
1.2 tình trạng thị trường trừu tượng tài khoản
Sau một năm rưỡi phát triển, EIP4337 trên các chuỗi chính chỉ có 12 triệu địa chỉ, trong đó trên mạng chính Ethereum chỉ có 6,764 địa chỉ hoạt động, thấp hơn nhiều so với số lượng địa chỉ EOA và CA. Số lượng địa chỉ độc lập trên mạng chính Ethereum đã đạt 270 triệu, có thể nói rằng EIP4337 gần như không có sự phát triển thực chất trên mạng chính.
Tuy nhiên, điều này không ảnh hưởng đến giá trị bản chất của AA. Việc thiết kế EIP4337 từ đầu đã định trước rằng nó sẽ khó có thể giải quyết tốt vấn đề tương thích ngược của mạng chính. Khi các loại L2 được tích hợp nguyên bản vào AA, số lượng địa chỉ EIP4337 đã bùng nổ trên L2, với số lượng người dùng hoạt động trên chuỗi Base và Polygon lần lượt đạt 1 triệu và 3 triệu vào tháng 7, vẫn là một con số đáng kể.
Vì vậy, không phải thiết kế EIP4337 có vấn đề, nó có nhiều ưu điểm. Tình trạng hiện tại xuất phát từ sự khác biệt giữa mạng chính và L2, chúng cần những giải pháp phù hợp với từng bên.
2. Tài khoản trừu tượng là gì?
Tài khoản trừu tượng về bản chất là giải quyết vấn đề tách biệt quyền sở hữu.
Trong máy ảo Ethereum ( EVM ) có hai loại tài khoản: tài khoản bên ngoài ( EOA ) và tài khoản hợp đồng ( CA ). Quyền sở hữu và quyền ký của EOA thực sự được nắm giữ bởi cùng một chủ thể. Người nắm giữ khóa riêng không chỉ sở hữu "quyền sở hữu tài khoản", mà còn có quyền "ký chuyển nhượng tất cả tài sản".
Điều này được xác định bởi cấu trúc giao dịch của tài khoản Ethereum. Trong cấu trúc giao dịch tiêu chuẩn không có trường From, việc chuyển tiền được thực hiện thông qua chữ ký của người dùng ( với các tham số VRS ) để phản giải ra địa chỉ From. Điều này gây ra tình trạng khó khăn trong việc hợp nhất quyền sở hữu địa chỉ EOA hiện tại.
Hiệu ứng cốt lõi của EIP4337 là thêm Địa chỉ Người gửi vào trường giao dịch, từ đó tách rời khóa riêng với địa chỉ thao tác.
Tầm quan trọng của việc tách biệt quyền sở hữu là:
Khó bảo vệ khóa riêng: Mất khóa riêng có nghĩa là mất tất cả tài sản.
Thuật toán ký tên đơn giản: Giao thức gốc xác thực giao dịch chỉ có thể sử dụng thuật toán ECDSA.
Quyền ký quá cao: không có đa ký nguyên thủy, chỉ cần ký đơn là có thể thực hiện bất kỳ thao tác nào.
Phí giao dịch chỉ có thể thanh toán bằng ETH, không hỗ trợ giao dịch hàng loạt.
Rò rỉ quyền riêng tư giao dịch: Giao dịch một-một dễ dàng phân tích thông tin người nắm giữ tài khoản.
Những ràng buộc này khiến người dùng thông thường khó sử dụng Ethereum:
Sử dụng bất kỳ ứng dụng nào cũng phải giữ ETH và chịu rủi ro biến động giá.
Cần xử lý logic phí phức tạp, giá Gas, giới hạn Gas, Nonce và các khái niệm khác quá phức tạp.
Mặc dù ứng dụng ví cố gắng tối ưu hóa trải nghiệm người dùng, nhưng hiệu quả vẫn hạn chế.
Do đó, cách để phá vỡ tình thế nằm ở việc hiện thực hóa tài khoản trừu tượng, tách biệt quyền sở hữu (Owner) và quyền ký (Signer), từ đó dần dần giải quyết các vấn đề trên.
Trong lịch sử đã có nhiều phương án, cuối cùng hội tụ về hai hướng.
3. Sắp xếp lại bối cảnh các đề xuất lịch sử AA
Giải pháp của vấn đề có vẻ có nhiều đề xuất EIP, nhưng cuối cùng chỉ có hai tư duy cốt lõi. Mỗi EIP chưa được thông qua đều đã tích hợp các vấn đề cần xem xét vào các giải pháp hiện có.
3.1 Tuyến đường đầu tiên: Chuyển đổi địa chỉ EOA sang địa chỉ CA
Ngày 15 tháng 11 năm 2015, Vitalik đã đề xuất một cấu trúc mới cho tài khoản dưới dạng hợp đồng trong EIP-101. Địa chỉ đã được thay đổi chỉ còn mã và không gian lưu trữ, hỗ trợ thanh toán phí bằng ERC20, thông qua hợp đồng được biên soạn trước để chuyển đổi mã thông báo gốc thành loại ERC20 để lưu lại số dư, và rút gọn các trường giao dịch chỉ còn to, startgas, data và code.
Đây là một cuộc cách mạng kiểu nhảy vọt, sẽ thay đổi đáng kể thiết kế cơ sở, khiến mỗi địa chỉ tài khoản đều có "logic" riêng của nó ( cũng chính là hiệu ứng mà EIP-7702 hiện đang muốn đạt được ).
Còn có thể phát triển các chức năng khác:
Giao dịch sử dụng nhiều thuật toán mã hóa hơn, được chỉ định phương pháp xác thực chữ ký bởi Code bên trong địa chỉ
Có đặc tính chống tấn công lượng tử, vì mã có thể nâng cấp
Giúp Ether có chức năng tương tự như ERC20, chẳng hạn như ủy quyền khấu trừ.
Nâng cao không gian tùy chỉnh tài khoản, tương thích phục hồi xã hội, hỗ trợ SBT, khôi phục khóa, v.v.
Nguyên nhân không tiếp tục thúc đẩy cũng rất đơn giản, rõ ràng là bước đi quá lớn, không xem xét kỹ lưỡng vấn đề xung đột hash giao dịch hiện tại và các rủi ro về an toàn, vì vậy luôn bị gác lại. Nhưng mọi ý tưởng của ưu điểm đều trở thành một trong những chức năng cốt lõi của EIP4337 và EIP7702 sau này.
Sau đó, còn có một loạt các EIP cố gắng hoàn thiện logic này:
EIP-859: Trừu tượng tài khoản chuỗi chính (2018-01-30)
Cố gắng giải quyết vấn đề triển khai Code. Nếu hợp đồng của bên giao dịch chưa được triển khai, thì sử dụng tham số code đi kèm giao dịch để thực hiện triển khai ví hợp đồng. Cũng đã đề xuất mã opcode PAYGAS mới, ngoài việc thanh toán gas, còn là dấu phân cách giữa phần xác thực và phần thực thi trong tham số giao dịch.
Mặc dù lúc đó không có kết quả, như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ể kèm theo một đoạn mã nhất định, cho phép địa chỉ EOA 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 (2024-05-07)
Đây là EIP cốt lõi mà bài viết này sẽ thảo luận tiếp theo, được Vitalik công bố như một giải pháp thay thế cho EIP-3074. EIP-3074 đã bị loại bỏ, EIP-7702 được xác định sẽ được đưa vào phân nhánh cứng ETH Prague/Electra sắp tới.
3.2 Lộ trình thứ hai: Để địa chỉ EOA điều khiển địa chỉ CA
EIP-3074: Thêm mã OP AUTH và AUTHCALL (2020-10-15)
Trong EVM, thêm hai OpCode mới: AUTH và AUTHCALL, cho phép EOA ủy quyền cho hợp đồng gọi các hợp đồng khác thay mặt cho danh tính EOA thông qua hai opcode này.
Tóm lại, EOA có thể gửi các giao dịch đã ký ( tới hợp đồng mà mình tin tưởng có tên là Invoker ), Hợp đồng Invoker có thể sử dụng AUTH và AUTHCALL thay thế EOA phát hành giao dịch.
EIP-4337: Sử dụng bộ nhớ giao dịch để thực hiện trừu tượng tài khoản (2021-09-29)
Được thiết kế dựa trên cảm hứng từ MEV, giá trị cốt lõi là hoàn toàn tránh thay đổi giao thức lớp đồng thuận.
EIP4337 đề xuất đối tượng giao dịch mới là UserOperation, người dùng gửi đối tượng này đến pool bộ nhớ, các bundler từ góc độ thợ mỏ sẽ đóng gói hàng loạt để thực hiện các giao dịch hợp đồng, về bản chất là đưa giao dịch nền tảng và hoạt động tài khoản lên tầng hợp đồng để thực hiện.
EIP-5189: Thông qua người bảo lãnh thực hiện tài khoản trừu tượng (2022-06-29)
Tối ưu hóa logic EIP4337, thông qua việc thiết lập cơ chế đảm bảo phạt tiền (endorser) để ngăn chặn các cuộc tấn công DoS của Bundler độc hại.
( 3.3 Các đề xuất khác hỗ trợ AA
EIP-2718: Bao bì giao dịch mới )2020-06-13###
Đề xuất đã Final, định nghĩa loại giao dịch mới như là phong bì cho các loại giao dịch mới trong tương lai.
Khi giới thiệu loại giao dịch mới, chỉ cần phân biệt bằng mã đặc biệt, chỉ cần tương thích ngược mà không cần tương thích tiến. Ví dụ phổ biến nhất là EIP1559, 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 legacy ban đầu.
EIP-3607: Cấm địa chỉ EOA triển khai hợp đồng (2021-06-10)
Các giải pháp bổ sung trên đường AA, ngăn chặn xung đột giữa địa chỉ triển khai hợp đồng và địa chỉ EOA. Kiểm soát phương pháp tạo hợp đồng, không cho phép triển khai mã lên địa chỉ đã là EOA. Rủi ro này rất nhỏ, địa chỉ Ethereum dài 160 bit, mặc dù có phương pháp sử dụng khóa riêng để va chạm ra khóa riêng của địa chỉ hợp đồng chỉ định, nhưng ước tính cần một năm thời gian với toàn bộ sức mạnh tính toán của Bitcoin.
( 3.4 Làm thế nào để hiểu quá trình phát triển trừu tượng tài khoản?
Trước tiên cần hiểu giá trị sau khi chuyển đổi sang CA.
Về cơ bản, đó là hiệu ứng thực tế của EIP-4337, có thể thực hiện:
Khôi phục xã hội
giao dịch không cần gas
Giao dịch theo lô
Thanh toán gas
Tài khoản bị khóa
Chữ ký tùy chỉnh
Nhưng nhược điểm cốt lõi của EIP-4337 là vi phạm nguyên tắc động cơ con người.
Có vẻ tốt hơn, nhưng mắc kẹt trong vòng lặp phát triển thị trường: Nhiều Dapp vẫn chưa tương thích, người dùng không muốn sử dụng địa chỉ CA, việc sử dụng CA lại có chi phí giao dịch cao hơn ), phí giao dịch trong các tình huống chuyển khoản thông thường tăng gấp đôi ###, quá phụ thuộc vào khả năng tương thích của chính Dapp.
Vì vậy, cho đến nay Ethereum chưa bao giờ phổ biến trên mạng chính.
Chi phí là tiêu chí đánh giá quan trọng nhất của người dùng, phải giảm chi phí.
Để thực sự giảm GAS, phải thực hiện nâng cấp phân nhánh mềm cho chính Ethereum, sửa đổi các mô-đun tính toán GAS hoặc tiêu thụ GAS của mã vận hành. Nếu đã cần phân nhánh mềm, thì hãy xem xét trực tiếp EIP-7702.
4. Phân tích toàn diện EIP-7702
( 4.1 EIP-7702 là gì
Thông qua 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 duy nhất, hỗ trợ giao dịch hàng loạt, giao dịch không Gas và quản lý quyền tùy chỉnh, và không cần đưa vào mã opCode EVM mới ) ảnh hưởng đến khả năng tương thích ngược ###.
Cho phép người dùng có được hầu hết khả năng 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 khởi xướng giao dịch thay cho người dùng, không cần người dùng cung cấp khóa riêng, chỉ cần ký thông tin ủy quyền.
( 4.2 Cấu trúc dữ liệu
Định nghĩa loại giao dịch mới 0x04, TransactionPayload là kết quả của quá trình mã hóa RLP của nội dung sau:
Điều quan trọng là đã thêm đối tượng authorization_list, lưu trữ mã mà người ký muốn thực hiện trong EOA của họ. Người dùng ký giao dịch đồng thời cũng ký mã hợp đồng cần thực hiện, tồn tại dưới dạng danh sách hai chiều, có thể lưu trữ nhiều thông tin thao tác, thực hiện thao tác hàng loạt.
Trang này có thể chứa nội dung của bên thứ ba, được cung cấp chỉ nhằm mục đích thông tin (không phải là tuyên bố/bảo đảm) và không được coi là sự chứng thực cho quan điểm của Gate hoặc là lời khuyên về tài chính hoặc chuyên môn. Xem Tuyên bố từ chối trách nhiệm để biết chi tiết.
21 thích
Phần thưởng
21
4
Chia sẻ
Bình luận
0/400
CommunityLurker
· 07-16 07:30
Lại thổi phồng Blockchain thay đổi thế giới nhỉ
Xem bản gốcTrả lời0
BearHugger
· 07-14 19:01
Lại là ngày thường v thần vẽ BTC.
Xem bản gốcTrả lời0
StableNomad
· 07-14 18:40
cảm giác như đã từng trải qua vào năm 2021... một eip "đột phá" khác mà có thể sẽ có tỷ lệ áp dụng 0.001% thật sự.
EIP-7702 phân tích: kỷ nguyên mới của trừu tượng hóa tài khoản và nâng cấp khả năng EOA
Phân tích sâu về quá khứ và tương lai của lĩnh vực trừu tượng tài khoản Ethereum
Bài viết được chia thành hai phần lớn:
Đầu tiên, bắt đầu từ đề xuất AA đầu tiên vào năm 2015, hệ thống tổng hợp nội dung chính của các đề xuất EIP cho đến nay, xem lại quá trình lịch sử của các đề xuất AA và đánh giá tổng hợp các ưu nhược điểm của từng phương án.
Thứ hai, tập trung so sánh phản hồi về sự suy thoái thị trường mà EIP4337 phải đối mặt, phân tích sâu về EIP7702 sẽ được đưa vào trong lần nâng cấp tiếp theo của Ethereum, đề xuất này một khi được hợp nhất sẽ thay đổi hoàn toàn hình thái ứng dụng trên chuỗi.
EIP-7702 có ý nghĩa lịch sử, hãy cùng tìm hiểu chi tiết.
1. Bối cảnh trừu tượng tài khoản
1.1 Ý nghĩa trừu tượng của tài khoả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 không thay đổi vị trí của việc trừu tượng hóa tài khoản. Mô hình chính hiện tại đang chuyển từ EIP-4337 sang giai đoạn tiếp theo của việc chuyển đổi tài khoản EOA tự nguyện.
Kể từ khi EIP4337 ra mắt hơn một năm, vào ngày 1 tháng 3 năm 2023, tại WalletCon ở Denver, ( đã chính thức được phát hành, ) nhận được sự công nhận rộng rãi từ người dùng nhưng chưa được sử dụng rộng rãi. Trong bối cảnh thị trường mâu thuẫn này, tiến độ của EIP-7702 đã được đẩy nhanh đáng kể và đã xác định sẽ được hợp nhất trong bản nâng cấp tiếp theo.
1.2 tình trạng thị trường trừu tượng tài khoản
Sau một năm rưỡi phát triển, EIP4337 trên các chuỗi chính chỉ có 12 triệu địa chỉ, trong đó trên mạng chính Ethereum chỉ có 6,764 địa chỉ hoạt động, thấp hơn nhiều so với số lượng địa chỉ EOA và CA. Số lượng địa chỉ độc lập trên mạng chính Ethereum đã đạt 270 triệu, có thể nói rằng EIP4337 gần như không có sự phát triển thực chất trên mạng chính.
Tuy nhiên, điều này không ảnh hưởng đến giá trị bản chất của AA. Việc thiết kế EIP4337 từ đầu đã định trước rằng nó sẽ khó có thể giải quyết tốt vấn đề tương thích ngược của mạng chính. Khi các loại L2 được tích hợp nguyên bản vào AA, số lượng địa chỉ EIP4337 đã bùng nổ trên L2, với số lượng người dùng hoạt động trên chuỗi Base và Polygon lần lượt đạt 1 triệu và 3 triệu vào tháng 7, vẫn là một con số đáng kể.
Vì vậy, không phải thiết kế EIP4337 có vấn đề, nó có nhiều ưu điểm. Tình trạng hiện tại xuất phát từ sự khác biệt giữa mạng chính và L2, chúng cần những giải pháp phù hợp với từng bên.
2. Tài khoản trừu tượng là gì?
Tài khoản trừu tượng về bản chất là giải quyết vấn đề tách biệt quyền sở hữu.
Trong máy ảo Ethereum ( EVM ) có hai loại tài khoản: tài khoản bên ngoài ( EOA ) và tài khoản hợp đồng ( CA ). Quyền sở hữu và quyền ký của EOA thực sự được nắm giữ bởi cùng một chủ thể. Người nắm giữ khóa riêng không chỉ sở hữu "quyền sở hữu tài khoản", mà còn có quyền "ký chuyển nhượng tất cả tài sản".
Điều này được xác định bởi cấu trúc giao dịch của tài khoản Ethereum. Trong cấu trúc giao dịch tiêu chuẩn không có trường From, việc chuyển tiền được thực hiện thông qua chữ ký của người dùng ( với các tham số VRS ) để phản giải ra địa chỉ From. Điều này gây ra tình trạng khó khăn trong việc hợp nhất quyền sở hữu địa chỉ EOA hiện tại.
Hiệu ứng cốt lõi của EIP4337 là thêm Địa chỉ Người gửi vào trường giao dịch, từ đó tách rời khóa riêng với địa chỉ thao tác.
Tầm quan trọng của việc tách biệt quyền sở hữu là:
Khó bảo vệ khóa riêng: Mất khóa riêng có nghĩa là mất tất cả tài sản.
Thuật toán ký tên đơn giản: Giao thức gốc xác thực giao dịch chỉ có thể sử dụng thuật toán ECDSA.
Quyền ký quá cao: không có đa ký nguyên thủy, chỉ cần ký đơn là có thể thực hiện bất kỳ thao tác nào.
Phí giao dịch chỉ có thể thanh toán bằng ETH, không hỗ trợ giao dịch hàng loạt.
Rò rỉ quyền riêng tư giao dịch: Giao dịch một-một dễ dàng phân tích thông tin người nắm giữ tài khoản.
Những ràng buộc này khiến người dùng thông thường khó sử dụng Ethereum:
Do đó, cách để phá vỡ tình thế nằm ở việc hiện thực hóa tài khoản trừu tượng, tách biệt quyền sở hữu (Owner) và quyền ký (Signer), từ đó dần dần giải quyết các vấn đề trên.
Trong lịch sử đã có nhiều phương án, cuối cùng hội tụ về hai hướng.
3. Sắp xếp lại bối cảnh các đề xuất lịch sử AA
Giải pháp của vấn đề có vẻ có nhiều đề xuất EIP, nhưng cuối cùng chỉ có hai tư duy cốt lõi. Mỗi EIP chưa được thông qua đều đã tích hợp các vấn đề cần xem xét vào các giải pháp hiện có.
3.1 Tuyến đường đầu tiên: Chuyển đổi địa chỉ EOA sang địa chỉ CA
Ngày 15 tháng 11 năm 2015, Vitalik đã đề xuất một cấu trúc mới cho tài khoản dưới dạng hợp đồng trong EIP-101. Địa chỉ đã được thay đổi chỉ còn mã và không gian lưu trữ, hỗ trợ thanh toán phí bằng ERC20, thông qua hợp đồng được biên soạn trước để chuyển đổi mã thông báo gốc thành loại ERC20 để lưu lại số dư, và rút gọn các trường giao dịch chỉ còn to, startgas, data và code.
Đây là một cuộc cách mạng kiểu nhảy vọt, sẽ thay đổi đáng kể thiết kế cơ sở, khiến mỗi địa chỉ tài khoản đều có "logic" riêng của nó ( cũng chính là hiệu ứng mà EIP-7702 hiện đang muốn đạt được ).
Còn có thể phát triển các chức năng khác:
Nguyên nhân không tiếp tục thúc đẩy cũng rất đơn giản, rõ ràng là bước đi quá lớn, không xem xét kỹ lưỡng vấn đề xung đột hash giao dịch hiện tại và các rủi ro về an toàn, vì vậy luôn bị gác lại. Nhưng mọi ý tưởng của ưu điểm đều trở thành một trong những chức năng cốt lõi của EIP4337 và EIP7702 sau này.
Sau đó, còn có một loạt các EIP cố gắng hoàn thiện logic này:
EIP-859: Trừu tượng tài khoản chuỗi chính (2018-01-30)
Cố gắng giải quyết vấn đề triển khai Code. Nếu hợp đồng của bên giao dịch chưa được triển khai, thì sử dụng tham số code đi kèm giao dịch để thực hiện triển khai ví hợp đồng. Cũng đã đề xuất mã opcode PAYGAS mới, ngoài việc thanh toán gas, còn là dấu phân cách giữa phần xác thực và phần thực thi trong tham số giao dịch.
Mặc dù lúc đó không có kết quả, như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ể kèm theo một đoạn mã nhất định, cho phép địa chỉ EOA 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 (2024-05-07)
Đây là EIP cốt lõi mà bài viết này sẽ thảo luận tiếp theo, được Vitalik công bố như một giải pháp thay thế cho EIP-3074. EIP-3074 đã bị loại bỏ, EIP-7702 được xác định sẽ được đưa vào phân nhánh cứng ETH Prague/Electra sắp tới.
3.2 Lộ trình thứ hai: Để địa chỉ EOA điều khiển địa chỉ CA
EIP-3074: Thêm mã OP AUTH và AUTHCALL (2020-10-15)
Trong EVM, thêm hai OpCode mới: AUTH và AUTHCALL, cho phép EOA ủy quyền cho hợp đồng gọi các hợp đồng khác thay mặt cho danh tính EOA thông qua hai opcode này.
Tóm lại, EOA có thể gửi các giao dịch đã ký ( tới hợp đồng mà mình tin tưởng có tên là Invoker ), Hợp đồng Invoker có thể sử dụng AUTH và AUTHCALL thay thế EOA phát hành giao dịch.
EIP-4337: Sử dụng bộ nhớ giao dịch để thực hiện trừu tượng tài khoản (2021-09-29)
Được thiết kế dựa trên cảm hứng từ MEV, giá trị cốt lõi là hoàn toàn tránh thay đổi giao thức lớp đồng thuận.
EIP4337 đề xuất đối tượng giao dịch mới là UserOperation, người dùng gửi đối tượng này đến pool bộ nhớ, các bundler từ góc độ thợ mỏ sẽ đóng gói hàng loạt để thực hiện các giao dịch hợp đồng, về bản chất là đưa giao dịch nền tảng và hoạt động tài khoản lên tầng hợp đồng để thực hiện.
EIP-5189: Thông qua người bảo lãnh thực hiện tài khoản trừu tượng (2022-06-29)
Tối ưu hóa logic EIP4337, thông qua việc thiết lập cơ chế đảm bảo phạt tiền (endorser) để ngăn chặn các cuộc tấn công DoS của Bundler độc hại.
( 3.3 Các đề xuất khác hỗ trợ AA
EIP-2718: Bao bì giao dịch mới )2020-06-13###
Đề xuất đã Final, định nghĩa loại giao dịch mới như là phong bì cho các loại giao dịch mới trong tương lai.
Khi giới thiệu loại giao dịch mới, chỉ cần phân biệt bằng mã đặc biệt, chỉ cần tương thích ngược mà không cần tương thích tiến. Ví dụ phổ biến nhất là EIP1559, 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 legacy ban đầu.
EIP-3607: Cấm địa chỉ EOA triển khai hợp đồng (2021-06-10)
Các giải pháp bổ sung trên đường AA, ngăn chặn xung đột giữa địa chỉ triển khai hợp đồng và địa chỉ EOA. Kiểm soát phương pháp tạo hợp đồng, không cho phép triển khai mã lên địa chỉ đã là EOA. Rủi ro này rất nhỏ, địa chỉ Ethereum dài 160 bit, mặc dù có phương pháp sử dụng khóa riêng để va chạm ra khóa riêng của địa chỉ hợp đồng chỉ định, nhưng ước tính cần một năm thời gian với toàn bộ sức mạnh tính toán của Bitcoin.
( 3.4 Làm thế nào để hiểu quá trình phát triển trừu tượng tài khoản?
Trước tiên cần hiểu giá trị sau khi chuyển đổi sang CA.
Về cơ bản, đó là hiệu ứng thực tế của EIP-4337, có thể thực hiện:
Nhưng nhược điểm cốt lõi của EIP-4337 là vi phạm nguyên tắc động cơ con người.
Có vẻ tốt hơn, nhưng mắc kẹt trong vòng lặp phát triển thị trường: Nhiều Dapp vẫn chưa tương thích, người dùng không muốn sử dụng địa chỉ CA, việc sử dụng CA lại có chi phí giao dịch cao hơn ), phí giao dịch trong các tình huống chuyển khoản thông thường tăng gấp đôi ###, quá phụ thuộc vào khả năng tương thích của chính Dapp.
Vì vậy, cho đến nay Ethereum chưa bao giờ phổ biến trên mạng chính.
Chi phí là tiêu chí đánh giá quan trọng nhất của người dùng, phải giảm chi phí.
Để thực sự giảm GAS, phải thực hiện nâng cấp phân nhánh mềm cho chính Ethereum, sửa đổi các mô-đun tính toán GAS hoặc tiêu thụ GAS của mã vận hành. Nếu đã cần phân nhánh mềm, thì hãy xem xét trực tiếp EIP-7702.
4. Phân tích toàn diện EIP-7702
( 4.1 EIP-7702 là gì
Thông qua 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 duy nhất, hỗ trợ giao dịch hàng loạt, giao dịch không Gas và quản lý quyền tùy chỉnh, và không cần đưa vào mã opCode EVM mới ) ảnh hưởng đến khả năng tương thích ngược ###.
Cho phép người dùng có được hầu hết khả năng 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 khởi xướng giao dịch thay cho người dùng, không cần người dùng cung cấp khóa riêng, chỉ cần ký thông tin ủy quyền.
( 4.2 Cấu trúc dữ liệu
Định nghĩa loại giao dịch mới 0x04, TransactionPayload là kết quả của quá trình mã hóa RLP của nội dung sau:
rlp)[ chain_id, nonce, max_priority_fee_per_gas, max_fee_per_gas, gas_limit, điểm đến, giá trị, dữ liệu, danh sách_truy_cập, danh_sách_uỷ_quyền, chữ ký_y_parity, signature_r, chữ ký_s ]###
Điều quan trọng là đã thêm đối tượng authorization_list, lưu trữ mã mà người ký muốn thực hiện trong EOA của họ. Người dùng ký giao dịch đồng thời cũng ký mã hợp đồng cần thực hiện, tồn tại dưới dạng danh sách hai chiều, có thể lưu trữ nhiều thông tin thao tác, thực hiện thao tác hàng loạt.
authorization_list = [[chain_id, address, nonce, y_parity, r, s], ...]
( 4.3 vòng đời giao dịch
)# 4.3.1 Giai đoạn xác thực
Thực hiện giai đoạn bắt đầu giao dịch, đối với mỗi tuple [chain_id, address, nonce, y_parity, r, s] trong authorization_list:
Khôi phục địa chỉ của người ký từ chữ ký r, s bằng ecrecover.
Xác minh chuỗi ID### chống lại việc phát lại chuỗi phân nhánh ###.
Xác minh mã ký tên authority có trống hay đã ủy quyền ( xác minh giao dịch có phải là giao dịch hợp lệ 7702 ).
Xác minh nonceauthority chữ ký ( để ngăn chặn việc phát lại chữ ký authority ).
Đặt mã người ký authority thành 0xef0100 || address( vượt qua chính sách chống va chạm EIP3607).
Tăng nonce người ký authority( để ngăn chặn việc phát lại chữ ký cục bộ).
Thêm tài khoản người ký authority vào danh sách địa chỉ đã truy cập ( chuyển địa chỉ nóng, giảm phí gas lưu trữ truy vấn ).
(# 4.3.2 Giai đoạn thực hiện thao tác
"Phiên bản "mới" chỉ thay đổi hành vi triển khai mã.
Không còn đặt mã tài khoản là contract_code, mà là truy xuất địa chỉ mã từ authorization_list và đặt là mã tài khoản.
Khi thực thi mã ủy quyền, tải mã từ trường địa chỉ của authorization_list, thực hiện trong ngữ cảnh tài khoản của người ký.
Mã hợp đồng của người dùng được lưu trữ thực tế tại địa chỉ cụ thể trên chuỗi, không được bao gồm trực tiếp trong giao dịch.
Các lệnh thao tác và các tham số liên quan được lưu trữ trong trường data của tải trọng giao dịch.
) 4.4 Giá trị của EIP-7702
Có sự thay đổi toàn diện trong trải nghiệm người dùng của ví Web3.