

Tác giả gốc: Madoka Kame,IOBC Capital
Thực tế có hai loại tài khoản trong hệ thống Ethereum:
Một được kiểm soát bởi một khóa riêngtài khoản bên ngoài(tài khoản thuộc sở hữu bên ngoài, EOA), chẳng hạn như tài khoản trong ví chúng tôi sử dụng, loại tài khoản này có số dư riêng. Chủ sở hữu có thể gửi tin nhắn từ tài khoản bên ngoài của họ bằng cách tạo và ký một giao dịch;
Cái còn lại là tài khoản hợp đồng được kiểm soát bởi mã được triển khai trên chuỗi khối, được kiểm soát bởi mã máy ảo Ethereum được lưu trữ trong tài khoản hợp đồng thông minh (đôi khi được gọi là ví thông minh). Khi tài khoản hợp đồng nhận được thông tin, mã nội bộ của tài khoản đó sẽ được kích hoạt, cho phép tài khoản đó đọc và ghi bộ nhớ trong, tạo hợp đồng mới, v.v.
tiêu đề cấp đầu tiên
Tóm tắt tài khoản là gì?
Tính trừu tượng của tài khoản là một cải tiến đối với hai tài khoản trên, cố gắng làm mờ ranh giới giữa hai tài khoản và trở thành một tài khoản có mục đích chung với logic phức tạp.Cho phép tài khoản có đồng thời chức năng của tài khoản hợp đồng và tài khoản bên ngoài.
tiêu đề cấp đầu tiên
Các kế hoạch trừu tượng hóa tài khoản khác nhau
Tầm nhìn của cộng đồng nhà phát triển Ethereum luôn là đạt được sự trừu tượng hóa tài khoản. Cộng đồng cũng đã đề xuất các đề xuất khác nhau, chẳng hạn như:EIP-86,EIP-2938Chờ đợi.
EIP-86 là sự chuẩn bị kỹ thuật cho việc trừu tượng hóa tài khoản, định nghĩa một loại tài khoản mới cho phép người dùng tạo tài khoản dựa trên hợp đồng thông minh.
Bản thân giao thức Ethereum yêu cầu mọi thứ phải được đóng gói thành một giao dịch bắt nguồn từ tài khoản bên ngoài được bảo mật bởi ECDSA (EOA) và mọi hành động của người dùng cần được bao bọc bởi một giao dịch từ EOA, giao dịch này phát sinh chi phí 21.000 gas. Người dùng cần sở hữu ETH trong một EOA riêng để thanh toán gas.
Sự trừu tượng hóa tài khoản do EIP-86 đề xuất mang đến các loại giao dịch mới không có người gửi so với các giao dịch truyền thống phải có EOA làm người gửi. Các giao dịch như vậy phá hủy tính duy nhất của hàm băm giao dịch. EIP-86 ban đầu được lên kế hoạch nâng cấp trong giai đoạn Metropolis, nhưng do các vấn đề nêu trên, các nhà phát triển đã quyết định hoãn việc giới thiệu ở Metropolis.
EIP-2938 cung cấp giải pháp trừu tượng hóa tài khoản Bằng cách thay đổi một phần giao thức Ethereum, tài khoản hợp đồng có thể bắt đầu giao dịch giống như tài khoản bên ngoài. Tuy nhiên, vì giải pháp này yêu cầu thay đổi giao thức Ethereum ở lớp đồng thuận nên nó đã không được chấp nhận rộng rãi.
giao thức mớiERC-4337tiêu đề cấp đầu tiên
ERC-4337 được triển khai như thế nào?
ERC-4337 không cố gắng sửa đổi sự đồng thuận của giao thức, nhưng sao chép chức năng của mempool trong hệ thống.
Người dùng gửi một đối tượng UserOperation (UserOperation), chứa mục đích, chữ ký và dữ liệu khác của người dùng. Có một mempool riêng cho các hành động của người dùng và các nút được kết nối với nhóm này thực hiện xác thực dành riêng cho ERC-4337 để lọc các hành động nhằm đảm bảo chúng chỉ nhận được các hành động trả phí.
Các hành động của người dùng này được thu thập theo đợt bởi thợ mỏ hoặc nhà đóng gói bằng dịch vụ Flashbots và được đóng gói thànhGiao dịch gói đơn, và được bao gồm trong khối Ethereum.Các nhà đóng gói trả phí gas cho các giao dịch được đóng gói trong Ethereumvà được đền bù cho số tiền mà mỗi UserOperation riêng lẻ trả. Trình đóng gói sẽ sử dụng logic ưu tiên chi phí để chọn bao gồm các đối tượng UserOperation nào.
Thao tác người dùng UserOperation trông giống như một giao dịch, nhưng nó là cấu trúc được mã hóa ABI, bao gồm các trường sau:
1. Người gửi: ví thực hiện thao tác;
2. nonce và signature: các tham số được truyền cho chức năng xác minh ví để ví có thể xác minh hoạt động;
3. initCode: Nếu ví chưa tồn tại, mã khởi tạo được sử dụng để tạo ví;
4. callData: dữ liệu được sử dụng để gọi ví trong các bước thực thi thực tế.
Và mỗi ví là một hợp đồng thông minh, phải bao gồm hai chức năng chức năng:
1. validateUserOp, chấp nhận UserOperation làm đầu vào. Chức năng này sẽ xác minh chữ ký và nonce trong UserOperation, thanh toán phí và tăng nonce nếu xác minh thành công và đưa ra một ngoại lệ nếu xác minh không thành công;
tiêu đề cấp đầu tiên
Những thay đổi do ERC-4337 mang lại
Nếu đề xuất được thông qua rộng rãi,Xác minh chữ ký được chuyển sang Máy ảo Ethereum (EVM), hàm validateUserOp thêm logic xác minh chữ ký và số ngẫu nhiên tùy ý, giúp logic xác minh linh hoạt hơn.
Bằng cách này, các công cụ mật mã mới có thể được sử dụng khi ký giao dịch và ví cũng có thể cung cấp một số chức năng mới, chẳng hạn như:
đa chữ ký;
phục hồi xã hội;
Các thuật toán chữ ký hiệu quả hơn và đơn giản hơn (chẳng hạn như Schnorr, BLS);
Các thuật toán chữ ký an toàn sau lượng tử (ví dụ: Lamport, Winternitz);
Ví có thể nâng cấp.
Cách tiếp cận này cũng mở ra nhiều cách quản lý cấp phép giao dịch khác, chẳng hạn như cho phép giao dịch thanh toán phí gas thông qua hợp đồng thông minh.
Hiện tại, phí gas cho các ví bên ngoài để tương tác trên Ethereum chỉ có thể được thanh toán bằng ETH trong ví, nếu bạn chỉ có mã thông báo ERC-20 trong ví mà không có ETH, bạn sẽ không có cách nào để chuyển các mã thông báo này ra ngoài. Khi ERC-4337 được thông qua, người dùng có thể sử dụng mã thông báo ERC-20 trong tài khoản để thanh toán phí và nút khai thác sử dụng hợp đồng làm trung gian để thanh toán cho chuỗi ETH và nhận mã thông báo ERC-20 của người dùng.
Sau khi sự trừu tượng được thực hiện,Việc có một giao dịch được ký và phát bởi chủ sở hữu tài khoản bên ngoài sẽ không còn là cách duy nhất để bắt đầu giao dịch.Điều này sẽ mở ra khả năng Ethereum hoạt động như một công cụ chuyển tiếp cho các giao dịch meta. Nhiều ứng dụng hiện tại trên Ethereum dựa vào các bộ chuyển tiếp để xuất bản các giao dịch của người dùng trên chuỗi khối và trả phí cho các bộ chuyển tiếp. Nếu các hợp đồng phức tạp hơn có thể được tích hợp vào ví, một số người chuyển tiếp sẽ không còn cần thiết nữa và không cần phải trả thêm phí cho họ.
Tuy có nhiều ưu điểm nhưng đề án mới cũng gặp một số vấn đề.
Điểm nổi bật nhất là chi phí gas cao hơn, các hoạt động cơ bản của ERC-4337 cần khoảng 42.000 gas, trong khi các giao dịch thông thường cần 21.000 gas, lý do là:
1. Bạn cần phải trả nhiều chi phí đọc/ghi bộ nhớ riêng lẻ. Trong trường hợp EOA, những chi phí này sẽ được gộp thành một khoản thanh toán duy nhất là 21000 gas:
(1) Chỉnh sửa khe lưu trữ chứa pubkey+nonce (~5000);
(2) Chi phí dữ liệu cuộc gọi hoạt động của người dùng (khoảng 4500, có thể giảm xuống còn khoảng 2500 thông qua nén);
(3)ECRECOVER (~3000);
(4) Truy cập lần đầu vào ví (~2600)
(5) Truy cập vào tài khoản người nhận thanh toán lần đầu tiên (~2600)
(6) Chuyển ETH vào tài khoản của người thụ hưởng (~9000)
(7) Chỉnh sửa dung lượng để trả phí (~5000)
(8) Truy cập khe lưu trữ chứa tác nhân (~2100), sau đó truy cập vào chính tác nhân đó (~2600);
2. Ngoài chi phí đọc/ghi bộ nhớ ở trên, hợp đồng cũng cần thực thi "logic nghiệp vụ" (giải nén UserOperation, băm nó, xáo trộn các biến, v.v.)
3. Cần tiêu thụ gas để trả phí nhật ký (EOA không công bố nhật ký);
4. Chi phí tạo hợp đồng một lần (khoảng 32.000 gas, cộng thêm 200 gas cho mỗi byte mã trong proxy, cộng thêm 20.000 gas để đặt địa chỉ proxy)
Nói tóm lại, mỗi bước của địa chỉ trừu tượng của tài khoản cần được tính toán, điều này tiêu tốn nhiều tài nguyên hơn và tăng thêm chi phí.
May mắn thay, điều này không phải là không thể giải quyết được.
Vì Rollup có khả năng nén dữ liệu tốt nên nó phù hợp tự nhiên với các sơ đồ trừu tượng hóa tài khoản có dữ liệu phức tạp.
Trong đề xuất mới nhất của Vitalik,Đề xuất xử lý dữ liệu được tạo bằng cách trừu tượng hóa tài khoản thông qua lớp 2.Điểm cải tiến là gói các chức năng chỉ có thể thực hiện từng bước vào các giao dịch hàng loạt và sử dụng công nghệ SNARK để đảm bảo tính hợp lệ của các giao dịch.
phần kết
phần kết
Giờ đây, mô hình tập trung vào phát triển Lớp 2 trong Ethereum đã được thiết lập, kế hoạch tiếp theo của Vitalik để nâng cấp Ethereum đã bắt đầu chuyển sang trừu tượng hóa tài khoản. Đề xuất mới nhất giới thiệutổng số + tóm tắt tài khoảnđường kỹ thuật. Các nhà cung cấp Rollup khác nhau cũng đã phát hành các phiên bản mới tương thích với bản tóm tắt tài khoản.
Vào tháng 6 năm nay, zkSync đã phát hành thông tin cập nhật V2: bổ sung chức năng “trừu tượng hóa tài khoản” và tăng khả năng tương thích với Ethereum EVM. Vào tháng 10, một phiên bản mới của ERC-4337 đã được phát hành, bổ sung chức năng tổng hợp chữ ký bao gồm thuật toán chữ ký BLS. Tính năng tổng hợp chữ ký cho phép người xây dựng và người gửi hàng loạt cũng tổng hợp chữ ký (chẳng hạn như BLS, SNARK), giúp giảm đáng kể dữ liệu trên chuỗi và giảm chi phí dữ liệu cho các bản tổng hợp.
Chúng tôi có lý do để tin rằng những thay đổi do trừu tượng hóa tài khoản mang lại cũng chứa đựng khả năng bùng nổ sinh thái. Với sự phát triển của Rollup, việc trừu tượng hóa các tài khoản có thể kết hợp với Rollup cũng phải phát triển các giải pháp tốt hơn và tinh tế hơn.
