A carregar preços…
🔥BULLISH

Bitcoin Core bloqueia pedidos de assinatura PSBT arriscados

A proteção colmata uma lacuna entre manter as chaves privadas seguras e garantir que uma assinatura autoriza realmente o destinatário aprovado pelo utilizador.

A 25 de setembro, o Bitcoin Core integrou uma proteção no seu ramo principal de desenvolvimento, bloqueando um caso específico de assinatura PSBT que poderia deixar desprotegido o destino de um pagamento. O problema envolve SIGHASH_SINGLE, um modo de assinatura que normalmente associa um input ao output na mesma posição. Se esse output não existir, a assinatura pode continuar válida sem vincular o destinatário pretendido.

Porque é importante

A falha não expõe chaves privadas. Cria um risco de autorização: em determinadas condições, uma carteira ou dispositivo de assinatura poderia mostrar um destinatário e, ainda assim, produzir uma assinatura que não garante que a transação continue a pagar a esse destinatário. Os programadores do Bitcoin Core afirmaram que assinaturas legacy afetadas podem ser reutilizadas contra outros outputs não gastos controlados pela mesma chave, quando se verificam as mesmas condições estruturais. O SegWit v0 mantém um compromisso com a moeda específica e o respetivo montante, mas o output de destino pode continuar sem estar vinculado.

As PSBT permitem que carteiras de software, dispositivos de hardware e signatários offline coordenem transações sem entregar as chaves privadas a quem as prepara. Por isso, o processo de assinatura é importante: uma assinatura válida deve comprometer-se com os detalhes aprovados pelo utilizador. A BIP 174 já recomenda que os signatários rejeitem modos de assinatura inaceitáveis e aconselha o uso de SIGHASH_ALL quando não é especificada uma alternativa.

Impacto no mercado

O Bitcoin Core já rejeitava este caso-limite através da sua interface de assinatura de transações raw, mas o percurso PSBT, incluindo walletprocesspsbt, ainda podia assiná-lo. A alteração integrada transfere a verificação para a lógica partilhada de criação de assinaturas, bloqueando inputs legacy e SegWit v0 afetados, enquanto permite que outros inputs válidos na mesma PSBT prossigam.

A proteção foi integrada no ramo de desenvolvimento, mas, até 4 de outubro, não tinha sido confirmada nenhuma versão de produção que a incluísse. Por isso, os fornecedores de carteiras e as integrações de assinatura por hardware devem rever o tratamento que dão aos pedidos SIGHASH_SINGLE, enquanto os utilizadores aguardam uma versão ou uma adaptação retroativa.

Tokens relacionados
$BTC

Perguntas frequentes

  1. Que risco abordou a proteção do Bitcoin Core?

    Uma PSBT podia ser assinada mesmo que a assinatura não vinculasse o destino do pagamento aprovado pelo utilizador. O problema não expunha chaves privadas.

  2. Que relação tem SIGHASH_SINGLE com o caso de output em falta?

    SIGHASH_SINGLE foi concebido para associar um input ao output na mesma posição. Se esse output não existir, a assinatura pode não proteger o destino pretendido.

  3. O problema afetava da mesma forma inputs legacy e SegWit v0?

    Não. Segundo os programadores, assinaturas legacy afetadas podem ser reutilizadas contra outros outputs não gastos em condições correspondentes. O SegWit v0 continua a comprometer-se com a moeda e o montante, embora o destino possa ficar sem vínculo.

  4. Porque é importante para os utilizadores de carteiras o percurso de assinatura PSBT?

    As PSBT coordenam transações entre carteiras de software, dispositivos de hardware e signatários offline. O signatário deve garantir que os detalhes da transação correspondem ao que o utilizador aprovou.

  5. A proteção estava disponível numa versão de produção do Bitcoin Core?

    A alteração foi integrada no ramo de desenvolvimento do Bitcoin Core a 25 de setembro. Até 4 de outubro, não tinha sido identificada nenhuma versão de produção que a incluísse nem qualquer adaptação retroativa confirmada.

Atribuição da fonte
Agregado de CryptoSlate · Verificado · Última atualização há 18d
Abrir original →