A equipa do @1shotapi encontrou um modo de falha interessante enquanto experimentava com o $PYUSD do @PayPal para pagamentos x402, que em retrospectiva pode ter sido óbvio.
Ao contrário do $USDC, o PYUSD (que é uma implementação da @Paxos) não reverte ao chamar `transferWithAuthorization` com um nonce já utilizado.
Portanto, se a lógica de facilitador/validação não verificar explicitamente um nonce utilizado na blockchain, o facilitador dirá ao servidor que a transação é válida, e o `/settle` gastará gás processando uma transação que não transfere PYUSD, mas em vez disso simplesmente emite um evento `AuthorizationAlreadyUsed`, o que permitiria a um cliente usar a API com restrição de pagamento gratuitamente, a menos que o facilitador esteja inspecionando os eventos emitidos.
Isso também apresenta um potencial caso extremo para casos de uso de alta taxa de transferência para este tipo de implementação, onde um usuário malicioso poderia enviar um grande volume de pagamentos x402 com o mesmo nonce para um servidor, todos os quais verificariam mesmo fazendo uma leitura na blockchain, e o facilitador acabaria pagando o gás por transações ruins que não transferem PYUSD e também não reverterão antes da inclusão em um bloco.
A única maneira de um facilitador se proteger contra isso é manter um registro offchain dos nonces submetidos E verificar se um evento `Transfer` foi emitido na liquidação final para que as APIs com restrição de pagamento não sejam contornadas.
Estaríamos interessados em ouvir os contribuintes do protocolo x402 sobre isso.
Mostrar original1,05 mil
6
O conteúdo apresentado nesta página é fornecido por terceiros. Salvo indicação em contrário, a OKX não é o autor dos artigos citados e não reivindica quaisquer direitos de autor nos materiais. O conteúdo é fornecido apenas para fins informativos e não representa a opinião da OKX. Não se destina a ser um endosso de qualquer tipo e não deve ser considerado conselho de investimento ou uma solicitação para comprar ou vender ativos digitais. Na medida em que a IA generativa é utilizada para fornecer resumos ou outras informações, esse mesmo conteúdo gerado por IA pode ser impreciso ou inconsistente. Leia o artigo associado para obter mais detalhes e informações. A OKX não é responsável pelo conteúdo apresentado nos sites de terceiros. As detenções de ativos digitais, incluindo criptomoedas estáveis e NFTs, envolvem um nível de risco elevado e podem sofrer grandes flutuações. Deve considerar cuidadosamente se o trading ou a detenção de ativos digitais é adequado para si à luz da sua condição financeira.