Nhóm @1shotapi đã phát hiện một chế độ lỗi thú vị trong khi thử nghiệm với $PYUSD của @PayPal cho các khoản thanh toán x402, điều này có thể đã rõ ràng khi nhìn lại.
Khác với $USDC, PYUSD (một triển khai của @Paxos) không hoàn lại khi gọi `transferWithAuthorization` với một nonce đã sử dụng.
Vì vậy, nếu logic hỗ trợ/xác thực không kiểm tra rõ ràng một nonce đã sử dụng trên chuỗi, người hỗ trợ sẽ thông báo cho máy chủ rằng giao dịch là hợp lệ, và `/settle` sẽ tiêu tốn gas để xử lý một giao dịch không chuyển PYUSD mà thay vào đó chỉ phát ra một sự kiện `AuthorizationAlreadyUsed`, điều này sẽ cho phép khách hàng sử dụng API có phí mà không phải trả tiền trừ khi người hỗ trợ kiểm tra các sự kiện đã phát ra.
Điều này cũng tạo ra một trường hợp góc tiềm năng cho các trường hợp sử dụng có thông lượng cao cho loại triển khai này, nơi một người dùng độc hại có thể gửi một khối lượng lớn các khoản thanh toán x402 với cùng một nonce đến một máy chủ, tất cả đều sẽ xác minh ngay cả khi thực hiện một đọc trên chuỗi, và người hỗ trợ sẽ phải trả gas cho các giao dịch xấu mà không chuyển PYUSD và cũng sẽ không hoàn lại trước khi được đưa vào một khối.
Cách duy nhất để một người hỗ trợ bảo vệ chống lại điều này là giữ một bản ghi ngoài chuỗi về các nonce đã gửi VÀ kiểm tra rằng một sự kiện `Transfer` đã được phát ra trong việc thanh toán cuối cùng để các API có phí không bị lách.
Hiển thị ngôn ngữ gốc1,09 N
6
Nội dung trên trang này được cung cấp bởi các bên thứ ba. Trừ khi có quy định khác, OKX không phải là tác giả của bài viết được trích dẫn và không tuyên bố bất kỳ bản quyền nào trong các tài liệu. Nội dung được cung cấp chỉ nhằm mục đích thông tin và không thể hiện quan điểm của OKX. Nội dung này không nhằm chứng thực dưới bất kỳ hình thức nào và không được coi là lời khuyên đầu tư hoặc lời chào mời mua bán tài sản kỹ thuật số. Việc sử dụng AI nhằm cung cấp nội dung tóm tắt hoặc thông tin khác, nội dung do AI tạo ra có thể không chính xác hoặc không nhất quán. Vui lòng đọc bài viết trong liên kết để biết thêm chi tiết và thông tin. OKX không chịu trách nhiệm về nội dung được lưu trữ trên trang web của bên thứ ba. Việc nắm giữ tài sản kỹ thuật số, bao gồm stablecoin và NFT, có độ rủi ro cao và có thể biến động rất lớn. Bạn phải cân nhắc kỹ lưỡng xem việc giao dịch hoặc nắm giữ tài sản kỹ thuật số có phù hợp hay không dựa trên tình hình tài chính của bạn.