@1shotapiチームは、後から考えると明らかだったかもしれない @PayPal の x402 支払いの$PYUSDを実験しているときに、興味深い障害モードを発見しました。 $USDCとは異なり、PYUSD(@Paxos実装)は、使用済みナンスで 'transferWithAuthorization'を呼び出すと元に戻されません。 したがって、ファシリテーター/検証ロジックがオンチェーンで使用済みのナンスを明示的にチェックする場合、ファシリテーターはサーバーにtxが有効であることを伝え、'/settle'はPYUSDを転送せず、代わりに単に'AuthorizationAlreadyUsed'イベントを発行するトランザクションのガス処理に費やし、ファシリテーターが発行されたイベントを検査しない限り、顧客はペイウォールAPIを無料で使用できるようにします。 これはまた、悪意のあるユーザーが同じナンスで大量のx402支払いをサーバーに送信する可能性があり、オンチェーン読み取りを実行してもすべて検証され、ファシリテーターはPYUSDを転送せず、ブロックに含める前に元に戻らない悪いtxに対してガスを支払うことになります。 ファシリテーターがこれから身を守る唯一の方法は、送信されたナンスのオフチェーン記録を保持し、ペイウォール API が回避されないように、最終決済で「転送」イベントが発行されたことを確認することです。 これについては、x402プロトコルの貢献者からここに興味があります。