Một Phân Tích Sâu Sắc về Quá Khứ và Tương Lai của Ethereum Account Abstraction

Nâng cao9/12/2024, 1:51:56 AM
Bài viết sẽ bắt đầu với đề xuất Abstraction tài khoản (AA) đầu tiên từ năm 2015, tổ chức có hệ thống nội dung chính của các đề xuất EIP đến nay, sau đó so sánh phản hồi thị trường sau khi giới thiệu EIP-4337, và cuối cùng phân tích EIP-7702, dự kiến sẽ được bao gồm trong bản nâng cấp Ethereum tiếp theo.

Lời tựa

Bài viết được chia thành hai phần chính:

Trong phần đầu tiên, nó sẽ bắt đầu với đề xuất AA đầu tiên từ năm 2015, tổ chức hệ thống nội dung chính của các đề xuất EIP đến nay. Mục tiêu là khám phá sự phát triển lịch sử của các đề xuất AA và đánh giá toàn diện các điểm mạnh và điểm yếu của mỗi đề xuất.

Trong phần thứ hai, nó sẽ tập trung vào việc so sánh phản hồi thị trường sau khi giới thiệu EIP-4337 và sau đó đào sâu vào phân tích EIP-7702, dự kiến sẽ được bao gồm trong bản nâng cấp Ethereum tiếp theo. Đề xuất này, khi được hợp nhất, dự kiến sẽ biến đổi một cách đáng kể bản chất của các ứng dụng trên chuỗi.

EIP-7702 hứa hẹn những thay đổi cách mạng, và chúng tôi sẽ thảo luận nó chi tiết.

1. Nền tảng của Sự trừu tượng hóa tài khoản

1.1 Ý nghĩa của sự trừu tượng tài khoản

Vào cuối năm 2023, nhà sáng lập Ethereum Vitalik Buterin đã cập nhật lại lộ trình phát triển ETH một lần nữa. Tuy nhiên, các quy định liên quan đến Account Abstraction vẫn không thay đổi. Mô hình phổ biến hiện tại tiếp tục phát triển từ EIP-4337 đến giai đoạn tiếp theo: Chuyển đổi EOA tự nguyện (chuyển đổi tự khởi tạo của tài khoản EOA).


https://x.com/VitalikButerin/status/1741190491578810445

Kể từ khi EIP-4337 được phát hành hơn một năm trước (vào ngày 1 tháng 3 năm 2023, tại WalletCon ở Denver, các nhà phát triển của Ethereum Foundation đã công bố rằng các hợp đồng core của ERC-4337 đã vượt qua cuộc kiểm tra của OpenZeppelin, đánh dấu một cột mốc lịch sử cho việc ra mắt chính thức), nó đã nhận được sự công nhận rộng rãi từ người dùng nhưng chưa thấy sự áp dụng rộng rãi. Môi trường thị trường nghịch lý này đã tăng tốc tiến độ của EIP-7702, được xác nhận sẽ được bao gồm trong bản nâng cấp tiếp theo.

1.2 Tình trạng thị trường hiện tại của sự trừu tượng tài khoản

Không cần thêm lời, hãy xem dữ liệu.

Sau một năm rưỡi phát triển, EIP-4337 chỉ có 12 triệu địa chỉ dưới tài khoản chuỗi chính phổ biến. Điều đáng ngạc nhiên là trên mainnet Ethereum, chỉ có 6.764 địa chỉ hoạt động. Mặc dù có thể có vấn đề với kích thước thống kê, số lượng này vẫn rất khác biệt so với số lượng địa chỉ cho EOAs và CAs. Ví dụ, số lượng địa chỉ duy nhất trên mainnet Ethereum đã đạt 270 triệu (nguồn: https://etherscan.io/chart/address).

Có thể nói rằng EIP-4337 không đạt được tiến triển đáng kể trên mainnet.


(Nguồn biểu đồ: https://dune.com/niftytable/account-abstraction)

Tuy nhiên, điều này không làm giảm giá trị bẩm sinh của Account Abstraction (AA). Ngay từ đầu, việc thiết kế của EIP-4337 đã định sẵn sẽ phải đối mặt với các vấn đề tương thích ngược trên mainnet. Do đó, với nhiều chuỗi Layer 2 tích hợp AA bản địa, EIP-4337 đã thấy sự tăng trưởng đáng kể về số địa chỉ trên Layer 2. Ví dụ, vào tháng 7, số người dùng hoạt động trên các chuỗi Base và Polygon lần lượt đạt 1 triệu và 3 triệu, điều này khá ấn tượng.

Do đó, không phải là thiết kế của EIP-4337 bị lỗi; nó có nhiều ưu điểm mà chúng tôi sẽ tổng hợp một cách có hệ thống. Tình hình hiện tại phát sinh từ sự khác biệt giữa mainnet và Layer 2, mỗi cái đều đòi hỏi các giải pháp cá nhân hóa.

2. Account Abstraction là gì?

Account Abstraction có vẻ phức tạp, nhưng về cơ bản nó giải quyết vấn đề phân tách sở hữu.

Trong kiến trúc Máy ảo Ethereum (EVM), có hai loại tài khoản: Tài khoản Sở hữu Bên ngoài (EOAs) và Tài khoản Hợp đồng. Trong EOAs, quyền sở hữu và quyền ký tên được giữ bởi cùng một thực thể. Người sở hữu khóa riêng không chỉ sở hữu tài khoản mà còn có quyền ký và chuyển nhượng tất cả tài sản của nó.

Thiết lập này được xác định bởi cấu trúc giao dịch tài khoản Ethereum. Trong một giao dịch Ethereum tiêu chuẩn, không có địa chỉ 'Từ' trực tiếp nào được hiển thị. Khi một giao dịch quỹ xảy ra, địa chỉ thực sự từ đó quỹ được chi tiêu được suy luận thông qua các tham số VRS (tức là chữ ký của người dùng).

Việc này liên quan đến các khái niệm như mã hóa không đối xứng ECDSA và các hàm ngưỡng một chiều, nhưng chúng tôi sẽ không đào sâu vào những chi tiết đó ở đây. Đơn giản, mật mã đảm bảo an ninh, dẫn đến tình hình hiện tại nơi quyền sở hữu và quyền ký tên được kết hợp trong EOAs.

Hiệu ứng cốt lõi của EIP-4337 là thêm một trường Địa chỉ Người gửi vào giao dịch, cho phép phân tách khóa bí mật và địa chỉ hoạt động.

Vì sao việc phân chia sở hữu lại quan trọng như vậy?

Vì thiết kế của Tài khoản Sở hữu Bên ngoài (EOAs) dẫn đến một số vấn đề:

Bảo vệ Khóa Riêng: Mất khóa riêng (do mất, bị hack, hoặc bị đe dọa mật mã) có nghĩa là mất tất cả tài sản.

Các thuật toán chữ ký hạn chế**: Giao thức bản địa chỉ hỗ trợ ECDSA cho việc ký và xác minh.

Cơ quan Chữ ký Cao: Mà không có sự hỗ trợ đa chữ ký bản địa (chỉ có thể đạt được thông qua hợp đồng thông minh), một chữ ký duy nhất có thể thực hiện bất kỳ hoạt động nào.

Phí giao dịch: Phí chỉ có thể được thanh toán bằng ETH, không hỗ trợ một lượng giao dịch lớn.

Quyền riêng tư giao dịch: Giao dịch một cách một-đến-một làm cho việc phân tích thông tin cá nhân của chủ tài khoản trở nên dễ dàng.

Những ràng buộc này khiến việc sử dụng Ethereum trở nên khó khăn đối với người dùng bình thường:

Để sử dụng bất kỳ ứng dụng nào trên Ethereum, người dùng phải nắm giữ ETH (và chịu đựng rủi ro dao động giá ETH).

Người dùng cần xử lý logic phí phức tạp, như giá gas, giới hạn gas, và chặn giao dịch (thứ tự nonce), điều này có thể quá phức tạp.

Mặc dù nhiều ví blockchain hoặc ứng dụng cố gắng cải thiện trải nghiệm người dùng thông qua tối ưu hóa sản phẩm, nhưng hiệu quả của họ đã bị hạn chế.

Giải pháp nằm ở việc triển khai Quỹ đạo Tài khoản, giải phóng quyền sở hữu (Chủ sở hữu) và quyền ký (Ký giả) để giải quyết những vấn đề này. Lịch sử đã chứng minh nhiều giải pháp đã nảy sinh, cuối cùng hội tụ vào hai phương pháp chính.

3. Tổng quan lịch sử về các đề xuất về trừu tượng hóa tài khoản

Mặc dù có vẻ như có nhiều đề xuất EIP đang giải quyết vấn đề, nhưng về cơ bản, chỉ có hai phương pháp cốt lõi. Các vấn đề được xem xét trong các đề xuất trước đó không được chấp thuận đã cuối cùng hội tụ vào các giải pháp hiện tại.

3.1 Con đường đầu tiên là chuyển địa chỉ EOA thành địa chỉ CA

Vào ngày 15 tháng 11 năm 2015, Vitalik Buterin đề xuất một cấu trúc tài khoản mới xung quanh EIP-101, liên quan đến việc sử dụng hợp đồng như là tài khoản. Điều này sẽ biến địa chỉ thành các thực thể chỉ chứa mã và không gian lưu trữ, thay đổi hỗ trợ phí để được thanh toán thông qua các mã ERC20 và sử dụng hợp đồng được biên soạn trước để chuyển đổi các mã nguồn thành các mã tương tự ERC20 cho việc lưu trữ số dư (với các tính năng như ủy quyền ủy quyền). Các trường giao dịch được đơn giản hóa chỉ bao gồm to, startgas, dữ liệu và mã)

Nhìn lại, đây là một sự thay đổi cách mạng sẽ thay đổi một cách đáng kể thiết kế cơ bản, cung cấp mỗi địa chỉ tài khoản có logic 'mã' riêng, đó chính là mục tiêu cốt lõi mà EIP-7702 đang nhắm đến ngày hôm nay. Cách tiếp cận này cũng có thể cho phép các tính năng bổ sung, chẳng hạn như:

Cho phép giao dịch sử dụng nhiều thuật toán mã hóa được xác định bởi mã nội bộ của một địa chỉ để xác minh và xác thực.

Cung cấp sự chống chọi với lượng tử do tính năng có thể nâng cấp của mã nguồn.

Trang bị Ether với các đặc điểm chức năng giống như hợp đồng ERC20, với tính năng như ủy quyền được ủy thác, loại bỏ nhu cầu tiêu tốn đồng coin native.

Tăng cường tùy chỉnh tài khoản, hỗ trợ khôi phục xã hội, SBT (mã thông báo linh hồn) và khôi phục khóa.

Lý do không tiến xa với đề xuất này rất đơn giản: các bước quá quả quyết. Các vấn đề như va chạm băm giao dịch và lo ngại về bảo mật chưa được giải quyết đầy đủ, điều này dẫn đến việc hoãn lại. Tuy nhiên, nhiều lợi ích của nó đã trở thành các tính năng cốt lõi trong các EIP tiếp theo, bao gồm EIP-4337 và EIP-7702.

Sau đó, một số EIP cố gắng làm sáng tỏ logic này:

EIP-859: Tính Chất Tài Khoản Trên Mainnet (30 tháng 1 năm 2018) nhằm giải quyết vấn đề triển khai mã. Chức năng cốt lõi của nó là sử dụng tham số kèm theo giao dịch để triển khai ví hợp đồng nếu hợp đồng không được triển khai. Nó cũng giới thiệu một opcode PAYGAS mới để tách các phần xác minh và thực hiện của một giao dịch.

Mặc dù không tiến triển vào thời điểm đó, logic này đã trở thành một phần cốt lõi của EIP-7702, cho phép địa chỉ EOA có khả năng hợp đồng thông qua cấu trúc giao dịch đặc biệt có thể bao gồm mã.

EIP-7702: Thiết lập Mã Tài khoản EOA (7 tháng 5 năm 2024) là yếu tố quan trọng của EIP được thảo luận ở đây. Vitalik đề xuất EIP-7702 như một phương án thay thế cho EIP-3074. Do đó, EIP-3074 đã bị bỏ rơi và EIP-7702 được thiết lập để được bao gồm trong hard fork ETH Prague/Electra (Pectra) sắp tới. Thêm chi tiết sẽ được thảo luận dưới đây.

3.2 Phương pháp thứ hai là để địa chỉ EOA điều khiển địa chỉ CA.

EIP-3074: Thêm các mã lệnh AUTH và AUTHCALL (15 tháng 10 năm 2020)

EIP này giới thiệu hai mã opcode mới, AUTH và AUTHCALL, vào EVM, cho phép EOAs ủy quyền cho hợp đồng thay thế danh tính của họ và gọi các hợp đồng khác. Đơn giản, một EOA có thể gửi một tin nhắn được ký (giao dịch) đến một hợp đồng đáng tin cậy (gọi là Invoker). Hợp đồng Invoker sau đó có thể sử dụng các mã opcode AUTH và AUTHCALL để gửi giao dịch thay mặt cho EOA.

EIP-4337: Thực hiện trừu tượng hóa tài khoản thông qua Hồ bơi giao dịch (29 tháng 9 năm 2021)

Lấy cảm hứng từ MEV, giá trị cốt lõi của EIP này là tránh thay đổi trong giao thức lớp đồng thuận. EIP-4337 giới thiệu một đối tượng giao dịch mới, UserOperation, mà người dùng gửi đến bể nhớ. Bundlers sau đó tập hợp và gửi các giao dịch này đến việc thực thi hợp đồng, hiệu quả chuyển các hoạt động giao dịch và tài khoản ở mức độ thấp hơn lên lớp hợp đồng.

EIP-5189: Hoạt động tài khoản trừu tượng qua Người bảo trợ (29 tháng 6 năm 2022)

EIP này tối ưu hóa EIP-4337 bằng cách giải quyết các vấn đề tiềm ẩn với các bundlers độc hại. Nó giới thiệu cơ chế cho các quỹ được bảo trợ bởi người chứng thực để ngăn chặn các cuộc tấn công DoS bằng cách phạt những bên tồi tệ.

3.3 Các Đề Xuất Khác Hỗ Trợ Abstraction Tài Khoản

EIP-2718: Bao Bì Loại Giao Dịch Mới (13 tháng 6 năm 2020)

Đề xuất cuối cùng này xác định một loại giao dịch mới như một phong bì cho các loại giao dịch trong tương lai. Điều này đảm bảo rằng khi các loại giao dịch mới được giới thiệu, chúng có thể được phân biệt bằng cách mã hóa cụ thể, duy trì tính tương thích ngược với các loại cũ mà không ảnh hưởng đến các loại cũ. Một ví dụ phổ biến là EIP-1559, đã phân biệt phí giao dịch bằng cách mã hóa loại giao dịch mới trong khi bảo tồn các loại cũ.

EIP-3607: Ngăn chặn địa chỉ EOA triển khai hợp đồng (10 tháng 6 năm 2021)

Đề xuất bổ sung này giải quyết vấn đề địa chỉ triển khai hợp đồng xung đột với địa chỉ EOA. Nó kiểm soát các phương pháp tạo hợp đồng, ngăn chặn mã từ được triển khai đến các địa chỉ đã được sử dụng bởi các EOA. Rủi ro là tối thiểu do độ dài 160 bit của địa chỉ Ethereum, mặc dù lý thuyết có thể thông qua va chạm khóa, điều này sẽ đòi hỏi nỗ lực tính toán đáng kể.

3.4 Hiểu về Sự phát triển của Trừu tượng Tài khoản

Để hiểu giá trị của việc chuyển đổi sang địa chỉ CA, việc nắm bắt hiệu ứng thực tế của EIP-4337 là rất quan trọng, điều này có thể đạt được...

Tuy nhiên, điểm yếu chính của EIP-4337 là vi phạm nguyên tắc khuyến khích con người. Mặc dù có vẻ như mang lại cải tiến, nhưng nó rơi vào tình trạng bế tắc phát triển thị trường. Nhiều Dapps vẫn chưa tương thích với nó, khiến người dùng do dự khi sử dụng địa chỉ CA. Ngoài ra, việc sử dụng CA có thể dẫn đến chi phí giao dịch cao hơn (ví dụ, phí giao dịch có thể tăng gấp đôi trong các kịch bản chuyển giao thông thường), khiến nó phụ thuộc nặng vào tính tương thích của Dapps.

Kết quả là, cho đến nay nó vẫn chưa trở nên phổ biến trên mạng chính Ethereum. Chi phí là yếu tố quan trọng nhất đối với người dùng, và nó phải được giảm bớt. Để thực sự giảm chi phí GAS, Ethereum chính nó sẽ cần một bản nâng cấp soft fork để sửa đổi các phép tính GAS hoặc thay đổi việc tiêu thụ GAS của các opcode. Với nhu cầu của một soft fork, tại sao không xem xét trực tiếp EIP-7702?

4. Phân tích toàn diện về EIP-7702

4.1 Đó là EIP-7702 là gì

Nó được phân biệt bởi các loại giao dịch mới, cho phép EOA tạm thời có chức năng của một hợp đồng thông minh trong một giao dịch duy nhất, từ đó hỗ trợ giao dịch hàng loạt, giao dịch không tốn phí 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ột OpCode EVM mới (Ảnh hưởng đến tính tương thích về phía trước).

Nó cho phép người dùng có được hầu hết các khả năng của AA mà không cần triển khai hợp đồng thông minh, và thậm chí có thể cung cấp cho bên thứ ba khả năng khởi tạo giao dịch thay mặt người dùng. Nó không yêu cầu người dùng cung cấp khóa riêng tư, nhưng chỉ cần ký thông tin được ủy quyền.

4.2 Cấu trúc dữ liệu

Anh ấy đã xác định một loại giao dịch mới 0x04. TransactionPayload của loại giao dịch này là kết quả mã hóa RLP của nội dung sau

rlp([

chain_id, //Chain ID, được sử dụng để ngăn chặn các cuộc tấn công phát lại.

nonce, // Bộ đếm giao dịch để đảm bảo tính duy nhất của giao dịch.

max_priority_fee_per_gas, //1559 transaction fee

max_fee_per_gas, //1559 phí giao dịch

gas_limit,

đích đến, //Địa chỉ đích của giao dịch

giá trị,

dữ liệu,

access_list, //Danh sách truy cập, được sử dụng để tối ưu hóa Gas trong EIP-2929.

danh_sách_ủy_quyền,

signature_y_parity, // 3 signature parameters, used to verify transaction signature.

signature_r,

chữ ký_s

]

Điều quan trọng là đối tượng authorization_list được thêm vào để lưu trữ mã mà người ký muốn thực hiện trong EOA của mình. Khi người dùng ký giao dịch, anh ta cũng ký mã hợp đồng sẽ được thực hiện. Nó tồn tại dưới dạng một danh sách hai chiều, cho thấy rằng nhiều thông tin về hoạt động có thể được lưu trữ theo lô, thực hiện các hoạt động theo lô.

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 minh

Khi bắt đầu giai đoạn thực thi giao dịch, đối với mỗi [chain_id, address, nonce, y_parity, r, s]tuple in theauthorization_list:

Sử dụng ecrecoverchức năng để khôi phục địa chỉ của người ký từ chữ ký(r, s)Lưu ý rằng điều này sử dụng cơ chế hiện tại của Ethereum, vì vậy thuật toán chữ ký vẫn không thay đổi bởi EIP này. Địa chỉ được khôi phục bằng cách sử dụng:authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s). Điều này tương tự như cách màtừĐịa chỉ được xuất phát từ chữ ký, nhưng nó áp dụng cho danh sách chữ ký cụ thể.

Xác minh ID chuỗi để ngăn chặn các cuộc tấn công phát lại trên các chuỗi khác nhau.

Kiểm tra nếuuy quyềnMã của người ký đang trống hoặc được ủy quyền (để xác nhận xem giao dịch có phải là giao dịch EIP-7702 hợp lệ, với cơ chế ủy quyền xử lý thực thi).

Xác minh cơ quannonce của người ký để ngăn chặn các cuộc tấn công phát lại trên chữ ký.

Đặt cơ quanmã của người ký 0xef0100 || địa chỉ (để bypass các chiến lược ngăn chặn va chạm EIP-3607).

Tăng lên cơ quansố không lặp lại của người ký (để ngăn chặn việc lặp lại chữ ký cục bộ).

Thêm vào quyền lựctài khoản của người ký vào danh sách truy cập (để chuyển sang lưu trữ nóng, giảm chi phí gas cho việc truy cập).

4.3.2 Độ sâu thực thi

Mã hợp đồng và hướng dẫn vận hành được thực thi ở đâu?

Phiên bản “mới” thay đổi cách mã hợp đồng được triển khai. Thay vì thiết lập mã tài khoản trực tiếp, nó truy xuất mã từ authorization_listđịa chỉ và đặt nó làm mã tài khoản.

Khi thực thi mã được ủy quyền, tải mã từ địa chỉ được chỉ định trong danh_sách_xác_thựcvà thực thi nó trong ngữ cảnh của tài khoản của người ký. Điều này có nghĩa là mã hợp đồng của người dùng được lưu trữ tại một địa chỉ cụ thể trên blockchain, thay vì được bao gồm trực tiếp trong giao dịch.

Hướng dẫn vận hành và các tham số liên quan được lưu trữ trong dữ liệulĩnh vực của dữ liệu giao dịch.

4.4 Giá trị của EIP-7702 là gì?

EIP-7702 giới thiệu giá trị quan trọng khi nó thay đổi mật độ toàn bộ quá trình giao dịch cho ví Web3, dẫn đến sự biến đổi mạnh mẽ trong trải nghiệm người dùng. Các giao dịch thông thường được khởi xướng bởi một EOA (Tài khoản Sở hữu Bên ngoài) hiện có thể thực hiện nhiều logic tương tự như việc thực thi hợp đồng thông minh, chẳng hạn như chuyển gói. Điều này cũng ảnh hưởng đến các kịch bản CeFi, ảnh hưởng đến việc xác định giao dịch và phí cho việc rút và tập trung.

EIP-7702 phá vỡ nhiều giả định lâu đời: Nó phá vỡ điều không biến của việc số dư tài khoản chỉ có thể giảm do các giao dịch bắt nguồn từ tài khoản đó. Nó phá vỡ điều không biến rằng EOA nonce tăng lên 1 sau khi thực hiện một giao dịch bắt đầu (nó có thể tăng lên đồng thời bởi nhiều giá trị). Nó phá vỡ logic bảo vệ dựa vào việc so sánhtx.originmsg.sender, giới thiệu các rủi ro tiềm ẩn đối với nhiều hợp đồng hiện có. Điều này cũng làm đứt quãng việc một EOA chính nó không thể phát ra sự kiện, điều này có thể ảnh hưởng đến việc xác định và giám sát một số sự kiện trên chuỗi. Cuối cùng, nó làm đứt quãng giả định rằng địa chỉ EOA sẽ luôn nhận được ERC20, 721, 1155 và các tài sản khác thành công (do cơ chế gọi lại có thể gây lỗi).

4.5 So sánh giữa EIP-7702 và EIP-4337

1.Ưu điểm của EIP-7702

EIP-7702 có một số lợi ích. Một trong số đó là chi phí gas thấp hơn, vì nó không yêu cầu thông qua mô-đun điểm nhập, giảm số lượt thao tác trên chuỗi. Một lợi ích khác là chi phí di cư người dùng thấp hơn, vì không cần triển khai hợp đồng trên chuỗi như thực thể chính trước.

So với EIP-4337, EIP-7702 cũng hỗ trợ thực thi mã ủy quyền và cung cấp hai loại ủy quyền:

Toàn bộ ủy quyền: Điều này có nghĩa là ủy quyền toàn bộ quyền kiểm soát của một hoạt động cụ thể cho một địa chỉ cụ thể. Ví dụ, người dùng có thể ủy quyền quản lý tất cả các token ERC-20 cho một địa chỉ hợp đồng thông minh, cho phép hợp đồng thực hiện tất cả các hoạt động liên quan thay mặt cho người dùng.

Ủy quyền Bảo vệ: Điều này liên quan đến việc thêm các hạn chế và biện pháp bảo vệ trong quá trình ủy quyền để đảm bảo an toàn và khả năng kiểm soát của các hoạt động được ủy quyền. Ví dụ, người dùng có thể ủy quyền chỉ quyền quản lý một phần của các token ERC-20 cho một hợp đồng thông minh hoặc đặt điều kiện (ví dụ, chi tiêu tối đa 1% của tổng số dư mỗi ngày).

2. Nhược điểm của EIP-7702

Một nhược điểm chính của EIP-7702 là nó liên quan đến một bản nâng cấp soft fork, yêu cầu sự đồng thuận từ cộng đồng để đẩy mạnh. Những thay đổi của nó rất quan trọng và có thể ảnh hưởng rộng rãi đến hệ sinh thái trên chuỗi. Dựa trên một đánh giá ban đầu của Shisi Jun, đã xác định một số thách thức, nhưng những thách thức này cũng có thể đại diện cho cơ hội thị trường:

Mức độ tự do cao khiến việc kiểm toán trở nên khó khăn, khiến người dùng yêu cầu ví tiền đáng tin cậy hơn để đảm bảo bảo vệ an ninh.

Các thay đổi đối với kiến trúc ban đầu là đáng kể. Mặc dù có thể phân biệt được nhiều loại giao dịch khác nhau, nhiều cơ sở hạ tầng cơ bản, đặc biệt là các hợp đồng trên chuỗi không thay đổi, có thể không tương thích trực tiếp.

Trong khi EIP-7702 cung cấp khả năng hợp đồng cho địa chỉ EOA, không thể giữ lại không gian lưu trữ tương ứng.

Chi phí của từng giao dịch cá nhân cao hơn một chút do sự tăng đáng kể trong phần Calldata. Chi phí tổng ước lượng của một cuộc gọi sẽ là 16 (gas) 15 (bytes) = 240 (gas) cho chi phí calldata, cộng với chi phí của EIP-3860 là 2 15 = 30, và khoảng 150 cho chi phí chạy. Do đó, ngay cả việc chuẩn bị một tài khoản mà không có hoạt động nào cũng sẽ tăng chi phí gas khoảng 500.

“Nếu người nhận ký mã không có chức năng nhận, người gửi có thể đối mặt với tình trạng DoS khi cố gắng gửi tài sản.” Xem trường hợp này. Vấn đề này phát sinh khi EOA A ký một cái gì đó mà không nên—một tệp có thể chơi lại với việc triển khai không chính xác (thiếureceive().

Logic thống nhất và rút tiền trên chuỗi có thể không nhất quán. Ví dụ, khi chuyển tiền token ERC-20, nếu tài khoản người nhận có mã, hợp đồng token sẽ gọionERC20Receivedtrên tài khoản người nhận. Nếu onERC20Receivednếu trả về hoặc trả về một giá trị không chính xác, việc chuyển token sẽ bị hoàn lại.

Ngoài ra, nếu một EOA có thể phát ra sự kiện, có thể có bất kỳ vấn đề nào không? Một số cơ sở hạ tầng có thể cần chú ý đến điều này.

Đây chỉ là một số nhược điểm được tóm tắt bởi Shisi Jun dựa trên đề xuất EIP-7702 hiện tại và các cuộc thảo luận trên diễn đàn chính thức. Một phân tích hoàn chỉnh sẽ yêu cầu kiểm tra mã cài đặt cuối cùng.

5. Tóm tắt

Bài viết có vẻ dài, nhưng chỉ chứa khoảng 6.000 từ. Nhiều tham khảo đến các diễn giải EIP trong quá khứ được liên kết trong văn bản để khám phá thêm, vì vậy tôi sẽ không đào sâu vào những điều đó ở đây.

Hiện tại, dường như trừu tượng hóa tài khoản chỉ có thể được đặt trong module thứ sáu, đó là giai đoạn cuối cùng của việc sửa chữa mọi thứ trước khi đẩy nó đi. Sự tiến triển nhanh chóng của EIP-7702 chủ yếu mang đến thách thức cho an ninh hệ thống. Có thể dự đoán rằng nó sẽ cuối cùng được triển khai. Sau tất cả, việc hợp nhất Ethereum, liên quan đến một cuộc cải tổ lớn về thuật toán đồng thuận, đã xảy ra. Một loại giao dịch mới tương đối nhỏ so với điều đó.

Tuy nhiên, lần này những thay đổi khá là gây rối, phá vỡ nhiều quy tắc trước đây “bất khả thi” trên chuỗi và thay đổi logic của hầu hết DApps. Tuy nhiên, EIP-7702 mạnh mẽ nắm bắt điểm quan trọng nhất: nó giảm đáng kể chi phí người dùng. Ngược lại, EIP-4337 gần như tăng gấp đôi chi phí giao dịch.

Người dùng vẫn giữ địa chỉ EOA (Externally Owned Account) nhưng chỉ gọi và sử dụng logic CA (Contract Account) khi cần, giảm chi phí lưu trữ. Không cần chuyển đổi sang danh tính CA trên chuỗi trước khi thực hiện hành động, điều này có nghĩa là 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 cách sử dụng EOA của họ, chẳng hạn như kết hợp ủy quyền cho việc khấu trừ và thực hiện các khấu trừ. Điều này giảm chi phí giao dịch cho người dùng. Đối với DApps, đặc biệt là các dự án yêu cầu quản lý cấp doanh nghiệp trên chuỗi, chẳng hạn như các sàn giao dịch, tối ưu hóa này là cuộc cách mạng. Nếu việc hợp nhất theo lô được triển khai theo cách tự nhiên, chi phí vận hành cơ bản cho các sàn giao dịch có thể giảm đi hơn một nửa, từ đó cuối cùng cũng mang lại lợi ích cho người dùng.

Do đó, mặc dù EIP-7702 mang đến nhiều thay đổi, tác động của nó đối với chi phí một mình đã khiến cho việc nghiên cứu và điều chỉnh cho tất cả DApps trở nên đáng giá. Lần này, người dùng không thể phủ nhận ủng hộ EIP-7702.

Disclaimer:

  1. Bài viết này được sao chép từ [ PANews]. Tất cả bản quyền thuộc về tác giả gốc [Chúa tể thứ mười bốn]. Nếu có bất kỳ ý kiến phản đối nào về việc tái in này, vui lòng liên hệ Học cửađội ngũ, và họ sẽ xử lý ngay lập tức.
  2. Bản phủ nhận trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không hình thành bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi đội ngũ Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.

Một Phân Tích Sâu Sắc về Quá Khứ và Tương Lai của Ethereum Account Abstraction

Nâng cao9/12/2024, 1:51:56 AM
Bài viết sẽ bắt đầu với đề xuất Abstraction tài khoản (AA) đầu tiên từ năm 2015, tổ chức có hệ thống nội dung chính của các đề xuất EIP đến nay, sau đó so sánh phản hồi thị trường sau khi giới thiệu EIP-4337, và cuối cùng phân tích EIP-7702, dự kiến sẽ được bao gồm trong bản nâng cấp Ethereum tiếp theo.

Lời tựa

Bài viết được chia thành hai phần chính:

Trong phần đầu tiên, nó sẽ bắt đầu với đề xuất AA đầu tiên từ năm 2015, tổ chức hệ thống nội dung chính của các đề xuất EIP đến nay. Mục tiêu là khám phá sự phát triển lịch sử của các đề xuất AA và đánh giá toàn diện các điểm mạnh và điểm yếu của mỗi đề xuất.

Trong phần thứ hai, nó sẽ tập trung vào việc so sánh phản hồi thị trường sau khi giới thiệu EIP-4337 và sau đó đào sâu vào phân tích EIP-7702, dự kiến sẽ được bao gồm trong bản nâng cấp Ethereum tiếp theo. Đề xuất này, khi được hợp nhất, dự kiến sẽ biến đổi một cách đáng kể bản chất của các ứng dụng trên chuỗi.

EIP-7702 hứa hẹn những thay đổi cách mạng, và chúng tôi sẽ thảo luận nó chi tiết.

1. Nền tảng của Sự trừu tượng hóa tài khoản

1.1 Ý nghĩa của sự trừu tượng tài khoản

Vào cuối năm 2023, nhà sáng lập Ethereum Vitalik Buterin đã cập nhật lại lộ trình phát triển ETH một lần nữa. Tuy nhiên, các quy định liên quan đến Account Abstraction vẫn không thay đổi. Mô hình phổ biến hiện tại tiếp tục phát triển từ EIP-4337 đến giai đoạn tiếp theo: Chuyển đổi EOA tự nguyện (chuyển đổi tự khởi tạo của tài khoản EOA).


https://x.com/VitalikButerin/status/1741190491578810445

Kể từ khi EIP-4337 được phát hành hơn một năm trước (vào ngày 1 tháng 3 năm 2023, tại WalletCon ở Denver, các nhà phát triển của Ethereum Foundation đã công bố rằng các hợp đồng core của ERC-4337 đã vượt qua cuộc kiểm tra của OpenZeppelin, đánh dấu một cột mốc lịch sử cho việc ra mắt chính thức), nó đã nhận được sự công nhận rộng rãi từ người dùng nhưng chưa thấy sự áp dụng rộng rãi. Môi trường thị trường nghịch lý này đã tăng tốc tiến độ của EIP-7702, được xác nhận sẽ được bao gồm trong bản nâng cấp tiếp theo.

1.2 Tình trạng thị trường hiện tại của sự trừu tượng tài khoản

Không cần thêm lời, hãy xem dữ liệu.

Sau một năm rưỡi phát triển, EIP-4337 chỉ có 12 triệu địa chỉ dưới tài khoản chuỗi chính phổ biến. Điều đáng ngạc nhiên là trên mainnet Ethereum, chỉ có 6.764 địa chỉ hoạt động. Mặc dù có thể có vấn đề với kích thước thống kê, số lượng này vẫn rất khác biệt so với số lượng địa chỉ cho EOAs và CAs. Ví dụ, số lượng địa chỉ duy nhất trên mainnet Ethereum đã đạt 270 triệu (nguồn: https://etherscan.io/chart/address).

Có thể nói rằng EIP-4337 không đạt được tiến triển đáng kể trên mainnet.


(Nguồn biểu đồ: https://dune.com/niftytable/account-abstraction)

Tuy nhiên, điều này không làm giảm giá trị bẩm sinh của Account Abstraction (AA). Ngay từ đầu, việc thiết kế của EIP-4337 đã định sẵn sẽ phải đối mặt với các vấn đề tương thích ngược trên mainnet. Do đó, với nhiều chuỗi Layer 2 tích hợp AA bản địa, EIP-4337 đã thấy sự tăng trưởng đáng kể về số địa chỉ trên Layer 2. Ví dụ, vào tháng 7, số người dùng hoạt động trên các chuỗi Base và Polygon lần lượt đạt 1 triệu và 3 triệu, điều này khá ấn tượng.

Do đó, không phải là thiết kế của EIP-4337 bị lỗi; nó có nhiều ưu điểm mà chúng tôi sẽ tổng hợp một cách có hệ thống. Tình hình hiện tại phát sinh từ sự khác biệt giữa mainnet và Layer 2, mỗi cái đều đòi hỏi các giải pháp cá nhân hóa.

2. Account Abstraction là gì?

Account Abstraction có vẻ phức tạp, nhưng về cơ bản nó giải quyết vấn đề phân tách sở hữu.

Trong kiến trúc Máy ảo Ethereum (EVM), có hai loại tài khoản: Tài khoản Sở hữu Bên ngoài (EOAs) và Tài khoản Hợp đồng. Trong EOAs, quyền sở hữu và quyền ký tên được giữ bởi cùng một thực thể. Người sở hữu khóa riêng không chỉ sở hữu tài khoản mà còn có quyền ký và chuyển nhượng tất cả tài sản của nó.

Thiết lập này được xác định bởi cấu trúc giao dịch tài khoản Ethereum. Trong một giao dịch Ethereum tiêu chuẩn, không có địa chỉ 'Từ' trực tiếp nào được hiển thị. Khi một giao dịch quỹ xảy ra, địa chỉ thực sự từ đó quỹ được chi tiêu được suy luận thông qua các tham số VRS (tức là chữ ký của người dùng).

Việc này liên quan đến các khái niệm như mã hóa không đối xứng ECDSA và các hàm ngưỡng một chiều, nhưng chúng tôi sẽ không đào sâu vào những chi tiết đó ở đây. Đơn giản, mật mã đảm bảo an ninh, dẫn đến tình hình hiện tại nơi quyền sở hữu và quyền ký tên được kết hợp trong EOAs.

Hiệu ứng cốt lõi của EIP-4337 là thêm một trường Địa chỉ Người gửi vào giao dịch, cho phép phân tách khóa bí mật và địa chỉ hoạt động.

Vì sao việc phân chia sở hữu lại quan trọng như vậy?

Vì thiết kế của Tài khoản Sở hữu Bên ngoài (EOAs) dẫn đến một số vấn đề:

Bảo vệ Khóa Riêng: Mất khóa riêng (do mất, bị hack, hoặc bị đe dọa mật mã) có nghĩa là mất tất cả tài sản.

Các thuật toán chữ ký hạn chế**: Giao thức bản địa chỉ hỗ trợ ECDSA cho việc ký và xác minh.

Cơ quan Chữ ký Cao: Mà không có sự hỗ trợ đa chữ ký bản địa (chỉ có thể đạt được thông qua hợp đồng thông minh), một chữ ký duy nhất có thể thực hiện bất kỳ hoạt động nào.

Phí giao dịch: Phí chỉ có thể được thanh toán bằng ETH, không hỗ trợ một lượng giao dịch lớn.

Quyền riêng tư giao dịch: Giao dịch một cách một-đến-một làm cho việc phân tích thông tin cá nhân của chủ tài khoản trở nên dễ dàng.

Những ràng buộc này khiến việc sử dụng Ethereum trở nên khó khăn đối với người dùng bình thường:

Để sử dụng bất kỳ ứng dụng nào trên Ethereum, người dùng phải nắm giữ ETH (và chịu đựng rủi ro dao động giá ETH).

Người dùng cần xử lý logic phí phức tạp, như giá gas, giới hạn gas, và chặn giao dịch (thứ tự nonce), điều này có thể quá phức tạp.

Mặc dù nhiều ví blockchain hoặc ứng dụng cố gắng cải thiện trải nghiệm người dùng thông qua tối ưu hóa sản phẩm, nhưng hiệu quả của họ đã bị hạn chế.

Giải pháp nằm ở việc triển khai Quỹ đạo Tài khoản, giải phóng quyền sở hữu (Chủ sở hữu) và quyền ký (Ký giả) để giải quyết những vấn đề này. Lịch sử đã chứng minh nhiều giải pháp đã nảy sinh, cuối cùng hội tụ vào hai phương pháp chính.

3. Tổng quan lịch sử về các đề xuất về trừu tượng hóa tài khoản

Mặc dù có vẻ như có nhiều đề xuất EIP đang giải quyết vấn đề, nhưng về cơ bản, chỉ có hai phương pháp cốt lõi. Các vấn đề được xem xét trong các đề xuất trước đó không được chấp thuận đã cuối cùng hội tụ vào các giải pháp hiện tại.

3.1 Con đường đầu tiên là chuyển địa chỉ EOA thành địa chỉ CA

Vào ngày 15 tháng 11 năm 2015, Vitalik Buterin đề xuất một cấu trúc tài khoản mới xung quanh EIP-101, liên quan đến việc sử dụng hợp đồng như là tài khoản. Điều này sẽ biến địa chỉ thành các thực thể chỉ chứa mã và không gian lưu trữ, thay đổi hỗ trợ phí để được thanh toán thông qua các mã ERC20 và sử dụng hợp đồng được biên soạn trước để chuyển đổi các mã nguồn thành các mã tương tự ERC20 cho việc lưu trữ số dư (với các tính năng như ủy quyền ủy quyền). Các trường giao dịch được đơn giản hóa chỉ bao gồm to, startgas, dữ liệu và mã)

Nhìn lại, đây là một sự thay đổi cách mạng sẽ thay đổi một cách đáng kể thiết kế cơ bản, cung cấp mỗi địa chỉ tài khoản có logic 'mã' riêng, đó chính là mục tiêu cốt lõi mà EIP-7702 đang nhắm đến ngày hôm nay. Cách tiếp cận này cũng có thể cho phép các tính năng bổ sung, chẳng hạn như:

Cho phép giao dịch sử dụng nhiều thuật toán mã hóa được xác định bởi mã nội bộ của một địa chỉ để xác minh và xác thực.

Cung cấp sự chống chọi với lượng tử do tính năng có thể nâng cấp của mã nguồn.

Trang bị Ether với các đặc điểm chức năng giống như hợp đồng ERC20, với tính năng như ủy quyền được ủy thác, loại bỏ nhu cầu tiêu tốn đồng coin native.

Tăng cường tùy chỉnh tài khoản, hỗ trợ khôi phục xã hội, SBT (mã thông báo linh hồn) và khôi phục khóa.

Lý do không tiến xa với đề xuất này rất đơn giản: các bước quá quả quyết. Các vấn đề như va chạm băm giao dịch và lo ngại về bảo mật chưa được giải quyết đầy đủ, điều này dẫn đến việc hoãn lại. Tuy nhiên, nhiều lợi ích của nó đã trở thành các tính năng cốt lõi trong các EIP tiếp theo, bao gồm EIP-4337 và EIP-7702.

Sau đó, một số EIP cố gắng làm sáng tỏ logic này:

EIP-859: Tính Chất Tài Khoản Trên Mainnet (30 tháng 1 năm 2018) nhằm giải quyết vấn đề triển khai mã. Chức năng cốt lõi của nó là sử dụng tham số kèm theo giao dịch để triển khai ví hợp đồng nếu hợp đồng không được triển khai. Nó cũng giới thiệu một opcode PAYGAS mới để tách các phần xác minh và thực hiện của một giao dịch.

Mặc dù không tiến triển vào thời điểm đó, logic này đã trở thành một phần cốt lõi của EIP-7702, cho phép địa chỉ EOA có khả năng hợp đồng thông qua cấu trúc giao dịch đặc biệt có thể bao gồm mã.

EIP-7702: Thiết lập Mã Tài khoản EOA (7 tháng 5 năm 2024) là yếu tố quan trọng của EIP được thảo luận ở đây. Vitalik đề xuất EIP-7702 như một phương án thay thế cho EIP-3074. Do đó, EIP-3074 đã bị bỏ rơi và EIP-7702 được thiết lập để được bao gồm trong hard fork ETH Prague/Electra (Pectra) sắp tới. Thêm chi tiết sẽ được thảo luận dưới đây.

3.2 Phương pháp thứ hai là để địa chỉ EOA điều khiển địa chỉ CA.

EIP-3074: Thêm các mã lệnh AUTH và AUTHCALL (15 tháng 10 năm 2020)

EIP này giới thiệu hai mã opcode mới, AUTH và AUTHCALL, vào EVM, cho phép EOAs ủy quyền cho hợp đồng thay thế danh tính của họ và gọi các hợp đồng khác. Đơn giản, một EOA có thể gửi một tin nhắn được ký (giao dịch) đến một hợp đồng đáng tin cậy (gọi là Invoker). Hợp đồng Invoker sau đó có thể sử dụng các mã opcode AUTH và AUTHCALL để gửi giao dịch thay mặt cho EOA.

EIP-4337: Thực hiện trừu tượng hóa tài khoản thông qua Hồ bơi giao dịch (29 tháng 9 năm 2021)

Lấy cảm hứng từ MEV, giá trị cốt lõi của EIP này là tránh thay đổi trong giao thức lớp đồng thuận. EIP-4337 giới thiệu một đối tượng giao dịch mới, UserOperation, mà người dùng gửi đến bể nhớ. Bundlers sau đó tập hợp và gửi các giao dịch này đến việc thực thi hợp đồng, hiệu quả chuyển các hoạt động giao dịch và tài khoản ở mức độ thấp hơn lên lớp hợp đồng.

EIP-5189: Hoạt động tài khoản trừu tượng qua Người bảo trợ (29 tháng 6 năm 2022)

EIP này tối ưu hóa EIP-4337 bằng cách giải quyết các vấn đề tiềm ẩn với các bundlers độc hại. Nó giới thiệu cơ chế cho các quỹ được bảo trợ bởi người chứng thực để ngăn chặn các cuộc tấn công DoS bằng cách phạt những bên tồi tệ.

3.3 Các Đề Xuất Khác Hỗ Trợ Abstraction Tài Khoản

EIP-2718: Bao Bì Loại Giao Dịch Mới (13 tháng 6 năm 2020)

Đề xuất cuối cùng này xác định một loại giao dịch mới như một phong bì cho các loại giao dịch trong tương lai. Điều này đảm bảo rằng khi các loại giao dịch mới được giới thiệu, chúng có thể được phân biệt bằng cách mã hóa cụ thể, duy trì tính tương thích ngược với các loại cũ mà không ảnh hưởng đến các loại cũ. Một ví dụ phổ biến là EIP-1559, đã phân biệt phí giao dịch bằng cách mã hóa loại giao dịch mới trong khi bảo tồn các loại cũ.

EIP-3607: Ngăn chặn địa chỉ EOA triển khai hợp đồng (10 tháng 6 năm 2021)

Đề xuất bổ sung này giải quyết vấn đề địa chỉ triển khai hợp đồng xung đột với địa chỉ EOA. Nó kiểm soát các phương pháp tạo hợp đồng, ngăn chặn mã từ được triển khai đến các địa chỉ đã được sử dụng bởi các EOA. Rủi ro là tối thiểu do độ dài 160 bit của địa chỉ Ethereum, mặc dù lý thuyết có thể thông qua va chạm khóa, điều này sẽ đòi hỏi nỗ lực tính toán đáng kể.

3.4 Hiểu về Sự phát triển của Trừu tượng Tài khoản

Để hiểu giá trị của việc chuyển đổi sang địa chỉ CA, việc nắm bắt hiệu ứng thực tế của EIP-4337 là rất quan trọng, điều này có thể đạt được...

Tuy nhiên, điểm yếu chính của EIP-4337 là vi phạm nguyên tắc khuyến khích con người. Mặc dù có vẻ như mang lại cải tiến, nhưng nó rơi vào tình trạng bế tắc phát triển thị trường. Nhiều Dapps vẫn chưa tương thích với nó, khiến người dùng do dự khi sử dụng địa chỉ CA. Ngoài ra, việc sử dụng CA có thể dẫn đến chi phí giao dịch cao hơn (ví dụ, phí giao dịch có thể tăng gấp đôi trong các kịch bản chuyển giao thông thường), khiến nó phụ thuộc nặng vào tính tương thích của Dapps.

Kết quả là, cho đến nay nó vẫn chưa trở nên phổ biến trên mạng chính Ethereum. Chi phí là yếu tố quan trọng nhất đối với người dùng, và nó phải được giảm bớt. Để thực sự giảm chi phí GAS, Ethereum chính nó sẽ cần một bản nâng cấp soft fork để sửa đổi các phép tính GAS hoặc thay đổi việc tiêu thụ GAS của các opcode. Với nhu cầu của một soft fork, tại sao không xem xét trực tiếp EIP-7702?

4. Phân tích toàn diện về EIP-7702

4.1 Đó là EIP-7702 là gì

Nó được phân biệt bởi các loại giao dịch mới, cho phép EOA tạm thời có chức năng của một hợp đồng thông minh trong một giao dịch duy nhất, từ đó hỗ trợ giao dịch hàng loạt, giao dịch không tốn phí 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ột OpCode EVM mới (Ảnh hưởng đến tính tương thích về phía trước).

Nó cho phép người dùng có được hầu hết các khả năng của AA mà không cần triển khai hợp đồng thông minh, và thậm chí có thể cung cấp cho bên thứ ba khả năng khởi tạo giao dịch thay mặt người dùng. Nó không yêu cầu người dùng cung cấp khóa riêng tư, nhưng chỉ cần ký thông tin được ủy quyền.

4.2 Cấu trúc dữ liệu

Anh ấy đã xác định một loại giao dịch mới 0x04. TransactionPayload của loại giao dịch này là kết quả mã hóa RLP của nội dung sau

rlp([

chain_id, //Chain ID, được sử dụng để ngăn chặn các cuộc tấn công phát lại.

nonce, // Bộ đếm giao dịch để đảm bảo tính duy nhất của giao dịch.

max_priority_fee_per_gas, //1559 transaction fee

max_fee_per_gas, //1559 phí giao dịch

gas_limit,

đích đến, //Địa chỉ đích của giao dịch

giá trị,

dữ liệu,

access_list, //Danh sách truy cập, được sử dụng để tối ưu hóa Gas trong EIP-2929.

danh_sách_ủy_quyền,

signature_y_parity, // 3 signature parameters, used to verify transaction signature.

signature_r,

chữ ký_s

]

Điều quan trọng là đối tượng authorization_list được thêm vào để lưu trữ mã mà người ký muốn thực hiện trong EOA của mình. Khi người dùng ký giao dịch, anh ta cũng ký mã hợp đồng sẽ được thực hiện. Nó tồn tại dưới dạng một danh sách hai chiều, cho thấy rằng nhiều thông tin về hoạt động có thể được lưu trữ theo lô, thực hiện các hoạt động theo lô.

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 minh

Khi bắt đầu giai đoạn thực thi giao dịch, đối với mỗi [chain_id, address, nonce, y_parity, r, s]tuple in theauthorization_list:

Sử dụng ecrecoverchức năng để khôi phục địa chỉ của người ký từ chữ ký(r, s)Lưu ý rằng điều này sử dụng cơ chế hiện tại của Ethereum, vì vậy thuật toán chữ ký vẫn không thay đổi bởi EIP này. Địa chỉ được khôi phục bằng cách sử dụng:authority = ecrecover(keccak(MAGIC || rlp([chain_id, address, nonce])), y_parity, r, s). Điều này tương tự như cách màtừĐịa chỉ được xuất phát từ chữ ký, nhưng nó áp dụng cho danh sách chữ ký cụ thể.

Xác minh ID chuỗi để ngăn chặn các cuộc tấn công phát lại trên các chuỗi khác nhau.

Kiểm tra nếuuy quyềnMã của người ký đang trống hoặc được ủy quyền (để xác nhận xem giao dịch có phải là giao dịch EIP-7702 hợp lệ, với cơ chế ủy quyền xử lý thực thi).

Xác minh cơ quannonce của người ký để ngăn chặn các cuộc tấn công phát lại trên chữ ký.

Đặt cơ quanmã của người ký 0xef0100 || địa chỉ (để bypass các chiến lược ngăn chặn va chạm EIP-3607).

Tăng lên cơ quansố không lặp lại của người ký (để ngăn chặn việc lặp lại chữ ký cục bộ).

Thêm vào quyền lựctài khoản của người ký vào danh sách truy cập (để chuyển sang lưu trữ nóng, giảm chi phí gas cho việc truy cập).

4.3.2 Độ sâu thực thi

Mã hợp đồng và hướng dẫn vận hành được thực thi ở đâu?

Phiên bản “mới” thay đổi cách mã hợp đồng được triển khai. Thay vì thiết lập mã tài khoản trực tiếp, nó truy xuất mã từ authorization_listđịa chỉ và đặt nó làm mã tài khoản.

Khi thực thi mã được ủy quyền, tải mã từ địa chỉ được chỉ định trong danh_sách_xác_thựcvà thực thi nó trong ngữ cảnh của tài khoản của người ký. Điều này có nghĩa là mã hợp đồng của người dùng được lưu trữ tại một địa chỉ cụ thể trên blockchain, thay vì được bao gồm trực tiếp trong giao dịch.

Hướng dẫn vận hành và các tham số liên quan được lưu trữ trong dữ liệulĩnh vực của dữ liệu giao dịch.

4.4 Giá trị của EIP-7702 là gì?

EIP-7702 giới thiệu giá trị quan trọng khi nó thay đổi mật độ toàn bộ quá trình giao dịch cho ví Web3, dẫn đến sự biến đổi mạnh mẽ trong trải nghiệm người dùng. Các giao dịch thông thường được khởi xướng bởi một EOA (Tài khoản Sở hữu Bên ngoài) hiện có thể thực hiện nhiều logic tương tự như việc thực thi hợp đồng thông minh, chẳng hạn như chuyển gói. Điều này cũng ảnh hưởng đến các kịch bản CeFi, ảnh hưởng đến việc xác định giao dịch và phí cho việc rút và tập trung.

EIP-7702 phá vỡ nhiều giả định lâu đời: Nó phá vỡ điều không biến của việc số dư tài khoản chỉ có thể giảm do các giao dịch bắt nguồn từ tài khoản đó. Nó phá vỡ điều không biến rằng EOA nonce tăng lên 1 sau khi thực hiện một giao dịch bắt đầu (nó có thể tăng lên đồng thời bởi nhiều giá trị). Nó phá vỡ logic bảo vệ dựa vào việc so sánhtx.originmsg.sender, giới thiệu các rủi ro tiềm ẩn đối với nhiều hợp đồng hiện có. Điều này cũng làm đứt quãng việc một EOA chính nó không thể phát ra sự kiện, điều này có thể ảnh hưởng đến việc xác định và giám sát một số sự kiện trên chuỗi. Cuối cùng, nó làm đứt quãng giả định rằng địa chỉ EOA sẽ luôn nhận được ERC20, 721, 1155 và các tài sản khác thành công (do cơ chế gọi lại có thể gây lỗi).

4.5 So sánh giữa EIP-7702 và EIP-4337

1.Ưu điểm của EIP-7702

EIP-7702 có một số lợi ích. Một trong số đó là chi phí gas thấp hơn, vì nó không yêu cầu thông qua mô-đun điểm nhập, giảm số lượt thao tác trên chuỗi. Một lợi ích khác là chi phí di cư người dùng thấp hơn, vì không cần triển khai hợp đồng trên chuỗi như thực thể chính trước.

So với EIP-4337, EIP-7702 cũng hỗ trợ thực thi mã ủy quyền và cung cấp hai loại ủy quyền:

Toàn bộ ủy quyền: Điều này có nghĩa là ủy quyền toàn bộ quyền kiểm soát của một hoạt động cụ thể cho một địa chỉ cụ thể. Ví dụ, người dùng có thể ủy quyền quản lý tất cả các token ERC-20 cho một địa chỉ hợp đồng thông minh, cho phép hợp đồng thực hiện tất cả các hoạt động liên quan thay mặt cho người dùng.

Ủy quyền Bảo vệ: Điều này liên quan đến việc thêm các hạn chế và biện pháp bảo vệ trong quá trình ủy quyền để đảm bảo an toàn và khả năng kiểm soát của các hoạt động được ủy quyền. Ví dụ, người dùng có thể ủy quyền chỉ quyền quản lý một phần của các token ERC-20 cho một hợp đồng thông minh hoặc đặt điều kiện (ví dụ, chi tiêu tối đa 1% của tổng số dư mỗi ngày).

2. Nhược điểm của EIP-7702

Một nhược điểm chính của EIP-7702 là nó liên quan đến một bản nâng cấp soft fork, yêu cầu sự đồng thuận từ cộng đồng để đẩy mạnh. Những thay đổi của nó rất quan trọng và có thể ảnh hưởng rộng rãi đến hệ sinh thái trên chuỗi. Dựa trên một đánh giá ban đầu của Shisi Jun, đã xác định một số thách thức, nhưng những thách thức này cũng có thể đại diện cho cơ hội thị trường:

Mức độ tự do cao khiến việc kiểm toán trở nên khó khăn, khiến người dùng yêu cầu ví tiền đáng tin cậy hơn để đảm bảo bảo vệ an ninh.

Các thay đổi đối với kiến trúc ban đầu là đáng kể. Mặc dù có thể phân biệt được nhiều loại giao dịch khác nhau, nhiều cơ sở hạ tầng cơ bản, đặc biệt là các hợp đồng trên chuỗi không thay đổi, có thể không tương thích trực tiếp.

Trong khi EIP-7702 cung cấp khả năng hợp đồng cho địa chỉ EOA, không thể giữ lại không gian lưu trữ tương ứng.

Chi phí của từng giao dịch cá nhân cao hơn một chút do sự tăng đáng kể trong phần Calldata. Chi phí tổng ước lượng của một cuộc gọi sẽ là 16 (gas) 15 (bytes) = 240 (gas) cho chi phí calldata, cộng với chi phí của EIP-3860 là 2 15 = 30, và khoảng 150 cho chi phí chạy. Do đó, ngay cả việc chuẩn bị một tài khoản mà không có hoạt động nào cũng sẽ tăng chi phí gas khoảng 500.

“Nếu người nhận ký mã không có chức năng nhận, người gửi có thể đối mặt với tình trạng DoS khi cố gắng gửi tài sản.” Xem trường hợp này. Vấn đề này phát sinh khi EOA A ký một cái gì đó mà không nên—một tệp có thể chơi lại với việc triển khai không chính xác (thiếureceive().

Logic thống nhất và rút tiền trên chuỗi có thể không nhất quán. Ví dụ, khi chuyển tiền token ERC-20, nếu tài khoản người nhận có mã, hợp đồng token sẽ gọionERC20Receivedtrên tài khoản người nhận. Nếu onERC20Receivednếu trả về hoặc trả về một giá trị không chính xác, việc chuyển token sẽ bị hoàn lại.

Ngoài ra, nếu một EOA có thể phát ra sự kiện, có thể có bất kỳ vấn đề nào không? Một số cơ sở hạ tầng có thể cần chú ý đến điều này.

Đây chỉ là một số nhược điểm được tóm tắt bởi Shisi Jun dựa trên đề xuất EIP-7702 hiện tại và các cuộc thảo luận trên diễn đàn chính thức. Một phân tích hoàn chỉnh sẽ yêu cầu kiểm tra mã cài đặt cuối cùng.

5. Tóm tắt

Bài viết có vẻ dài, nhưng chỉ chứa khoảng 6.000 từ. Nhiều tham khảo đến các diễn giải EIP trong quá khứ được liên kết trong văn bản để khám phá thêm, vì vậy tôi sẽ không đào sâu vào những điều đó ở đây.

Hiện tại, dường như trừu tượng hóa tài khoản chỉ có thể được đặt trong module thứ sáu, đó là giai đoạn cuối cùng của việc sửa chữa mọi thứ trước khi đẩy nó đi. Sự tiến triển nhanh chóng của EIP-7702 chủ yếu mang đến thách thức cho an ninh hệ thống. Có thể dự đoán rằng nó sẽ cuối cùng được triển khai. Sau tất cả, việc hợp nhất Ethereum, liên quan đến một cuộc cải tổ lớn về thuật toán đồng thuận, đã xảy ra. Một loại giao dịch mới tương đối nhỏ so với điều đó.

Tuy nhiên, lần này những thay đổi khá là gây rối, phá vỡ nhiều quy tắc trước đây “bất khả thi” trên chuỗi và thay đổi logic của hầu hết DApps. Tuy nhiên, EIP-7702 mạnh mẽ nắm bắt điểm quan trọng nhất: nó giảm đáng kể chi phí người dùng. Ngược lại, EIP-4337 gần như tăng gấp đôi chi phí giao dịch.

Người dùng vẫn giữ địa chỉ EOA (Externally Owned Account) nhưng chỉ gọi và sử dụng logic CA (Contract Account) khi cần, giảm chi phí lưu trữ. Không cần chuyển đổi sang danh tính CA trên chuỗi trước khi thực hiện hành động, điều này có nghĩa là 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 cách sử dụng EOA của họ, chẳng hạn như kết hợp ủy quyền cho việc khấu trừ và thực hiện các khấu trừ. Điều này giảm chi phí giao dịch cho người dùng. Đối với DApps, đặc biệt là các dự án yêu cầu quản lý cấp doanh nghiệp trên chuỗi, chẳng hạn như các sàn giao dịch, tối ưu hóa này là cuộc cách mạng. Nếu việc hợp nhất theo lô được triển khai theo cách tự nhiên, chi phí vận hành cơ bản cho các sàn giao dịch có thể giảm đi hơn một nửa, từ đó cuối cùng cũng mang lại lợi ích cho người dùng.

Do đó, mặc dù EIP-7702 mang đến nhiều thay đổi, tác động của nó đối với chi phí một mình đã khiến cho việc nghiên cứu và điều chỉnh cho tất cả DApps trở nên đáng giá. Lần này, người dùng không thể phủ nhận ủng hộ EIP-7702.

Disclaimer:

  1. Bài viết này được sao chép từ [ PANews]. Tất cả bản quyền thuộc về tác giả gốc [Chúa tể thứ mười bốn]. Nếu có bất kỳ ý kiến phản đối nào về việc tái in này, vui lòng liên hệ Học cửađội ngũ, và họ sẽ xử lý ngay lập tức.
  2. Bản phủ nhận trách nhiệm: Các quan điểm và ý kiến được thể hiện trong bài viết này chỉ thuộc về tác giả và không hình thành bất kỳ lời khuyên đầu tư nào.
  3. Các bản dịch của bài viết sang các ngôn ngữ khác được thực hiện bởi đội ngũ Gate Learn. Trừ khi được đề cập, việc sao chép, phân phối hoặc đạo văn các bài viết dịch là không được phép.
Розпочати зараз
Зареєструйтеся та отримайте ваучер на
$100
!