A glowing orange key on a dark network grid

Cách AI thực hiện giao dịch onchain: ý định và quyền token

By AI News Crypto Editorial Team9 phút đọc

Cách các tác nhân AI thực hiện giao dịch trên chuỗi phụ thuộc vào cơ sở hạ tầng, không phải là "ma thuật AI": tác nhân tạo ra các ý định đã ký mà các tác nhân khác chuyển thành các thay đổi trạng thái Ethereum. Giao dịch chỉ được hoàn tất nếu hai đường ray được kết nối đúng cách, đường ray thực hiện (giao dịch EOA hoặc UserOperation ERC-4337) và đường ray quyền token (các khoản cho phép hoặc giấy phép kiểu Permit2).

Điểm chính

  • Một tác nhân AI không "giao dịch" một mình trên Ethereum. Nó phải kiểm soát hoặc được ủy quyền bởi một tài khoản trên chuỗi có thể kích hoạt các cuộc gọi hợp đồng và chuyển token.
  • Có hai đường ray thực hiện: một giao dịch bắt nguồn từ EOA, hoặc một UserOperation ERC-4337 mà một bundler gửi đến hợp đồng EntryPoint để xác minh và thực hiện.
  • Các giao dịch hoán đổi yêu cầu sự cho phép chi tiêu token rõ ràng trước khi di chuyển token, và Permit2AllowanceTransfer thêm thời hạn và nonce theo (chủ sở hữu, token, người chi tiêu) để ràng buộc và bảo vệ khỏi việc phát lại quyền đó.
  • Đối với kích thước lớn hơn hoặc kiểm soát nghiêm ngặt hơn, một Safe có thể tách biệt nhiệm vụ bằng cách cho phép đại lý đề xuất một giao dịch trong khi nhiều chủ sở hữu xác nhận trước khi thực hiện.

Cách một đại lý AI có thể giao dịch trên chuỗi

Đầu ra của một mô hình không phải là một hành động trên chuỗi. Chuỗi chỉ phản ứng với các tin nhắn vượt qua kiểm tra chữ ký và gọi vào các hợp đồng từ một tài khoản nắm giữ tài sản.Đó là thực tế cốt lõi đằng sau giao dịch tự động trên chuỗi: “đại lý” là một động cơ quyết định ngoài chuỗi, và phần trên chuỗi là một tài khoản cộng với một yêu cầu đã ký mà mạng sẽ chấp nhận.

Hai đường ray xuất hiện trên một trình khám phá khối. Đường ray đầu tiên là đường ray thực thi, có nghĩa là cách yêu cầu trở thành một giao dịch Ethereum. Trên Ethereum, chỉ có một Tài khoản Được Sở Hữu Bên Ngoài có thể khởi nguồn một giao dịch, vì một EOA được kiểm soát bởi một khóa riêngvà ký giao dịch trực tiếp. Một hợp đồng thông minhTài khoản có thể giữ tài sản và thực hiện logic, nhưng nó không thể tự mình khởi xướng một giao dịch. Nó chỉ thực hiện công việc khi được gọi bởi một thứ khác.

Đường ray thứ hai là chuyển động của token. ADEXswap không chỉ là “gọi một router.”ERC-20token không di chuyển vì một hàm hoán đổi được gọi. Chúng di chuyển vì chủ sở hữu token đã cấp quyền chi tiêu cho một người chi tiêu nào đó, và sau đó người chi tiêu đó sử dụng quyền đó để chuyển token.

Nếu tác nhân đang xây dựng việc thực thi tác nhân trên chuỗi mà liên quan đến ERC-20, nó phải giải quyết cả hai đường ray mỗi lần: (1) khiến chuỗi thực thi các cuộc gọi, và (2) đảm bảo hợp đồng đúng được ủy quyền để rút đúng số lượng token.

Đây là nơi các sản phẩm DeFi tập trung: thực thi tự động được bao bọc trong trải nghiệm người dùng ví, với các rào cản xung quanh những gì được ký và những gì được chi tiêu. Mô hình tư duy hữu ích là giống như mô hình đứng sau thực thi onchain tự động của DeFi như một danh mục: đại lý tạo ra các ý định, và hạ tầng biến những ý định đó thành thanh toán.

Pipeline thực thi ERC-4337

ERC-4337 biến “gửi một giao dịch” thành một chuỗi cung ứng với các tác nhân bổ sung, và điều đó thay đổi các giả định về độ tin cậy. Thay vì một EOA phát đi một giao dịch vào mempool công cộng, một ví ERC-4337 xây dựng một đối tượng UserOperation và chuyển nó cho một bundler, người sau đó gửi một giao dịch onchain đến một hợp đồng EntryPoint đơn lẻ.

Luồng từ đầu đến cuối dễ dàng theo dõi nhất dưới dạng một chuỗi:

1. Đại lý chuẩn bị một payload. Đối với một ví đại lý là một tài khoản thông minh ERC-4337, payload là một UserOperation với các trường như sender, nonce, callData,khí gasgiới hạn, tham số phí và một chữ ký. 2. Đại lý gửi UserOperation đến một mempool thay thế. Ví thường gửi nó đến một điểm cuối RPC bundler thay vì bể giao dịch Ethereum tiêu chuẩn. 3. Một bundler thu thập và mô phỏng.

Bundlers theo dõi alt-mempool, mô phỏng các UserOperations ứng cử viên và quyết định những cái nào sẽ được bao gồm trong một gói. 4. Bundler khởi tạo giao dịch onchain. Bundler gọi EntryPoint.handleOps với một mảng UserOperations, và cuộc gọi đó là giao dịch Ethereum thực tế được đưa vào một khối. 5. EntryPoint xác minh, sau đó thực thi.

EntryPoint theo dõi một mẫu hai giai đoạn: nó gọi validateUserOp trên tài khoản (và validatePaymasterUserOp nếu có một paymaster đính kèm) và chỉ sau đó thực hiện giai đoạn thực thi. 6. Gas được thanh toán thông qua prefunds hoặc một paymaster. ERC-4337 cho phép một hợp đồng Paymaster tài trợ gas bằng cách hoàn trả cho bundler theo các quy tắc đã định.

Đối vớiđại lý giao dịch AITrong cơ chế, điểm quan trọng không phải là định dạng chữ ký. Mà là ai chịu trách nhiệm cho việc bao gồm. Với ERC-4337, "được thực hiện bởi đại lý" không phải là khi đại lý ký. Mà là khi EntryPoint thực thi, và điều đó phụ thuộc vào hành vi của bundler và quy tắc của paymaster nếu gas được tài trợ.

Cách các đại lý nhận quyền chi tiêu token

Sự di chuyển của token là nơi mà hầu hết các thiết kế đại lý rò rỉ rủi ro, vì quyền truy cập thường kéo dài hơn giao dịch. Mô hình sạch là quyền truy cập trước, thực hiện sau. ERC-4337 có thể nén những điều đó thành một lần thanh toán bằng cách gộp nhiều hành động vào một UserOperation duy nhất, nhưng quyền truy cập vẫn phải rõ ràng và có giới hạn.

UniswapPermit2 AllowanceTransfer là một tập hợp cụ thể các nguyên thủy cho lớp này. Nó hỗ trợ ba điểm truy cập chính: approve (thiết lập quyền trên chuỗi), permit (thiết lập quyền thông qua chữ ký), và transferFrom (chi tiêu khi quyền hợp lệ đã tồn tại). Sự khác biệt quan trọng so với thói quen cũ "approve max forever" là các khoản trợ cấp Permit2 có thể được giới hạn thời gian bằng cách sử dụng một dấu thời gian hết hạn.

Permit2 cũng cung cấp một công cụ bảo vệ chống lại việc phát lại thực tế mà các tác nhân có thể sử dụng. Sơ đồ nonce của nó tăng nonce theo từng chủ sở hữu, từng token và từng người chi tiêu, được đóng gói vào một bản đồ cho phép. Điều đó có nghĩa là một quyền không chỉ là "chủ sở hữu đã ký một lần", mà là "chủ sở hữu đã ký cho khoảng thời gian chi tiêu cụ thể này cho người chi tiêu này, và nonce đó đã được tiêu thụ chưa."

Giấy phép của Permit2 hỗ trợ chữ ký EOA, chữ ký gọn EIP-2098 và chữ ký hợp đồng EIP-1271, điều này quan trọng khi chủ sở hữu là một tài khoản thông minh thay vì một EOA.

Đối với cách mà các tác nhân giao dịch DeFi, đây là mô hình hoạt động xuất hiện khi mọi thứ được xây dựng cẩn thận:

1. Tác nhân yêu cầu một khoảng thời gian chi tiêu hẹp. Số tiền bị giới hạn, thời gian hết hạn ngắn, người chi tiêu là cụ thể. 2. Tác nhân đóng gói quyền với thực thi. Một giấy phép hoặc phê duyệt có thể được kết hợp với cuộc gọi hoán đổi để cho phép không bị bỏ không. 3. Tác nhân chi tiêu thông qua transferFrom chỉ trong khoảng thời gian đó. Nếu khoảng thời gian hết hạn, quyền sẽ không còn hiệu lực trên chuỗi.

Đây cũng là nơi mà thực thi dựa trên ý định và mạng lưới giải quyết phù hợp về mặt khái niệm. Tác nhân có thể ký một ý định thể hiện kết quả mong muốn, trong khi các giải quyết cạnh tranh để định tuyến và giải quyết nó. Bất kể ai định tuyến, đường ray quyền token vẫn quyết định những gì có thể được rút từ tài khoản chủ sở hữu.

Kiểm soát multisig và chính sách với Safe

Mô hình kiểm soát mạnh mẽ nhất cho tiền thật là phân tách chính sách: cho phép tác nhân đề xuất, nhưng yêu cầu một ngưỡng Safe để thực thi. Điều đó giữ cho tự động hóa trong khi loại bỏ quyền lực đơn phương từ một khóa chạy mô hình duy nhất.

Luồng tài liệu của Safe rõ ràng về các chuyển giao. Một giao dịch được tạo ra, được đề xuất cho Dịch vụ Giao dịch Safe, được xác nhận bởi các chủ sở hữu khác, và chỉ sau đó được thực thi. Trong hướng dẫn Bộ công cụ Giao thức Safe, thứ tự là: tạo một đối tượng giao dịch, tính toán băm giao dịch Safe, đề xuất nó để các chủ sở hữu khác có thể thấy, thu thập xác nhận (chữ ký) từ các chủ sở hữu, sau đó thực thi với executeTransaction.

Điều đó quan trọng cho việc thực thi tự động vì nó thay đổi ý nghĩa của "hành động tác nhân". Tác nhân có thể tạo ra dữ liệu gọi chính xác cho cuộc gọi bộ định tuyến DEX, hoặc cho executeBatch của tài khoản ERC-4337, nhưng Safe là bàn rủi ro quyết định liệu tải trọng đó có được phép chạm vào chuỗi hay không.

Đây là một nơi sạch sẽ để thực thi các chính sách mà các nguồn không chuẩn hóa cho các tác nhân, như giới hạn người chi tiêu mới, yêu cầu xác nhận bổ sung cho các token mới, hoặc giới hạn kích thước.

Safe cũng hoạt động tốt với các mô hình khóa phiên ở lớp tài khoản. Các tài khoản ERC-4337 có thể xác thực các sơ đồ chữ ký khác nhau bên trong validateUserOp, và một khóa phiên có thể là một trong những sơ đồ đó. Điểm mấu chốt không phải là từ ngữ thời thượng. Điểm mấu chốt là một khóa ngắn hạn có thể được ủy quyền cho các hành động hẹp trong khi các chủ sở hữu dài hạn giữ quyền kiểm soát cuối cùng.

Đối với các nhóm xây dựng hệ thống defai, đây là sự khác biệt giữa "tác nhân có thể giao dịch" và "tác nhân có thể soạn thảo giao dịch." Soạn thảo là rẻ. Thực thi là nơi mà các thay đổi trạng thái không thể đảo ngược xảy ra.

Các thỏa hiệp thiết kế và chế độ thất bại

Chế độ thất bại đầu tiên là nhầm lẫn giữa các loại thông điệp. Một UserOperation không phải là một giao dịch Ethereum. Nó là dữ liệu trong một mempool thay thế cho đến khi một bundler gói nó vào một cuộc gọi EntryPoint.handleOps. Đó là lý do tại sao các tài khoản hợp đồng thông minh không thể “chỉ gửi giao dịch như EOAs.” Chỉ có EOAs mới phát sinh giao dịch, và các tài khoản thông minh chỉ hoạt động khi được gọi.

Chế độ thất bại thứ hai là coi bundler như một hạ tầng vô hình. ERC-4337 chuyển đổi giả định từ “ví của tôi phát sóng” sang “liệu một bundler có bao gồm tôi không.” Mô tả của Eco rõ ràng rằng các bundler theo dõi alt-mempool, mô phỏng và gửi các gói, trả phí gas L1 và được hoàn trả từ các khoản tiền trước hoặc các nhà thanh toán.

Nếu một điểm cuối bundler bị ngừng hoạt động, bị giới hạn tốc độ, hoặc từ chối một số thao tác nhất định, tác nhân có thể tiếp tục ký và không có gì sẽ được giải quyết.

Chế độ thất bại thứ ba là sự lan rộng quyền truy cập. Các phê duyệt không giới hạn không phải là một tính năng giao dịch. Chúng là một bề mặt thua lỗ thường trực. Các dấu thời gian hết hạn của Permit2 và nonce theo (chủ sở hữu, token, người chi tiêu) là các kiểm soát trên chuỗi có thể giới hạn bề mặt đó, nhưng chỉ khi tích hợp sử dụng chúng.

Một sai lầm phổ biến trong tích hợp là ủy quyền cho người chi tiêu sai hoặc truyền sai từ.địa chỉvào một cuộc gọi chuyển nhượng, mà Uniswap đánh dấu là một yếu tố an ninh cần xem xét khi tích hợp các hợp đồng.

Chế độ thất bại thứ tư là quá tín nhiệm AI. Hầu hết các sự cố trong việc thực thi tác nhân trên chuỗi đến từ việc kết nối, chứ không phải từ việc mô hình chọn sai bên. Nếu ví của tác nhân có thể ký một giấy phép rộng rãi, hoặc nếu các quy tắc của người thanh toán quá lỏng lẻo, hệ thống có thể thực hiện chính xác những gì nó được ủy quyền làm, và vẫn không chấp nhận được.

Tóm tắt sự đánh đổi rất đơn giản. EOAs thì đơn giản và trực tiếp nhưng đặt toàn bộ hệ thống dưới một khóa. ERC-4337 thêm tính năng gộp, xác thực tùy chỉnh và gas được tài trợ, nhưng giới thiệu một chuỗi cung ứng giao dịch với các bundler, EntryPoint và các paymaster tùy chọn. Safe thêm ma sát theo thiết kế, và ma sát đó là điểm quan trọng khi kích thước có ý nghĩa.

Gần cuối của bất kỳ tài liệu kiến trúc nghiêm túc nào, chủ đề rộng hơn vẫn là thực thi tự động trên chuỗi, và câu hỏi là hệ thống có thể hỗ trợ thực sự dưới áp lực với đường ray nào và lớp chính sách nào.

Lập luận

Tôi đã thấy các đội ngũ ám ảnh về phần “AI” và sau đó phát hành một sai lầm tốn kém: một sự chấp thuận token rộng rãi, kéo dài kết hợp với cơ sở hạ tầng dễ bị tổn thương. Khi có điều gì đó sai sót, hiếm khi là vì mô hình đã tưởng tượng ra một giao dịch. Đó là vì lớp cấp phép cho phép một người chi tiêu rút nhiều hơn dự định, hoặc vì chuỗi cung ứng ERC-4337 đã bị đình trệ tại bundler và không ai theo dõi sự bao gồm.

Tư thế sạch sẽ là coi điều này như một sơ đồ hai khóa mỗi lần: quyền thực thi và quyền chi tiêu. Nếu thiết kế không thể trả lời, trong một câu, ai là người khởi xướng giao dịch (EOA so với bundler qua EntryPoint) và chính xác người chi tiêu có thể rút ra điều gì (số tiền, thời hạn, phạm vi nonce), thì hệ thống không phải là “tự trị.” Nó chỉ là không được giám sát.

Nguồn

Câu hỏi thường gặp

Các tác nhân AI có cần khóa riêng của riêng mình để giao dịch trên chuỗi không?

Chúng cần quyền ký ở đâu đó, nhưng không nhất thiết phải là một khóa riêng toàn quyền duy nhất. Một tác nhân có thể ký như một EOA, ký UserOperations cho một tài khoản thông minh ERC-4337, hoặc đề xuất các giao dịch mà một Safe chỉ thực hiện sau khi nhiều chủ sở hữu xác nhận.

Sự khác biệt giữa UserOperation ERC-4337 và giao dịch Ethereum thông thường là gì?

Một giao dịch Ethereum thông thường được khởi xướng bởi một EOA và đi thẳng vào mempool công cộng. Một UserOperation là một giao dịch giả mà nằm trong một mempool thay thế cho đến khi một bundler gói nó thành một cuộc gọi đến hợp đồng EntryPoint, sau đó xác minh và thực hiện nó.

Các paymaster làm thế nào để cho phép thực hiện tác nhân trên chuỗi không cần gas?

Trong ERC-4337, một Paymaster là một hợp đồng thông minh tùy chọn đồng ý tài trợ gas bằng cách hoàn trả cho bundler chi phí gas. EntryPoint gọi validatePaymasterUserOp trong giai đoạn xác minh, và nếu nó vượt qua, gas sẽ được thanh toán từ khoản tiền gửi trên chuỗi của paymaster thay vì từ tài khoản người dùng.

Permit2 làm cho giao dịch tự động trên chuỗi an toàn hơn so với các phê duyệt không giới hạn như thế nào?

Permit2 AllowanceTransfer hỗ trợ các khoản cho phép với một dấu thời gian hết hạn rõ ràng, vì vậy các quyền có thể tự động hết hạn trên chuỗi. Nó cũng sử dụng các nonce được lập chỉ mục theo chủ sở hữu, token và người chi tiêu, điều này giúp ngăn chặn việc phát lại các giấy phép đã ký ngoài khoảng thời gian chi tiêu dự kiến.

Có thể sử dụng một Safe multisig với một tác nhân giao dịch AI không?

Có. Một mẫu phổ biến là tác nhân tạo ra payload giao dịch và đề xuất nó cho Dịch vụ Giao dịch Safe, sau đó các chủ sở hữu xác nhận và thực hiện nó khi đạt ngưỡng.

Cách AI thực hiện giao dịch onchain: intents, ERC-4337