
Nếu bạn đã dành thời gian quanh Ethereum trong vài năm qua, có lẽ bạn đã nghe cụm từ "account abstraction" được nhắc đến — thường đi đôi với tên mã ERC-4337. Nghe có vẻ học thuật, nhưng ý tưởng đằng sau nó thực sự rất thiết thực: ví Ethereum của bạn nên hoạt động như một phần mềm nhỏ mà bạn có thể tùy chỉnh, chứ không phải chỉ là một khóa riêng duy nhất với một giao diện kiểu "chấp nhận hoặc bỏ".
Trong bài viết này, chúng ta sẽ giải thích ERC-4337 thực sự thay đổi điều gì, bốn thuật ngữ chuyên môn mới mà nó giới thiệu (UserOperation, EntryPoint, bundler, paymaster), nó cho phép làm gì trong thực tế, và nó liên quan thế nào đến cách tiếp cận multisig của SSP. Không yêu cầu kiến thức trước về smart contract — chỉ cần sự tò mò về cách ví crypto hoạt động bên trong.
Vấn đề mà ERC-4337 đặt ra để khắc phục
Trước khi có account abstraction, mọi ví Ethereum đều là cái gọi là tài khoản sở hữu bên ngoài — một EOA (externally-owned account). Một EOA cực kỳ đơn giản: một khóa riêng kiểm soát một địa chỉ, và mọi hành động mà địa chỉ đó thực hiện đều phải được ký bằng chính xác khóa đó.
Sự đơn giản ấy đi kèm với những cạnh sắc:
- Không có khôi phục. Mất khóa, mất tiền. Không có liên kết "quên mật khẩu", không có người liên hệ tin cậy nào có thể bảo lãnh cho bạn, không có cơ chế mở khóa theo thời gian. Khóa chính là tài khoản.
- Không gộp giao dịch. Bạn muốn phê duyệt một token rồi swap nó? Đó là hai giao dịch riêng biệt, hai chữ ký riêng biệt, hai khoản thanh toán gas riêng biệt. Không có cách nào nói "làm cùng nhau hoặc không làm gì cả".
- Không có multisig gốc. Nếu bạn muốn nhiều người ký, bạn phải deploy một hợp đồng (như Safe, trước đây là Gnosis Safe), rồi để một EOA gửi giao dịch đến hợp đồng đó. Hợp đồng thì multisig, nhưng tài khoản tương tác với thế giới bên dưới vẫn là một EOA một khóa. Trải nghiệm người dùng luôn ở "hạng hai" so với một ví bình thường.
- gas luôn trả bằng ETH, luôn do người gửi trả. Không dApp nào có thể trả gas cho bạn. Không có chuyện trả gas bằng USDC. Không có ngoại lệ.
Các nhà phát triển đã xoay xở quanh những giới hạn này nhiều năm bằng những mẫu hợp đồng phức tạp. ERC-4337 cuối cùng đã cho họ một lối thoát chuẩn hóa — mà không cần bất kỳ thay đổi nào đối với giao thức nền tảng của Ethereum.
ERC-4337 giới thiệu điều gì
ERC-4337 không thay đổi cách Ethereum vận hành ở tầng giao thức — đó chính là chiêu thông minh của nó. Thay vào đó, nó định nghĩa bốn vai trò mới mà, kết hợp lại, mô phỏng "ví smart contract như công dân hạng nhất" hoàn toàn trong không gian người dùng. Một khi bạn biết bốn từ này, toàn bộ tiêu chuẩn rơi vào đúng chỗ.
UserOperation. Đây là đối tượng "ý định đã ký" mới, thay thế cho transaction thô đối với một ví AA. Trong khi một EOA tạo ra một giao dịch được ký bằng khóa duy nhất của nó, một ví AA tạo ra một UserOperation — một yêu cầu có cấu trúc nói "tài khoản này muốn làm X, đây là sự ủy quyền, đây là cách trả tiền cho nó". Một UserOperation có thể nói "chuyển 100 USDC cho Alice, được ủy quyền bởi chữ ký từ hai thiết bị này, và dApp sẽ chi trả gas".
Hợp đồng EntryPoint. Một smart contract duy nhất, chính thức, đã được audit, được deploy trên Ethereum, biết cách nhận các UserOperations, xác minh chúng theo luật của ví AA mà chúng đến từ, và thực thi các hành động kết quả. Mọi ví AA đều nói chuyện với cùng một EntryPoint, đó là điều khiến tiêu chuẩn trở thành tiêu chuẩn.
Bundler. Một chủ thể off-chain (hãy hình dung như một loại relayer chuyên biệt) lắng nghe các UserOperations trong một mempool công khai, gộp nhiều cái lại với nhau, và gửi cả nhóm đó đến EntryPoint dưới dạng một giao dịch Ethereum duy nhất. Bundler trả gas thực tế cho mạng và được hoàn trả bởi các UserOperations mà nó đã gộp.
Paymaster. Một hợp đồng tùy chọn có thể tình nguyện trả gas thay cho người dùng. Paymaster là thứ làm cho "dApp trả gas thay bạn" hoặc "trả gas bằng USDC thay vì ETH" trở nên khả thi. Không có paymaster, ví AA của người dùng tự trả gas của mình; với một paymaster, paymaster đứng ra trả.
Đó là toàn bộ từ vựng. Tất cả phần còn lại chỉ là trang trí.
Account abstraction cho phép điều gì trong thực tế
Bốn mảnh ghép trên nghe có vẻ trừu tượng cho đến khi bạn thấy chúng mở khóa điều gì:
- Tài trợ gas. Một dApp có thể trả gas cho người dùng mới để họ không cần phải có ETH trước khi làm bất cứ điều gì. Đây là điều cực lớn cho việc onboarding — người dùng mới có thể đăng ký, mint một NFT, hoặc thực hiện giao dịch đầu tiên mà không cần phải đi qua một on-ramp fiat-sang-ETH trước. Argent, Safe và ZeroDev đều hỗ trợ các luồng tài trợ ngày nay.
- Khôi phục xã hội. Bạn có thể cấu hình ví của mình sao cho nếu bạn mất khóa chính, một số đủ "người giám hộ" (bạn bè, gia đình, một thiết bị phần cứng trong két) có thể xoay khóa thay bạn. Logic khôi phục nằm trong hợp đồng ví của bạn — không có bên giữ tài sản tập trung nào nắm tiền của bạn, nhưng tiền của bạn không bị mất vĩnh viễn nếu một thiết bị duy nhất hỏng.
- Khóa phiên. Một dApp có thể yêu cầu ví của bạn một khóa với quyền hạn giới hạn, chỉ phạm vi một ứng dụng và một tập hành động, có hiệu lực trong vài giờ. Bạn ký một lần bằng khóa chính để cấp phiên, sau đó dApp có thể hoạt động bên trong sandbox của nó mà không cần hỏi bạn cho mỗi lần nhấp. Các studio game rất thích mẫu này.
- Hành động gộp. "Phê duyệt token này VÀ swap nó" trở thành một chữ ký, một UserOperation, một lần thực thi. Nếu bất kỳ bước nào thất bại, toàn bộ gói bị hoàn nguyên — không còn các giao dịch dở dang mắc kẹt trong trạng thái không nhất quán.
- Lược đồ chữ ký tùy chỉnh. Bạn muốn một ví dùng passkey, hay một enclave phần cứng, hay một lược đồ ngưỡng 2-trên-3? Logic xác minh nằm trong hợp đồng ví, nên bạn có thể dùng bất kỳ phương pháp mật mã nào bạn thích, không chỉ chuẩn EOA secp256k1 ECDSA.
Điều này liên quan thế nào đến mô hình multisig của SSP
SSP Wallet đi một con đường khác để đạt được nhiều mục tiêu giống nhau. SSP sử dụng multisig 2-of-2 BIP48 — hai khóa độc lập, trên hai thiết bị độc lập, cả hai đều bắt buộc để ký bất kỳ giao dịch nào. ERC-4337 và multisig BIP48 là các cơ chế khác nhau tấn công một vấn đề chung: không một thiết bị đơn lẻ nào nên là điểm thất bại duy nhất.
Một vài so sánh thành thật:
- Điểm chung. Cả hai đều loại bỏ chế độ thất bại "một khóa, một cơ hội" của một ví chữ ký đơn cổ điển. Mất một yếu tố, và bạn có thể khôi phục bằng cái còn lại. Bị xâm phạm một yếu tố (malware trên laptop, một chiếc điện thoại bị mất), kẻ tấn công vẫn không thể tự mình di chuyển tài sản.
- Khác biệt. BIP48 là một tiêu chuẩn multisig có gốc từ Bitcoin, hoạt động trên các chuỗi mà SSP hỗ trợ — Bitcoin, Ethereum, Litecoin và một số khác — sử dụng các nguyên thủy multisig gốc của từng chuỗi. ERC-4337 chỉ dành cho Ethereum và sống ở tầng smart contract, nên nó đi kèm với các năng lực mà BIP48 không có sẵn (tài trợ gas, khóa phiên), nhưng với cái giá là phạm vi chỉ trong Ethereum và chi phí phụ trội của việc thực thi hợp đồng.
- SSP đang ở đâu hôm nay. SSP được xây dựng xung quanh mô hình BIP48. Ví ERC-4337 và multisig kiểu SSP không phải là kẻ thù — chúng là những công cụ bổ trợ — và về nguyên tắc, một khóa multisig BIP48 có thể được sử dụng làm người ký bên trong một ví AA. Đó không phải là con đường chính của SSP hiện nay, và chúng tôi muốn rõ ràng về sản phẩm hôm nay hơn là hứa hẹn những tích hợp mà chúng tôi chưa giao.
Nếu bạn đang cân nhắc "tôi nên dùng ví AA hay multisig phần cứng?", câu trả lời thành thật là chúng giải quyết các vấn đề chồng lấn với những đánh đổi khác nhau — và câu trả lời đúng phụ thuộc vào chuỗi nào bạn quan tâm.
Những đánh đổi thành thật
Account abstraction là một bước tiến thực sự, nhưng nó không miễn phí, và bất kỳ ai nói với bạn ngược lại đều đang bán cho bạn cái gì đó.
- Chi phí gas cao hơn. Mỗi UserOperation thực thi mã hợp đồng trong EntryPoint và trong hợp đồng ví của bạn. Đó nghiêm túc là nhiều tính toán hơn so với một giao dịch ký bởi EOA, nghĩa là nhiều gas hơn. Bundling phân bổ một phần, nhưng tính trên từng hành động, bạn thường sẽ trả nhiều hơn so với một EOA.
- Khôi phục chỉ tốt bằng hợp đồng khôi phục. Khôi phục xã hội và các lược đồ người giám hộ là các tính năng mạnh mẽ — và chúng cũng là bề mặt tấn công mới. Một lỗi trong logic khôi phục, hoặc một tập người giám hộ hóa ra quá nhỏ, có thể thảm khốc không kém việc mất khóa EOA. Hãy bám lấy các triển khai ví đã được audit.
- Paymaster tạo ra mối quan hệ tin cậy. "dApp trả gas" nghe rất hay, nhưng nó có nghĩa là paymaster nhìn thấy các UserOperations của bạn và về nguyên tắc có thể từ chối tài trợ những giao dịch cụ thể. Đó là một mô hình tin cậy khác với "bạn trả gas của chính mình, không ai có thể chặn bạn".
- Ít được thử thách ở quy mô lớn. EOA đã bảo vệ hàng nghìn tỷ đô la trong hơn một thập kỷ. ERC-4337 đi vào hoạt động tháng 3 năm 2023 và vẫn đang chín muồi. Đối với cold storage giá trị cao, câu trả lời bảo thủ (ví phần cứng, multisig, hợp đồng đã audit) vẫn có thành tích dài hơn.
Đào sâu hơn
Để có góc nhìn từ phía SSP về cách bảo mật đa khóa hoạt động mà không cần smart contract, hãy đọc Multisig 2-of-2 là gì?.
Để có đặc tả kỹ thuật chính thức — bao gồm cấu trúc UserOperation chính xác, giao diện EntryPoint, và lý lẽ đằng sau từng quyết định thiết kế — bản thân EIP là nguồn gốc: https://eips.ethereum.org/EIPS/eip-4337.