Cho dù đó là thị trường tăng giá hay thị trường giá xuống, hệ sinh thái Ethereum đã liên tục xây dựng và tự tối ưu hóa. Trong số đó, trừu tượng hóa tài khoản (AA) đã trở thành một tiến bộ rất quan trọng trong những năm gần đây và đã thâm nhập vào các thành phần khác nhau của hệ sinh thái Ethereum, bao gồm các ứng dụng, cơ sở hạ tầng, người dùng và nhà phát triển.
Chúng ta có thể thấy trước rằng việc áp dụng rộng rãi AA có thể hạ thấp các rào cản gia nhập đối với các trường hợp sử dụng chuỗi khối, do đó mang lại trải nghiệm người dùng web2 cho ngành công nghiệp web3.
Để nắm bắt khả năng hình thành thị trường trị giá hàng tỷ AA, BlockPI có kế hoạch dành nguồn lực để tích hợp AA vào các dịch vụ cơ sở hạ tầng của mình. Bằng cách xây dựng sự tích hợp của AA, chúng tôi mong muốn cung cấp những cách thuận tiện và hiệu quả hơn cho người dùng AA để tương tác với tài khoản ví hợp đồng của họ trên chuỗi khối, đồng thời định vị BlockPI là công ty hàng đầu trong ngành.
Trong bài đăng này, tôi sẽ đi sâu vào hiểu biết của chúng ta về AA và chia sẻ suy nghĩ từ góc độ của một nhà cung cấp dịch vụ cơ sở hạ tầng.
EOA và ví hợp đồng thông minh
Khái niệm về AA bắt nguồn từ những hạn chế của tài khoản EOA. Tài khoản EOA (Tài khoản thuộc sở hữu bên ngoài) là tài khoản người dùng điển hình trong Ethereum, được đại diện bởi khóa công khai (địa chỉ chuỗi khối) và có thể truy cập thông qua khóa riêng. Nó là một thành phần chính của hệ sinh thái Ethereum, cho phép người dùng tương tác với các hợp đồng thông minh và thực hiện các giao dịch trên mạng. Tuy nhiên, việc sử dụng EOA có thể gây khó khăn cho mọi người và một số bất tiện có thể ảnh hưởng đến trải nghiệm người dùng.
Bất tiện đầu tiên của EOA liên quan đến việc sử dụng Gas. Mỗi giao dịch sẽ tiêu tốn của người dùng một lượng lớn ETH dưới dạng phí Gas (phí chuyển ETH đơn giản là 25 Gwei cho giá Gas là 0,5 USD và nhiều hơn nữa đối với tương tác hợp đồng hoặc giá Gas cao hơn). Điều này làm cho phí giao dịch rất đắt đối với các giao dịch nhỏ, đặc biệt là trong thời gian tắc nghẽn mạng cao điểm. Ngoài ra, chỉ ETH mới có thể được sử dụng để thanh toán cho Gas, điều đó có nghĩa là người dùng phải có ETH trong ví của họ, đây là một rào cản đáng kể đối với nhiều người dùng.
Sự bất tiện thứ hai của EOA là các giao dịch có điều kiện không thể được thực hiện trừ khi một số logic được thực hiện bằng các hợp đồng thông minh khác. Ví dụ: nếu người dùng muốn đặt chuyển khoản định kỳ theo thời gian, họ phải chuyển ETH sang hợp đồng thông minh của bên thứ ba có chức năng này để đạt được chức năng này.
Điểm bất tiện thứ ba của EOA là thuật toán mã hóa chữ ký. Mạng Ethereum sử dụng thuật toán chữ ký số cụ thể có tên là secp 256 k 1 để đảm bảo tính xác thực và bảo mật của các giao dịch. Điều này được mã hóa cứng vào hệ thống và người dùng không thể chọn sử dụng thuật toán khác.
Do đó, bắt đầu từ những vấn đề này, mọi người bắt đầu cố gắng tìm giải pháp. Ví hợp đồng thông minh như MetaMask và Argent là kết quả của những nỗ lực này, giải quyết nhiều hạn chế của EOA bằng cách sử dụng hợp đồng thông minh Ethereum để nâng cao chức năng tài khoản người dùng. Tuy nhiên, giải pháp như vậy vẫn có một số nhược điểm, chủ yếu là yêu cầu người dùng trả phí Gas cho các giao dịch và sự phổ biến của ví hợp đồng thông minh.
Dựa trên những thách thức này, Ethereum bắt đầu cố gắng giới thiệu một khái niệm mới, đó là trừu tượng hóa tài khoản. Mục tiêu của việc trừu tượng hóa tài khoản là giải quyết những vấn đề này ở cấp độ giao thức, thay vì dựa vào hợp đồng thông minh hoặc phần mềm trung gian khác. Đây là cái mà bây giờ chúng tôi gọi là trừu tượng hóa tài khoản (AA).
Trong phần còn lại của bài đăng này, tôi sẽ tìm hiểu khái niệm trừu tượng hóa tài khoản và cách chúng ta có thể sử dụng nó để tối ưu hóa cơ sở hạ tầng của BlockPI.
Ngoài 3 điểm bất tiện của EOA kể trên, mối quan hệ ràng buộc giữa public key và private key cũng là một vấn đề. Khóa riêng tư là cách duy nhất để truy cập EOA và nếu bị mất, không có cách nào để khôi phục khóa riêng tư. Điều này có nghĩa là nếu khóa riêng tư bị mất, tất cả tài sản liên quan đến nó sẽ không thể lấy lại được.
Ngoài ra, EOA cũng phải đối mặt với các ràng buộc khi thực hiện các tác vụ tuyến tính trong một giao dịch đơn lẻ. Ví dụ: nếu người dùng muốn phê duyệt, trao đổi và không phê duyệt mã thông báo trong một hành động, họ cần thực hiện ba giao dịch riêng biệt, điều này không hiệu quả và tốn thời gian.
Tin tốt là tất cả các vấn đề trên đều có thể được giải quyết bằng ví hợp đồng thông minh. Ví hợp đồng thông minh là một loại hợp đồng thông minh đặc biệt triển khai AA. Nó được thiết kế để hoạt động như một chiếc ví của người dùng trên mạng Ethereum và cung cấp một cách thích ứng và cá nhân hóa hơn để quản lý tiền của họ. Miễn là logic của hợp đồng thông minh Ethereum có thể được thực hiện, ví hợp đồng thông minh có thể cung cấp các chức năng cần thiết.
Cụ thể, các giao dịch của ví hợp đồng thông minh có thể được đóng gói thành một giao dịch trực tuyến để chia sẻ chi phí gas, nếu bên thứ ba sẵn sàng thanh toán, thậm chí có thể không có chi phí gas. Một hoạt động có thể tạo điều kiện thuận lợi cho việc thực hiện các tác vụ tuần tự trong ví hợp đồng thông minh của nó. Ví hợp đồng thông minh có thể hỗ trợ mọi thuật toán mã hóa chữ ký và đặt mã khôi phục, v.v.
Với tất cả các cuộc thảo luận về lợi ích của ví hợp đồng thông minh, cộng đồng Ethereum đã thực sự làm việc trên ví hợp đồng ngay từ đầu. Mặc dù nhiều EIP đã được đề xuất để khám phá tính trừu tượng của tài khoản, nhưng không có tiêu chuẩn thống nhất nào được thiết lập cho đến năm 2021. Dưới đây là một số đề xuất tiêu biểu nhất.
EIP-86
Ban đầu được tạo ra vào năm 2017 bởi Vitalik Buterin. Đã triển khai một loạt các thay đổi đối với dịch vụ xác minh chữ ký "trừu tượng" và kiểm tra nonce, cho phép người dùng tạo "hợp đồng tài khoản" để thực hiện bất kỳ kiểm tra chữ ký/noce mong muốn nào.
EIP-2938
Được tạo vào năm 2020. Tiêu đề của EIP này là Tóm tắt tài khoản. EIP này trình bày chi tiết về khái niệm AA. Nó giới thiệu một loại giao dịch mới, giao dịch AA. Giao dịch này sẽ được khởi tạo bởi địa chỉ EntryPoint và gọi là hợp đồng ví AA. Bằng cách đó, nó cung cấp một đặc điểm kỹ thuật thống nhất và đưa AA vào sự đồng thuận của Ethereum. Cụ thể hơn, nó bổ sung hai opcode mới, ba biến toàn cầu và cấu trúc tải trọng khác cho sự đồng thuận của Ethereum.
EIP-3074
Được tạo vào năm 2020. EIP này giới thiệu hai hướng dẫn EVM, AUTH và AUTHCALL. AUTH đặt một biến ngữ cảnh được gọi là được ủy quyền dựa trên chữ ký ECDSA. AUTHCALL gửi cuộc gọi thay mặt cho tài khoản được ủy quyền. Điều này cho phép hợp đồng thông minh gửi giao dịch thay mặt cho EOA. Nhưng đây không phải là một giải pháp hoàn hảo cho AA. EIP-3074 đặt ra những hạn chế nhất định đối với việc chuyển giá trị gốc trong các giao dịch tài trợ. Nếu bạn mất quyền truy cập vào EOA, bạn sẽ không thể khôi phục tài sản của mình và nếu bị đánh cắp, tất cả tài sản sẽ cần được chuyển sang một tài khoản mới.
Không có ý tưởng nào ở trên được chính thức áp dụng vào giao thức Ethereum vì những lý do chính như yêu cầu thay đổi ở lớp đồng thuận hoặc không toàn diện. Do đó, cộng đồng Ethereum tiếp tục khám phá cách đưa AA vào giao thức Ethereum mà không thay đổi sự đồng thuận và cuối cùng đã tạo ra EIP 4337.
ERC — 4337
EIP-4337 ban đầu được đề xuất vào tháng 9 năm 2021 và được ủy quyền là ERC-4337 vào tháng 3 năm 2023. Các tác giả của nó bao gồm Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson và Tjaden Hess.
EIP-4337 là một đề xuất thay đổi cuộc chơi giới thiệu AA mà không thực hiện bất kỳ thay đổi nào đối với giao thức Ethereum cốt lõi. EIP-4337 hướng dẫn tiêu chuẩn ERC-4337 mà các nhà xây dựng có thể sử dụng để triển khai ví hợp đồng thông minh của riêng họ và bao gồm một số cơ sở hạ tầng bổ sung, bao gồm nhóm bộ nhớ "Bundlers" và UserOperation. Bằng cách này, về cơ bản, nó sẽ sao chép chức năng của mempool giao dịch trong một hệ thống tiên tiến hơn. Thay vì gửi các giao dịch, người dùng gửi các đối tượng UserOperation, sau đó các đối tượng này có thể được đóng gói thành một giao dịch duy nhất và được đưa vào chuỗi Ethereum.
Sau đây là giải thích kỹ thuật cụ thể hơn về ERC-4337 từ tài liệu chính thức, cũng như một số nhận xét để hiểu rõ hơn.
Định nghĩa và vai trò chính của ERC-4337
UserOperation — cấu trúc mô tả các giao dịch được gửi thay mặt cho người dùng. Để tránh nhầm lẫn, nó không được đặt tên là "giao dịch". Nó được gửi tới Bundler để được đóng gói với các UserOperations khác. Gói này sau đó được gửi đến người tạo khối dưới dạng một giao dịch.
Người gửi — tài khoản hợp đồng gửi UserOperation mới. Ví hợp đồng thông minh phải triển khai giao diện IAccount của ERC-4337.
EntryPoint — một hợp đồng đơn lẻ triển khai gói UserOperations. Điểm truy cập được hỗ trợ trong danh sách trắng Bundlers/Clients. Hợp đồng này được nhóm Infinitism phê duyệt và xem xét, đồng thời chịu trách nhiệm xử lý tất cả Hoạt động của người dùng và kết nối các hợp đồng khác bao gồm Wallet Factory, Aggregator, Paymaster. Nó sẽ có cùng một địa chỉ trên hầu hết các chuỗi tương thích với EVM.
Bundler — một nút (trình tạo khối) gộp nhiều UserOperations từ một mempool và tạo các giao dịch EntryPoint.handleOps(). Tất cả các trình xác thực ở lớp giao thức không nhất thiết phải là Bundler. Dịch vụ Bundler có thể chạy độc lập với trình tạo khối và sử dụng RPC để gửi UserOperations đi kèm.
Trình tổng hợp — Hợp đồng trợ giúp được các tài khoản tin cậy để xác minh chữ ký tổng hợp. Trình tổng hợp được hỗ trợ danh sách trắng Bundlers/Clients. Trình tổng hợp phải triển khai giao diện ERC-4337 IAggregator.
Paymaster — Một hợp đồng có thể thanh toán phí gas của UserOperation cho Người gửi nếu đủ ETH được ký gửi trong hợp đồng EntryPoint. Paymaster thực hiện khai thác Gas hiệu quả. Paymaster phải triển khai giao diện Paymaster của ERC-4337. Paymaster có thể có logic riêng để thỏa thuận với Người gửi. Ví dụ: Người gửi thanh toán USDC cho Paymaster và Paymaster tài trợ cho Hoạt động người dùng của mình bằng ETH. Trên thực tế, bất kỳ mã thông báo ERC 20 nào hoặc thậm chí mã thông báo trên các chuỗi khác đều có thể được hỗ trợ miễn là Paymaster đồng ý và điều đó khả thi về mặt kỹ thuật.
Nhà máy Ví — một hợp đồng có thể được gọi để tạo ví hợp đồng thông minh cho người dùng ERC-4337. Việc triển khai một nhà máy sản xuất ví là không được phép. Là một thành phần trên chuỗi, nó được mở để kiểm toán công khai và giám sát minh bạch. Nhà máy Ví được sử dụng rộng rãi phải được kiểm toán đầy đủ bởi các chuyên gia.
Sơ đồ bên dưới giải thích cách hợp đồng EntryPoint tương tác với các tác nhân khác.
Các gói gọi hàm handleOps của hợp đồng EntryPoint, hàm này lấy UserOperation làm đầu vào.
handleOps xác minh UserOperation trên chuỗi, kiểm tra xem nó có được ký bởi địa chỉ ví hợp đồng thông minh được chỉ định hay không và liệu ví có đủ Gas để bồi thường cho Bundler hay không.
Nếu quá trình xác minh thành công, handleOps sẽ thực thi chức năng ví hợp đồng thông minh theo chữ ký chức năng và tham số đầu vào được xác định trong calldata của UserOperation.
Mặt khác, khi Bundler sử dụng EOA để kích hoạt chức năng handleOps, phí Gas sẽ phát sinh. Ví hợp đồng thông minh có thể thanh toán phí Gas cho Bundler từ số dư tài khoản của chính nó hoặc yêu cầu hợp đồng Paymaster thanh toán thay cho nó. UserOperations không có đủ Gas không thể vượt qua quy trình xác minh trong ví hợp đồng thông minh mục tiêu và do đó không thành công trước khi thực thi. Ngay cả khi có đủ gas, UserOperations có thể không thành công trong quá trình thực thi, chẳng hạn như do lỗi thời gian chạy. Cho dù việc thực thi có thành công hay không, hợp đồng EntryPoint sẽ trả phí Gas cho Bundler kích hoạt chức năng handleOps.
(Nguồn: Tài liệu chính thức:
Sau khi ERC-4337 có hiệu lực, người dùng hiện có hai cách để bắt đầu giao dịch chuỗi khối. Một là cách ban đầu, trong đó EOA bắt đầu giao dịch. Cách khác là sử dụng tiêu chuẩn ERC-4337 để bắt đầu UserOperation thông qua Bundler, sau đó Bundler sẽ đóng gói nó với UserOperations khác và khởi tạo nó trên chuỗi. Lưu đồ sau đây minh họa sự khác biệt giữa giao dịch gửi EOA thông thường và hoạt động gửi UserOperation của ví hợp đồng ERC-4337.
Đường trải nhựa nhưng vắng khách
ERC-4337 cung cấp một khuôn khổ mạnh mẽ cho người dùng và nhà phát triển sử dụng và xây dựng AA trên nền tảng Ethereum. Mặc dù khuôn khổ này là một bước tiến quan trọng, một số thách thức và sự không chắc chắn vẫn cần được giải quyết và giải quyết.
Việc áp dụng AA vẫn còn ở giai đoạn sơ khai. Theo bảng phân tích Dune ERC-4337 (Trừu tượng hóa tài khoản ERC-4337 từ @niftytable), chỉ có hơn 65 k+ UserOperations được thực thi trên chuỗi, 90% trong số đó đến từ Polygon. Do đó, số lượng UserOperations được thực hiện tại thời điểm này vẫn còn rất ít, hầu hết là các thử nghiệm của nhà phát triển và chỉ một phần nhỏ là do người dùng. Chúng tôi lưu ý rằng các sản phẩm tích hợp AA vẫn đang ở giai đoạn đầu. Đồng thời, bạn có thể thấy rằng lợi nhuận của Bundler là âm (-700 theo thuật ngữ MATIC). Điều này là do một số gói trên Đa giác không tính toán khí xác thực trước một cách chính xác. Thuật toán xác minh này vẫn cần tối ưu hóa.
Ngoài ra, có một vài vấn đề cần được giải quyết. Một vấn đề như vậy là cách Bundler xử lý các lỗi giao dịch. Sau khi Bundler kết hợp một số UserOperations lại với nhau, trước tiên, Bundler mô phỏng giao dịch để kiểm tra xem giao dịch đó có được khôi phục hay không, sau đó tính toán xem phí Gas do Người gửi hoặc Paymaster trả lại có lớn hơn phí Gas do giao dịch trả hay không. Nếu có lãi, Bundler sẽ gửi lô UserOperations này dưới dạng một giao dịch cho trình tạo khối. Tuy nhiên, giao dịch vẫn có thể thất bại, dẫn đến việc Bundler trả phí gas nhưng không nhận lại gas từ EntryPoint. Ví dụ: người dùng có thể gửi hành động đến các Gói khác nhau. Các nhà đóng gói sẵn sàng gửi bất kỳ hoạt động nào trên chuỗi nếu chúng có lãi và mô phỏng của chúng thành công. Điều này có nghĩa là nếu UserOperation được gửi bởi các Gói khác nhau cùng một lúc. Chỉ một giao dịch sẽ thành công, chỉ một Bundler sẽ nhận được phí gas từ EntryPoint, tất cả các Bundler khác sẽ bị mất gas do lỗi trên chuỗi. Mặc dù người ta có thể lập luận rằng người dùng không nên làm điều này, nhưng hành vi đó sẽ được coi là một cuộc tấn công nguy hiểm và Bundler có thể cấm địa chỉ Người gửi và từ chối mọi yêu cầu trong tương lai từ địa chỉ này, đây không phải là cách tiếp cận hợp lý vì người dùng Thao tác này có thể có đã được gửi một cách tình cờ. Những vấn đề như vậy cần được giải quyết đúng cách trong mã, có thể bằng cách phát triển một mạng bộ nhớ công cộng chưa hoàn thành. Ngoài ra, do biến động gas đột ngột, Bundlers có thể bị thua lỗ mặc dù các giao dịch đã được gửi thành công và được mô phỏng là có lãi.
Một điều nữa là giá trị có thể trích xuất tối đa (MEV) có thể được trích xuất từ AA. Trong ngữ cảnh của Ethereum, MEV thường đề cập đến giá trị mà các công cụ khai thác hoặc bộ xử lý giao dịch khác có thể trích xuất bằng cách thao túng thứ tự giao dịch trong một khối hoặc bao gồm các giao dịch của chính họ trong một khối. Có ai để ý rằng logic của MEV cũng có thể được áp dụng cho AA, vì các Bundler có thể tự do ra lệnh cho UserOperations không? Tuy nhiên, đây là điều kiện, cần phải nhóm đủ UserOperations cùng nhau để Bundler trích xuất MEV. Bây giờ toàn bộ thị trường AA vẫn còn ở giai đoạn sơ khai, vì vậy Bundler MEV cũng có thể được coi là ở giai đoạn sơ khai. Nói chung, ngành công nghiệp AA có thể phát triển theo hai hướng: một là tương tự như mạng chính Ethereum, với những người tham gia như Flashbots, Ultra Sound và BloXroute tham gia, và hướng còn lại là hình thành sự đồng thuận của Bundler để thực thi trật tự công bằng. Cách tiếp cận thứ hai sẽ loại bỏ hoàn toàn khả năng MEV trong AA.
Sự phát triển tương lai
bộ nhớ công khai
Mặc dù hệ sinh thái AA đã hoạt động nhưng vẫn còn rất nhiều việc phải làm. Nhìn vào toàn bộ hệ sinh thái AA, lỗ hổng lớn nhất hiện nay là public mempool. Nhóm Etherspot, các nhà phát triển của ứng dụng khách Skandha Bundler, hiện đang phát triển mạng p2p với một mempool công khai. Mạng p2p của public mempool dự kiến sẽ ra mắt vào tháng 8 năm nay.
Thuật toán đóng gói
Đồng thời, Ethereum Foundation đã tài trợ cho một số nhóm phát triển AA gồm các nhà phát triển tận tâm và chăm chỉ. Đến nay, một số phiên bản của ứng dụng khách Bundler đã được phát triển và hiện đã có sẵn. Một số trong số chúng được phát triển cao về độ chín của sản phẩm. Chúng là Candide (Voltaire Bundler viết bằng Python), Pimlico (Alto Bundler viết bằng Type), Etherspot (Skandha Bundler viết bằng Type), Stackup (Stackup-Bundler viết bằng Go) và nhiều hơn nữa.
Bây giờ, hãy đi sâu vào thuật toán đóng gói chi tiết hơn. Hiện tại, do số lượng UserOperations thấp, Bundlers có thể sử dụng logic đóng gói đơn giản và dễ hiểu, chẳng hạn như khoảng thời gian cố định hoặc số lượng UserOperations trong mỗi gói. Tuy nhiên, khi số lượng UserOperations tăng lên, đặc biệt là sau khi giới thiệu bộ nhớ công khai, chiến lược để chọn và đóng gói UserOperations trở nên phức tạp hơn. Lý do rất đơn giản: không có giao thức đồng thuận như blockchain, các Bundler tạo thành một khu rừng tối tăm, mỗi người ưu tiên công việc theo sở thích của mình và cạnh tranh với nhau. Các mempool riêng tư, tương ứng với các mempool công khai, có nhiều khả năng xuất hiện trước. Bởi vì khi đóng gói UserOperations từ mempool công cộng không mang lại lợi nhuận, thì việc đóng gói UserOperations lại với nhau trong mempool riêng có thể mang lại lợi nhuận. Bằng cách này, Bundler có lợi thế cạnh tranh khi đóng gói.
Ngoài ra, khi mempool công khai dần được chấp nhận, UserOperations trong đó sẽ có các đặc điểm khác nhau, chẳng hạn như kỳ vọng lợi nhuận Gas khác nhau và độ phức tạp thực thi trên chuỗi. Các nhà đóng gói sẽ tiến hành mô phỏng ngoài chuỗi để đánh giá khả năng sinh lợi của các kết hợp Hoạt động người dùng khác nhau nhằm thiết lập các chiến lược đóng gói độc đáo của họ. Đóng gói nhiều UserOperations hơn có khả năng mang lại lợi nhuận cao hơn, nhưng cũng làm tăng nguy cơ lỗi xác thực. Ngay cả khi quá trình xác minh được thông qua, rủi ro thực thi không thành công trên chuỗi vẫn tồn tại. UserOperations ít đóng gói hơn làm ngược lại. Các nhà đóng gói cần thiết lập các tham số khí giao dịch của riêng họ, điều này sẽ ảnh hưởng đến mức độ ưu tiên của các nhà xây dựng khối để thực hiện các giao dịch. Dưới các điều kiện giá Gas thị trường và biến động Gas khác nhau, Bundlers có thể có các chiến lược đóng gói khác nhau. Đồng thời, các tính toán chính sách và xác minh này cần sử dụng tài nguyên máy tính phần cứng cục bộ và tài nguyên nút chuỗi khối. Bundlers cũng cần đảm bảo rằng người dùng có trải nghiệm tốt và người dùng không gặp phải sự chậm trễ quá mức sau khi gửi UserOperation.
Mặc dù các giải pháp cho những thách thức này vẫn chưa chắc chắn, nhưng chúng tôi có thể tin tưởng rằng sự phát triển của ngành công nghiệp AA và nỗ lực kết hợp của các nhà phát triển cuối cùng sẽ tìm ra giải pháp. Là một nhà xây dựng cơ sở hạ tầng, BlockPI hy vọng sẽ giải quyết các vấn đề trong quá trình phát triển của ngành AA, cho dù với tư cách là nhà phát triển hay cung cấp cơ sở hạ tầng AA thân thiện cho các nhà phát triển khác.
Cơ sở hạ tầng phải thích ứng
AA trừu tượng hóa các vai trò khác nhau trong hành vi giao dịch trên chuỗi, bao gồm người gửi, người đóng gói, người trả phí gas, ví hợp đồng và người ký, cho phép người dùng có mức độ tự do cao hơn khi sử dụng chuỗi khối. Ngoài ra, các dịch vụ trong AA có thể được triển khai riêng.
Để thích ứng với việc áp dụng AA trên quy mô lớn, trước tiên các nhà cung cấp cơ sở hạ tầng cần cung cấp ít nhất hai dịch vụ cơ bản, đó là dịch vụ Bundler và dịch vụ Paymaster.
Trong dịch vụ Bundler, nhà cung cấp cơ sở hạ tầng có thể cần phát triển một mempool riêng với Bundler để đảm bảo trải nghiệm người dùng tốt. Cụ thể, các nhà cung cấp cơ sở hạ tầng cần tích hợp nhiều ứng dụng khách Bundler khác nhau để đảm bảo tính mạnh mẽ của các dịch vụ Bundler. Các ứng dụng khách Bundler này được phát triển bằng các ngôn ngữ lập trình khác nhau, nhưng tất cả chúng đều cung cấp một bộ phương thức JSON RPC tiêu chuẩn do nhóm nòng cốt ERC-4337 chỉ định. Hiện tại, không có nhiều phương pháp có sẵn, nhưng nhiều phương pháp sẽ được bổ sung trong tương lai. Các nhà cung cấp dịch vụ cơ sở hạ tầng nên cung cấp hỗ trợ liên tục và đầy đủ cho các API này.
Ngoài ra, điều quan trọng là phải tối ưu hóa và điều chỉnh mối quan hệ giữa API Bundler và RPC máy khách nút gốc. Chúng tôi biết rằng máy khách nút hiện tại không được tối ưu hóa tốt cho khả năng đáp ứng và khả năng thích ứng của AA. Các phương thức API Bundler nhất định yêu cầu chỉ mục dữ liệu của AA hoạt động. Ví dụ: tra cứu UserOperation bằng hàm băm yêu cầu lập chỉ mục tất cả UserOperations. Nếu không, mức tiêu thụ phần cứng của yêu cầu đơn lẻ này sẽ rất cao và yêu cầu sẽ mất nhiều thời gian để trả lại.
Ngoài ra, các nhà cung cấp cơ sở hạ tầng cũng cần tích hợp các dịch vụ Paymaster khác nhau để cung cấp cho khách hàng trải nghiệm người dùng miễn phí và cung cấp cho họ các tùy chọn dịch vụ khác nhau. Điều này đòi hỏi phải giao tiếp và tích hợp tốt với các nhà cung cấp dịch vụ Paymaster bên thứ 3. Đồng thời, theo nhu cầu thị trường, cũng có thể thiết kế các giải pháp tích hợp thuận tiện hơn dựa trên các dịch vụ Paymaster hiện có. Các dịch vụ khác, chẳng hạn như chữ ký tổng hợp, nhà máy ví, v.v., cũng là những hướng khả thi để phát triển và tích hợp trong tương lai.
Hiện tại, BlockPI đang thực sự cố gắng đạt được tất cả các mục tiêu trên. Không chỉ vậy, chúng tôi đang liên lạc với hầu hết tất cả các khách hàng của Bundler và nhà cung cấp dịch vụ Paymaster trong cộng đồng và đã ưu tiên hàng đầu cho việc tích hợp dịch vụ AA vào Mạng BlockPI. Chúng tôi cũng đang thảo luận chuyên sâu với các nhà phát triển ví AA để hiểu nhu cầu của người dùng. Do đó, chúng tôi chân thành hoan nghênh sự hợp tác và trao đổi với tất cả các Bundler, Paymaster và ví khi chúng ta tiến lên phía trước. Mục tiêu tổng thể của chúng tôi là xây dựng và phát triển hệ sinh thái AA cùng với những người khác, thúc đẩy sự tăng trưởng và phát triển của nó theo khả năng tốt nhất của chúng tôi. Bằng cách làm việc cùng nhau, chúng tôi hy vọng sẽ đóng góp có ý nghĩa cho toàn bộ ngành công nghiệp AA và hỗ trợ sự phát triển liên tục của nó. Bởi vì sau tất cả, sứ mệnh cuối cùng của chúng tôi là trở thành người tiên phong trong ngành và thúc đẩy sự phát triển của hệ sinh thái AA để người dùng web2 có thể tận hưởng trải nghiệm blockchain của họ mà không gặp rào cản.
Tóm tắt
Từ quan điểm của AA, chúng ta đang ở một thời điểm lịch sử mới. Mặc dù chúng tôi đã trải nhựa trên đại lộ nhưng vẫn chưa có nhiều người đi xe. Hiện tại, ứng dụng của AA vẫn còn ở giai đoạn sơ khai. ERC-4337 cung cấp một khuôn khổ mạnh mẽ cho người dùng và nhà phát triển sử dụng và xây dựng AA trên nền tảng Ethereum. Tuy nhiên, vẫn còn nhiều thách thức và sự không chắc chắn cần được giải quyết.
Nhà cung cấp cơ sở hạ tầng của AA cần cung cấp dịch vụ Bundler và dịch vụ Paymaster cho người dùng của mình, đồng thời cần tích hợp nhiều ứng dụng khách Bundler và nhà cung cấp dịch vụ Paymaster để đảm bảo tính mạnh mẽ của dịch vụ. Để tối ưu hóa khả năng phản hồi giữa API và máy khách nút, dữ liệu AA có thể cần được lập chỉ mục để giảm mức tiêu thụ phần cứng cho một yêu cầu. Để cung cấp trải nghiệm người dùng tốt hơn, các nhà cung cấp cơ sở hạ tầng cũng cần cung cấp cho người dùng nhiều tùy chọn dịch vụ hơn.
Trong tương lai, khi hệ sinh thái AA tiếp tục phát triển và các mempool công khai xuất hiện, chiến lược lựa chọn và đóng gói UserOperations sẽ trở nên phức tạp hơn. Mỗi Bundler ưu tiên công việc của mình theo sở thích riêng và cạnh tranh với các Bundler khác. Các nhà đóng gói cần thiết lập các tham số khí giao dịch của riêng họ, điều này ảnh hưởng đến mức độ ưu tiên của các nhà xây dựng khối để thực hiện các giao dịch. Dưới các điều kiện giá Gas thị trường và biến động Gas khác nhau, Bundlers có thể có các chiến lược đóng gói khác nhau.
Mặc dù các giải pháp cho những thách thức này là không chắc chắn, nhưng chúng tôi có thể tin tưởng rằng sự phát triển của ngành công nghiệp AA và nỗ lực kết hợp của các nhà phát triển cuối cùng sẽ tìm ra giải pháp. Là một nhà xây dựng cơ sở hạ tầng, BlockPI hy vọng sẽ trở thành người giải quyết vấn đề trong sự phát triển của ngành AA, với tư cách là nhà phát triển hoặc bằng cách cung cấp cơ sở hạ tầng AA thân thiện cho các nhà phát triển khác. Nhiệm vụ của chúng tôi là thúc đẩy sự phát triển của hệ sinh thái AA để người dùng Web2 có thể tận hưởng trải nghiệm blockchain của họ mà không gặp rào cản.
Xem bản gốc
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Làm cách nào để trừu tượng hóa các tài khoản để trao quyền cho cơ sở hạ tầng và phục vụ hàng tỷ người dùng?
Tác giả: Albert He, Nhà khoa học đầu bếp BlockPI
Biên dịch gốc: MarsBit, MK
Cho dù đó là thị trường tăng giá hay thị trường giá xuống, hệ sinh thái Ethereum đã liên tục xây dựng và tự tối ưu hóa. Trong số đó, trừu tượng hóa tài khoản (AA) đã trở thành một tiến bộ rất quan trọng trong những năm gần đây và đã thâm nhập vào các thành phần khác nhau của hệ sinh thái Ethereum, bao gồm các ứng dụng, cơ sở hạ tầng, người dùng và nhà phát triển.
Chúng ta có thể thấy trước rằng việc áp dụng rộng rãi AA có thể hạ thấp các rào cản gia nhập đối với các trường hợp sử dụng chuỗi khối, do đó mang lại trải nghiệm người dùng web2 cho ngành công nghiệp web3.
Để nắm bắt khả năng hình thành thị trường trị giá hàng tỷ AA, BlockPI có kế hoạch dành nguồn lực để tích hợp AA vào các dịch vụ cơ sở hạ tầng của mình. Bằng cách xây dựng sự tích hợp của AA, chúng tôi mong muốn cung cấp những cách thuận tiện và hiệu quả hơn cho người dùng AA để tương tác với tài khoản ví hợp đồng của họ trên chuỗi khối, đồng thời định vị BlockPI là công ty hàng đầu trong ngành.
Trong bài đăng này, tôi sẽ đi sâu vào hiểu biết của chúng ta về AA và chia sẻ suy nghĩ từ góc độ của một nhà cung cấp dịch vụ cơ sở hạ tầng.
EOA và ví hợp đồng thông minh
Khái niệm về AA bắt nguồn từ những hạn chế của tài khoản EOA. Tài khoản EOA (Tài khoản thuộc sở hữu bên ngoài) là tài khoản người dùng điển hình trong Ethereum, được đại diện bởi khóa công khai (địa chỉ chuỗi khối) và có thể truy cập thông qua khóa riêng. Nó là một thành phần chính của hệ sinh thái Ethereum, cho phép người dùng tương tác với các hợp đồng thông minh và thực hiện các giao dịch trên mạng. Tuy nhiên, việc sử dụng EOA có thể gây khó khăn cho mọi người và một số bất tiện có thể ảnh hưởng đến trải nghiệm người dùng.
Bất tiện đầu tiên của EOA liên quan đến việc sử dụng Gas. Mỗi giao dịch sẽ tiêu tốn của người dùng một lượng lớn ETH dưới dạng phí Gas (phí chuyển ETH đơn giản là 25 Gwei cho giá Gas là 0,5 USD và nhiều hơn nữa đối với tương tác hợp đồng hoặc giá Gas cao hơn). Điều này làm cho phí giao dịch rất đắt đối với các giao dịch nhỏ, đặc biệt là trong thời gian tắc nghẽn mạng cao điểm. Ngoài ra, chỉ ETH mới có thể được sử dụng để thanh toán cho Gas, điều đó có nghĩa là người dùng phải có ETH trong ví của họ, đây là một rào cản đáng kể đối với nhiều người dùng.
Sự bất tiện thứ hai của EOA là các giao dịch có điều kiện không thể được thực hiện trừ khi một số logic được thực hiện bằng các hợp đồng thông minh khác. Ví dụ: nếu người dùng muốn đặt chuyển khoản định kỳ theo thời gian, họ phải chuyển ETH sang hợp đồng thông minh của bên thứ ba có chức năng này để đạt được chức năng này.
Điểm bất tiện thứ ba của EOA là thuật toán mã hóa chữ ký. Mạng Ethereum sử dụng thuật toán chữ ký số cụ thể có tên là secp 256 k 1 để đảm bảo tính xác thực và bảo mật của các giao dịch. Điều này được mã hóa cứng vào hệ thống và người dùng không thể chọn sử dụng thuật toán khác.
Do đó, bắt đầu từ những vấn đề này, mọi người bắt đầu cố gắng tìm giải pháp. Ví hợp đồng thông minh như MetaMask và Argent là kết quả của những nỗ lực này, giải quyết nhiều hạn chế của EOA bằng cách sử dụng hợp đồng thông minh Ethereum để nâng cao chức năng tài khoản người dùng. Tuy nhiên, giải pháp như vậy vẫn có một số nhược điểm, chủ yếu là yêu cầu người dùng trả phí Gas cho các giao dịch và sự phổ biến của ví hợp đồng thông minh.
Dựa trên những thách thức này, Ethereum bắt đầu cố gắng giới thiệu một khái niệm mới, đó là trừu tượng hóa tài khoản. Mục tiêu của việc trừu tượng hóa tài khoản là giải quyết những vấn đề này ở cấp độ giao thức, thay vì dựa vào hợp đồng thông minh hoặc phần mềm trung gian khác. Đây là cái mà bây giờ chúng tôi gọi là trừu tượng hóa tài khoản (AA).
Trong phần còn lại của bài đăng này, tôi sẽ tìm hiểu khái niệm trừu tượng hóa tài khoản và cách chúng ta có thể sử dụng nó để tối ưu hóa cơ sở hạ tầng của BlockPI.
Ngoài 3 điểm bất tiện của EOA kể trên, mối quan hệ ràng buộc giữa public key và private key cũng là một vấn đề. Khóa riêng tư là cách duy nhất để truy cập EOA và nếu bị mất, không có cách nào để khôi phục khóa riêng tư. Điều này có nghĩa là nếu khóa riêng tư bị mất, tất cả tài sản liên quan đến nó sẽ không thể lấy lại được.
Ngoài ra, EOA cũng phải đối mặt với các ràng buộc khi thực hiện các tác vụ tuyến tính trong một giao dịch đơn lẻ. Ví dụ: nếu người dùng muốn phê duyệt, trao đổi và không phê duyệt mã thông báo trong một hành động, họ cần thực hiện ba giao dịch riêng biệt, điều này không hiệu quả và tốn thời gian.
Tin tốt là tất cả các vấn đề trên đều có thể được giải quyết bằng ví hợp đồng thông minh. Ví hợp đồng thông minh là một loại hợp đồng thông minh đặc biệt triển khai AA. Nó được thiết kế để hoạt động như một chiếc ví của người dùng trên mạng Ethereum và cung cấp một cách thích ứng và cá nhân hóa hơn để quản lý tiền của họ. Miễn là logic của hợp đồng thông minh Ethereum có thể được thực hiện, ví hợp đồng thông minh có thể cung cấp các chức năng cần thiết.
Cụ thể, các giao dịch của ví hợp đồng thông minh có thể được đóng gói thành một giao dịch trực tuyến để chia sẻ chi phí gas, nếu bên thứ ba sẵn sàng thanh toán, thậm chí có thể không có chi phí gas. Một hoạt động có thể tạo điều kiện thuận lợi cho việc thực hiện các tác vụ tuần tự trong ví hợp đồng thông minh của nó. Ví hợp đồng thông minh có thể hỗ trợ mọi thuật toán mã hóa chữ ký và đặt mã khôi phục, v.v.
Với tất cả các cuộc thảo luận về lợi ích của ví hợp đồng thông minh, cộng đồng Ethereum đã thực sự làm việc trên ví hợp đồng ngay từ đầu. Mặc dù nhiều EIP đã được đề xuất để khám phá tính trừu tượng của tài khoản, nhưng không có tiêu chuẩn thống nhất nào được thiết lập cho đến năm 2021. Dưới đây là một số đề xuất tiêu biểu nhất.
EIP-86
Ban đầu được tạo ra vào năm 2017 bởi Vitalik Buterin. Đã triển khai một loạt các thay đổi đối với dịch vụ xác minh chữ ký "trừu tượng" và kiểm tra nonce, cho phép người dùng tạo "hợp đồng tài khoản" để thực hiện bất kỳ kiểm tra chữ ký/noce mong muốn nào.
EIP-2938
Được tạo vào năm 2020. Tiêu đề của EIP này là Tóm tắt tài khoản. EIP này trình bày chi tiết về khái niệm AA. Nó giới thiệu một loại giao dịch mới, giao dịch AA. Giao dịch này sẽ được khởi tạo bởi địa chỉ EntryPoint và gọi là hợp đồng ví AA. Bằng cách đó, nó cung cấp một đặc điểm kỹ thuật thống nhất và đưa AA vào sự đồng thuận của Ethereum. Cụ thể hơn, nó bổ sung hai opcode mới, ba biến toàn cầu và cấu trúc tải trọng khác cho sự đồng thuận của Ethereum.
EIP-3074
Được tạo vào năm 2020. EIP này giới thiệu hai hướng dẫn EVM, AUTH và AUTHCALL. AUTH đặt một biến ngữ cảnh được gọi là được ủy quyền dựa trên chữ ký ECDSA. AUTHCALL gửi cuộc gọi thay mặt cho tài khoản được ủy quyền. Điều này cho phép hợp đồng thông minh gửi giao dịch thay mặt cho EOA. Nhưng đây không phải là một giải pháp hoàn hảo cho AA. EIP-3074 đặt ra những hạn chế nhất định đối với việc chuyển giá trị gốc trong các giao dịch tài trợ. Nếu bạn mất quyền truy cập vào EOA, bạn sẽ không thể khôi phục tài sản của mình và nếu bị đánh cắp, tất cả tài sản sẽ cần được chuyển sang một tài khoản mới.
Không có ý tưởng nào ở trên được chính thức áp dụng vào giao thức Ethereum vì những lý do chính như yêu cầu thay đổi ở lớp đồng thuận hoặc không toàn diện. Do đó, cộng đồng Ethereum tiếp tục khám phá cách đưa AA vào giao thức Ethereum mà không thay đổi sự đồng thuận và cuối cùng đã tạo ra EIP 4337.
ERC — 4337
EIP-4337 ban đầu được đề xuất vào tháng 9 năm 2021 và được ủy quyền là ERC-4337 vào tháng 3 năm 2023. Các tác giả của nó bao gồm Vitalik Buterin, Yoav Weiss, Kristof Gazso, Namra Patel, Dror Tirosh, Shahaf Nacson và Tjaden Hess.
EIP-4337 là một đề xuất thay đổi cuộc chơi giới thiệu AA mà không thực hiện bất kỳ thay đổi nào đối với giao thức Ethereum cốt lõi. EIP-4337 hướng dẫn tiêu chuẩn ERC-4337 mà các nhà xây dựng có thể sử dụng để triển khai ví hợp đồng thông minh của riêng họ và bao gồm một số cơ sở hạ tầng bổ sung, bao gồm nhóm bộ nhớ "Bundlers" và UserOperation. Bằng cách này, về cơ bản, nó sẽ sao chép chức năng của mempool giao dịch trong một hệ thống tiên tiến hơn. Thay vì gửi các giao dịch, người dùng gửi các đối tượng UserOperation, sau đó các đối tượng này có thể được đóng gói thành một giao dịch duy nhất và được đưa vào chuỗi Ethereum.
Sau đây là giải thích kỹ thuật cụ thể hơn về ERC-4337 từ tài liệu chính thức, cũng như một số nhận xét để hiểu rõ hơn.
Định nghĩa và vai trò chính của ERC-4337
UserOperation — cấu trúc mô tả các giao dịch được gửi thay mặt cho người dùng. Để tránh nhầm lẫn, nó không được đặt tên là "giao dịch". Nó được gửi tới Bundler để được đóng gói với các UserOperations khác. Gói này sau đó được gửi đến người tạo khối dưới dạng một giao dịch.
Người gửi — tài khoản hợp đồng gửi UserOperation mới. Ví hợp đồng thông minh phải triển khai giao diện IAccount của ERC-4337.
EntryPoint — một hợp đồng đơn lẻ triển khai gói UserOperations. Điểm truy cập được hỗ trợ trong danh sách trắng Bundlers/Clients. Hợp đồng này được nhóm Infinitism phê duyệt và xem xét, đồng thời chịu trách nhiệm xử lý tất cả Hoạt động của người dùng và kết nối các hợp đồng khác bao gồm Wallet Factory, Aggregator, Paymaster. Nó sẽ có cùng một địa chỉ trên hầu hết các chuỗi tương thích với EVM.
Bundler — một nút (trình tạo khối) gộp nhiều UserOperations từ một mempool và tạo các giao dịch EntryPoint.handleOps(). Tất cả các trình xác thực ở lớp giao thức không nhất thiết phải là Bundler. Dịch vụ Bundler có thể chạy độc lập với trình tạo khối và sử dụng RPC để gửi UserOperations đi kèm.
Trình tổng hợp — Hợp đồng trợ giúp được các tài khoản tin cậy để xác minh chữ ký tổng hợp. Trình tổng hợp được hỗ trợ danh sách trắng Bundlers/Clients. Trình tổng hợp phải triển khai giao diện ERC-4337 IAggregator.
Paymaster — Một hợp đồng có thể thanh toán phí gas của UserOperation cho Người gửi nếu đủ ETH được ký gửi trong hợp đồng EntryPoint. Paymaster thực hiện khai thác Gas hiệu quả. Paymaster phải triển khai giao diện Paymaster của ERC-4337. Paymaster có thể có logic riêng để thỏa thuận với Người gửi. Ví dụ: Người gửi thanh toán USDC cho Paymaster và Paymaster tài trợ cho Hoạt động người dùng của mình bằng ETH. Trên thực tế, bất kỳ mã thông báo ERC 20 nào hoặc thậm chí mã thông báo trên các chuỗi khác đều có thể được hỗ trợ miễn là Paymaster đồng ý và điều đó khả thi về mặt kỹ thuật.
Nhà máy Ví — một hợp đồng có thể được gọi để tạo ví hợp đồng thông minh cho người dùng ERC-4337. Việc triển khai một nhà máy sản xuất ví là không được phép. Là một thành phần trên chuỗi, nó được mở để kiểm toán công khai và giám sát minh bạch. Nhà máy Ví được sử dụng rộng rãi phải được kiểm toán đầy đủ bởi các chuyên gia.
Sơ đồ bên dưới giải thích cách hợp đồng EntryPoint tương tác với các tác nhân khác.
Các gói gọi hàm handleOps của hợp đồng EntryPoint, hàm này lấy UserOperation làm đầu vào.
handleOps xác minh UserOperation trên chuỗi, kiểm tra xem nó có được ký bởi địa chỉ ví hợp đồng thông minh được chỉ định hay không và liệu ví có đủ Gas để bồi thường cho Bundler hay không.
Nếu quá trình xác minh thành công, handleOps sẽ thực thi chức năng ví hợp đồng thông minh theo chữ ký chức năng và tham số đầu vào được xác định trong calldata của UserOperation.
Mặt khác, khi Bundler sử dụng EOA để kích hoạt chức năng handleOps, phí Gas sẽ phát sinh. Ví hợp đồng thông minh có thể thanh toán phí Gas cho Bundler từ số dư tài khoản của chính nó hoặc yêu cầu hợp đồng Paymaster thanh toán thay cho nó. UserOperations không có đủ Gas không thể vượt qua quy trình xác minh trong ví hợp đồng thông minh mục tiêu và do đó không thành công trước khi thực thi. Ngay cả khi có đủ gas, UserOperations có thể không thành công trong quá trình thực thi, chẳng hạn như do lỗi thời gian chạy. Cho dù việc thực thi có thành công hay không, hợp đồng EntryPoint sẽ trả phí Gas cho Bundler kích hoạt chức năng handleOps.
(Nguồn: Tài liệu chính thức:
Sau khi ERC-4337 có hiệu lực, người dùng hiện có hai cách để bắt đầu giao dịch chuỗi khối. Một là cách ban đầu, trong đó EOA bắt đầu giao dịch. Cách khác là sử dụng tiêu chuẩn ERC-4337 để bắt đầu UserOperation thông qua Bundler, sau đó Bundler sẽ đóng gói nó với UserOperations khác và khởi tạo nó trên chuỗi. Lưu đồ sau đây minh họa sự khác biệt giữa giao dịch gửi EOA thông thường và hoạt động gửi UserOperation của ví hợp đồng ERC-4337.
Đường trải nhựa nhưng vắng khách
ERC-4337 cung cấp một khuôn khổ mạnh mẽ cho người dùng và nhà phát triển sử dụng và xây dựng AA trên nền tảng Ethereum. Mặc dù khuôn khổ này là một bước tiến quan trọng, một số thách thức và sự không chắc chắn vẫn cần được giải quyết và giải quyết.
Việc áp dụng AA vẫn còn ở giai đoạn sơ khai. Theo bảng phân tích Dune ERC-4337 (Trừu tượng hóa tài khoản ERC-4337 từ @niftytable), chỉ có hơn 65 k+ UserOperations được thực thi trên chuỗi, 90% trong số đó đến từ Polygon. Do đó, số lượng UserOperations được thực hiện tại thời điểm này vẫn còn rất ít, hầu hết là các thử nghiệm của nhà phát triển và chỉ một phần nhỏ là do người dùng. Chúng tôi lưu ý rằng các sản phẩm tích hợp AA vẫn đang ở giai đoạn đầu. Đồng thời, bạn có thể thấy rằng lợi nhuận của Bundler là âm (-700 theo thuật ngữ MATIC). Điều này là do một số gói trên Đa giác không tính toán khí xác thực trước một cách chính xác. Thuật toán xác minh này vẫn cần tối ưu hóa.
Ngoài ra, có một vài vấn đề cần được giải quyết. Một vấn đề như vậy là cách Bundler xử lý các lỗi giao dịch. Sau khi Bundler kết hợp một số UserOperations lại với nhau, trước tiên, Bundler mô phỏng giao dịch để kiểm tra xem giao dịch đó có được khôi phục hay không, sau đó tính toán xem phí Gas do Người gửi hoặc Paymaster trả lại có lớn hơn phí Gas do giao dịch trả hay không. Nếu có lãi, Bundler sẽ gửi lô UserOperations này dưới dạng một giao dịch cho trình tạo khối. Tuy nhiên, giao dịch vẫn có thể thất bại, dẫn đến việc Bundler trả phí gas nhưng không nhận lại gas từ EntryPoint. Ví dụ: người dùng có thể gửi hành động đến các Gói khác nhau. Các nhà đóng gói sẵn sàng gửi bất kỳ hoạt động nào trên chuỗi nếu chúng có lãi và mô phỏng của chúng thành công. Điều này có nghĩa là nếu UserOperation được gửi bởi các Gói khác nhau cùng một lúc. Chỉ một giao dịch sẽ thành công, chỉ một Bundler sẽ nhận được phí gas từ EntryPoint, tất cả các Bundler khác sẽ bị mất gas do lỗi trên chuỗi. Mặc dù người ta có thể lập luận rằng người dùng không nên làm điều này, nhưng hành vi đó sẽ được coi là một cuộc tấn công nguy hiểm và Bundler có thể cấm địa chỉ Người gửi và từ chối mọi yêu cầu trong tương lai từ địa chỉ này, đây không phải là cách tiếp cận hợp lý vì người dùng Thao tác này có thể có đã được gửi một cách tình cờ. Những vấn đề như vậy cần được giải quyết đúng cách trong mã, có thể bằng cách phát triển một mạng bộ nhớ công cộng chưa hoàn thành. Ngoài ra, do biến động gas đột ngột, Bundlers có thể bị thua lỗ mặc dù các giao dịch đã được gửi thành công và được mô phỏng là có lãi.
Một điều nữa là giá trị có thể trích xuất tối đa (MEV) có thể được trích xuất từ AA. Trong ngữ cảnh của Ethereum, MEV thường đề cập đến giá trị mà các công cụ khai thác hoặc bộ xử lý giao dịch khác có thể trích xuất bằng cách thao túng thứ tự giao dịch trong một khối hoặc bao gồm các giao dịch của chính họ trong một khối. Có ai để ý rằng logic của MEV cũng có thể được áp dụng cho AA, vì các Bundler có thể tự do ra lệnh cho UserOperations không? Tuy nhiên, đây là điều kiện, cần phải nhóm đủ UserOperations cùng nhau để Bundler trích xuất MEV. Bây giờ toàn bộ thị trường AA vẫn còn ở giai đoạn sơ khai, vì vậy Bundler MEV cũng có thể được coi là ở giai đoạn sơ khai. Nói chung, ngành công nghiệp AA có thể phát triển theo hai hướng: một là tương tự như mạng chính Ethereum, với những người tham gia như Flashbots, Ultra Sound và BloXroute tham gia, và hướng còn lại là hình thành sự đồng thuận của Bundler để thực thi trật tự công bằng. Cách tiếp cận thứ hai sẽ loại bỏ hoàn toàn khả năng MEV trong AA.
Sự phát triển tương lai
bộ nhớ công khai
Mặc dù hệ sinh thái AA đã hoạt động nhưng vẫn còn rất nhiều việc phải làm. Nhìn vào toàn bộ hệ sinh thái AA, lỗ hổng lớn nhất hiện nay là public mempool. Nhóm Etherspot, các nhà phát triển của ứng dụng khách Skandha Bundler, hiện đang phát triển mạng p2p với một mempool công khai. Mạng p2p của public mempool dự kiến sẽ ra mắt vào tháng 8 năm nay.
Thuật toán đóng gói
Đồng thời, Ethereum Foundation đã tài trợ cho một số nhóm phát triển AA gồm các nhà phát triển tận tâm và chăm chỉ. Đến nay, một số phiên bản của ứng dụng khách Bundler đã được phát triển và hiện đã có sẵn. Một số trong số chúng được phát triển cao về độ chín của sản phẩm. Chúng là Candide (Voltaire Bundler viết bằng Python), Pimlico (Alto Bundler viết bằng Type), Etherspot (Skandha Bundler viết bằng Type), Stackup (Stackup-Bundler viết bằng Go) và nhiều hơn nữa.
Bây giờ, hãy đi sâu vào thuật toán đóng gói chi tiết hơn. Hiện tại, do số lượng UserOperations thấp, Bundlers có thể sử dụng logic đóng gói đơn giản và dễ hiểu, chẳng hạn như khoảng thời gian cố định hoặc số lượng UserOperations trong mỗi gói. Tuy nhiên, khi số lượng UserOperations tăng lên, đặc biệt là sau khi giới thiệu bộ nhớ công khai, chiến lược để chọn và đóng gói UserOperations trở nên phức tạp hơn. Lý do rất đơn giản: không có giao thức đồng thuận như blockchain, các Bundler tạo thành một khu rừng tối tăm, mỗi người ưu tiên công việc theo sở thích của mình và cạnh tranh với nhau. Các mempool riêng tư, tương ứng với các mempool công khai, có nhiều khả năng xuất hiện trước. Bởi vì khi đóng gói UserOperations từ mempool công cộng không mang lại lợi nhuận, thì việc đóng gói UserOperations lại với nhau trong mempool riêng có thể mang lại lợi nhuận. Bằng cách này, Bundler có lợi thế cạnh tranh khi đóng gói.
Ngoài ra, khi mempool công khai dần được chấp nhận, UserOperations trong đó sẽ có các đặc điểm khác nhau, chẳng hạn như kỳ vọng lợi nhuận Gas khác nhau và độ phức tạp thực thi trên chuỗi. Các nhà đóng gói sẽ tiến hành mô phỏng ngoài chuỗi để đánh giá khả năng sinh lợi của các kết hợp Hoạt động người dùng khác nhau nhằm thiết lập các chiến lược đóng gói độc đáo của họ. Đóng gói nhiều UserOperations hơn có khả năng mang lại lợi nhuận cao hơn, nhưng cũng làm tăng nguy cơ lỗi xác thực. Ngay cả khi quá trình xác minh được thông qua, rủi ro thực thi không thành công trên chuỗi vẫn tồn tại. UserOperations ít đóng gói hơn làm ngược lại. Các nhà đóng gói cần thiết lập các tham số khí giao dịch của riêng họ, điều này sẽ ảnh hưởng đến mức độ ưu tiên của các nhà xây dựng khối để thực hiện các giao dịch. Dưới các điều kiện giá Gas thị trường và biến động Gas khác nhau, Bundlers có thể có các chiến lược đóng gói khác nhau. Đồng thời, các tính toán chính sách và xác minh này cần sử dụng tài nguyên máy tính phần cứng cục bộ và tài nguyên nút chuỗi khối. Bundlers cũng cần đảm bảo rằng người dùng có trải nghiệm tốt và người dùng không gặp phải sự chậm trễ quá mức sau khi gửi UserOperation.
Mặc dù các giải pháp cho những thách thức này vẫn chưa chắc chắn, nhưng chúng tôi có thể tin tưởng rằng sự phát triển của ngành công nghiệp AA và nỗ lực kết hợp của các nhà phát triển cuối cùng sẽ tìm ra giải pháp. Là một nhà xây dựng cơ sở hạ tầng, BlockPI hy vọng sẽ giải quyết các vấn đề trong quá trình phát triển của ngành AA, cho dù với tư cách là nhà phát triển hay cung cấp cơ sở hạ tầng AA thân thiện cho các nhà phát triển khác.
Cơ sở hạ tầng phải thích ứng
AA trừu tượng hóa các vai trò khác nhau trong hành vi giao dịch trên chuỗi, bao gồm người gửi, người đóng gói, người trả phí gas, ví hợp đồng và người ký, cho phép người dùng có mức độ tự do cao hơn khi sử dụng chuỗi khối. Ngoài ra, các dịch vụ trong AA có thể được triển khai riêng.
Để thích ứng với việc áp dụng AA trên quy mô lớn, trước tiên các nhà cung cấp cơ sở hạ tầng cần cung cấp ít nhất hai dịch vụ cơ bản, đó là dịch vụ Bundler và dịch vụ Paymaster.
Trong dịch vụ Bundler, nhà cung cấp cơ sở hạ tầng có thể cần phát triển một mempool riêng với Bundler để đảm bảo trải nghiệm người dùng tốt. Cụ thể, các nhà cung cấp cơ sở hạ tầng cần tích hợp nhiều ứng dụng khách Bundler khác nhau để đảm bảo tính mạnh mẽ của các dịch vụ Bundler. Các ứng dụng khách Bundler này được phát triển bằng các ngôn ngữ lập trình khác nhau, nhưng tất cả chúng đều cung cấp một bộ phương thức JSON RPC tiêu chuẩn do nhóm nòng cốt ERC-4337 chỉ định. Hiện tại, không có nhiều phương pháp có sẵn, nhưng nhiều phương pháp sẽ được bổ sung trong tương lai. Các nhà cung cấp dịch vụ cơ sở hạ tầng nên cung cấp hỗ trợ liên tục và đầy đủ cho các API này.
Ngoài ra, điều quan trọng là phải tối ưu hóa và điều chỉnh mối quan hệ giữa API Bundler và RPC máy khách nút gốc. Chúng tôi biết rằng máy khách nút hiện tại không được tối ưu hóa tốt cho khả năng đáp ứng và khả năng thích ứng của AA. Các phương thức API Bundler nhất định yêu cầu chỉ mục dữ liệu của AA hoạt động. Ví dụ: tra cứu UserOperation bằng hàm băm yêu cầu lập chỉ mục tất cả UserOperations. Nếu không, mức tiêu thụ phần cứng của yêu cầu đơn lẻ này sẽ rất cao và yêu cầu sẽ mất nhiều thời gian để trả lại.
Ngoài ra, các nhà cung cấp cơ sở hạ tầng cũng cần tích hợp các dịch vụ Paymaster khác nhau để cung cấp cho khách hàng trải nghiệm người dùng miễn phí và cung cấp cho họ các tùy chọn dịch vụ khác nhau. Điều này đòi hỏi phải giao tiếp và tích hợp tốt với các nhà cung cấp dịch vụ Paymaster bên thứ 3. Đồng thời, theo nhu cầu thị trường, cũng có thể thiết kế các giải pháp tích hợp thuận tiện hơn dựa trên các dịch vụ Paymaster hiện có. Các dịch vụ khác, chẳng hạn như chữ ký tổng hợp, nhà máy ví, v.v., cũng là những hướng khả thi để phát triển và tích hợp trong tương lai.
Hiện tại, BlockPI đang thực sự cố gắng đạt được tất cả các mục tiêu trên. Không chỉ vậy, chúng tôi đang liên lạc với hầu hết tất cả các khách hàng của Bundler và nhà cung cấp dịch vụ Paymaster trong cộng đồng và đã ưu tiên hàng đầu cho việc tích hợp dịch vụ AA vào Mạng BlockPI. Chúng tôi cũng đang thảo luận chuyên sâu với các nhà phát triển ví AA để hiểu nhu cầu của người dùng. Do đó, chúng tôi chân thành hoan nghênh sự hợp tác và trao đổi với tất cả các Bundler, Paymaster và ví khi chúng ta tiến lên phía trước. Mục tiêu tổng thể của chúng tôi là xây dựng và phát triển hệ sinh thái AA cùng với những người khác, thúc đẩy sự tăng trưởng và phát triển của nó theo khả năng tốt nhất của chúng tôi. Bằng cách làm việc cùng nhau, chúng tôi hy vọng sẽ đóng góp có ý nghĩa cho toàn bộ ngành công nghiệp AA và hỗ trợ sự phát triển liên tục của nó. Bởi vì sau tất cả, sứ mệnh cuối cùng của chúng tôi là trở thành người tiên phong trong ngành và thúc đẩy sự phát triển của hệ sinh thái AA để người dùng web2 có thể tận hưởng trải nghiệm blockchain của họ mà không gặp rào cản.
Tóm tắt
Từ quan điểm của AA, chúng ta đang ở một thời điểm lịch sử mới. Mặc dù chúng tôi đã trải nhựa trên đại lộ nhưng vẫn chưa có nhiều người đi xe. Hiện tại, ứng dụng của AA vẫn còn ở giai đoạn sơ khai. ERC-4337 cung cấp một khuôn khổ mạnh mẽ cho người dùng và nhà phát triển sử dụng và xây dựng AA trên nền tảng Ethereum. Tuy nhiên, vẫn còn nhiều thách thức và sự không chắc chắn cần được giải quyết.
Nhà cung cấp cơ sở hạ tầng của AA cần cung cấp dịch vụ Bundler và dịch vụ Paymaster cho người dùng của mình, đồng thời cần tích hợp nhiều ứng dụng khách Bundler và nhà cung cấp dịch vụ Paymaster để đảm bảo tính mạnh mẽ của dịch vụ. Để tối ưu hóa khả năng phản hồi giữa API và máy khách nút, dữ liệu AA có thể cần được lập chỉ mục để giảm mức tiêu thụ phần cứng cho một yêu cầu. Để cung cấp trải nghiệm người dùng tốt hơn, các nhà cung cấp cơ sở hạ tầng cũng cần cung cấp cho người dùng nhiều tùy chọn dịch vụ hơn.
Trong tương lai, khi hệ sinh thái AA tiếp tục phát triển và các mempool công khai xuất hiện, chiến lược lựa chọn và đóng gói UserOperations sẽ trở nên phức tạp hơn. Mỗi Bundler ưu tiên công việc của mình theo sở thích riêng và cạnh tranh với các Bundler khác. Các nhà đóng gói cần thiết lập các tham số khí giao dịch của riêng họ, điều này ảnh hưởng đến mức độ ưu tiên của các nhà xây dựng khối để thực hiện các giao dịch. Dưới các điều kiện giá Gas thị trường và biến động Gas khác nhau, Bundlers có thể có các chiến lược đóng gói khác nhau.
Mặc dù các giải pháp cho những thách thức này là không chắc chắn, nhưng chúng tôi có thể tin tưởng rằng sự phát triển của ngành công nghiệp AA và nỗ lực kết hợp của các nhà phát triển cuối cùng sẽ tìm ra giải pháp. Là một nhà xây dựng cơ sở hạ tầng, BlockPI hy vọng sẽ trở thành người giải quyết vấn đề trong sự phát triển của ngành AA, với tư cách là nhà phát triển hoặc bằng cách cung cấp cơ sở hạ tầng AA thân thiện cho các nhà phát triển khác. Nhiệm vụ của chúng tôi là thúc đẩy sự phát triển của hệ sinh thái AA để người dùng Web2 có thể tận hưởng trải nghiệm blockchain của họ mà không gặp rào cản.