Por que algumas blockchains escondem o que você está assinando

Por que blockchains como Ethereum e Solana fazem você assinar no escuro — e como o setor está tentando resolver isso.

Author logo
Patrick Dike-Ndulue
•
Post image

Ao aprovar uma transação cripto em uma carteira de hardware, você está fazendo uma de duas coisas: ou está lendo um resumo claro, em português, do que vai acontecer, ou está assinando uma parede de código hexadecimal esperando que esteja tudo certo. Blind signing é o ato de aprovar uma transação digital sem conseguir verificar todos os detalhes dela em um formato legível para humanos.
 

 Em fevereiro de 2025, o blind signing contribuiu para o  hack de US$ 1,5 bilhão da Bybit, o maior roubo de cripto da história. Os invasores não quebraram nenhuma criptografia. Eles exploraram o fato de que quem assinava não conseguia diferenciar uma transferência comum de uma atualização maliciosa de contrato.
 

Se a sua carteira pode mostrar um resumo claro e legível antes de você assinar não é uma questão de qualidade do software. Isso depende de como cada blockchain foi desenhada no nível do protocolo. Algumas blockchains foram criadas para que as transações se descrevam sozinhas. Outras escondem detalhes críticos em blocos binários que exigem informações externas para decodificar. Este artigo explica como essas decisões de design se distribuem entre as principais blockchains e o que isso significa para a sua segurança.

 

image.png

O modelo dos três níveis

Clear Signing é um processo de segurança que permite que você confira todos os detalhes de uma transação digital em um formato legível na tela segura da carteira antes de aprovar. 


Em 13 principais ecossistemas de blockchain, o suporte à assinatura clara se divide em três níveis distintos, dependendo da arquitetura do protocolo. Não se trata de quais blockchains são boas ou ruins, mas sim das escolhas de design feitas anos atrás, muitas vezes antes de se entender totalmente as implicações de segurança.

 

image.png

 

Nível 1: feito para transparência

Essas blockchains deixam claro que a assinatura é uma consequência natural do design. O motivo principal: elas usam um conjunto finito de estruturas de transação tipadas, onde cada campo tem um nome, um tipo e um esquema definido. Uma carteira de hardware não precisa de informações externas para interpretar; a própria transação diz o que é.

 

O XRP Ledger talvez ofereça a experiência de assinatura mais clara e robusta entre as grandes blockchains. Seu formato binário inclui um campo TransactionType que garante a interpretação determinística entre mais de 50 tipos de transação: Payment, OfferCreate, TrustSet, EscrowCreate e outros. Cada campo tem um esquema definido. Uma carteira de hardware pode exibir destinatário, valor, taxa, memo e todos os parâmetros específicos sem precisar buscar nada fora. Quase 100% das transações atuais na mainnet podem ser assinadas de forma totalmente clara.

 

Polkadot desenvolveu a solução tecnicamente mais sofisticada de assinatura clara do setor com seu  sistema de metadados de runtime (MetadataV14/V15). Cada transação referencia índices de pallet e call, e os metadados mostram exatamente o que cada índice significa e como decodificar os argumentos. O desafio é que o metadado completo ultrapassa 200KB, grande demais para carteiras de hardware com pouca memória. 

A solução,  RFC-0078 (Merkleized Metadata), constrói uma árvore criptográfica dos metadados, transmite apenas o subconjunto relevante e verifica a prova de inclusão na blockchain. O resultado é um único aplicativo Ledger que funciona em todos os parachains Polkadot sem precisar de atualização para cada chain.
 

Cosmos utiliza uma arquitetura de mensagens tipadas e o  padrão SIGN_MODE_TEXTUAL (ADR-050), introduzido no Cosmos SDK v0.50, que exibe transações em telas legíveis, otimizadas para displays pequenos. Os valores aparecem como "2 ATOM" em vez de "2000000uatom". O NEAR Protocol vai além, com  nomes de contas legíveis como "alice.near" e argumentos serializados em JSON que a carteira pode mostrar em texto claro.
 

Nível 2: funciona para o básico, falha no avançado

Seis ecossistemas oferecem assinatura clara sólida para operações nativas, mas perdem transparência quando contratos inteligentes entram em cena. O caso do Bitcoin é emblemático. O modelo UTXO faz com que transações brutas não incluam valores de entrada; a carteira de hardware não consegue calcular a taxa sem informações extras das saídas anteriores.  PSBT (BIP 174) resolve isso para pagamentos padrão, cobrindo cerca de 90% das transações típicas, mas gastos via Taproot e setups multisig complexos ainda geram opacidade.
 

Stellar mostra claramente essa divisão do nível 2. Suas 26 operações clássicas (Payment, ManageSellOffer, ChangeTrust) têm esquemas fixos e aparecem perfeitamente nas carteiras de hardware. Mas os contratos inteligentes Soroban, lançados em 2024, trazem de volta a opacidade estilo EVM; os parâmetros chegam como tipos binários codificados que exigem conhecimento específico do contrato para decodificar, reduzindo a cobertura de cerca de 95% para operações clássicas a quase zero para interações Soroban brutas. Algorand, Cardano, Aptos e Tezos seguem padrões semelhantes: cobertura forte para operações nativas, mas grandes lacunas para lógica programável avançada.
 

Nível 3: opacidade faz parte do projeto

Três ecossistemas têm escolhas arquiteturais que tornam a assinatura clara um desafio, independentemente da qualidade do software da carteira. Entender o porquê ajuda a explicar por que alertas de blind signing aparecem em quase todas as interfaces DeFi.
 

Ethereum e todas as chains compatíveis com EVM compartilham o mesmo problema: a codificação ABI não é autoexplicativa. Ao interagir com um contrato inteligente, o campo de dados da transação contém um seletor de função de 4 bytes — os quatro primeiros bytes do hash do nome da função — seguido dos parâmetros codificados em blocos de 32 bytes. Sem o ABI JSON do contrato, isso é puro hexadecimal sem sentido. Esse ABI não fica armazenado na blockchain. A carteira de hardware não tem como saber que 0xa9059cbb... significa "transferir 1.000 USDC para 0xABC..." sem metadados externos. 
Contratos proxy, que redirecionam a execução para contratos de implementação cujos endereços podem mudar, agravam o problema — foi assim que o hack da Bybit aconteceu.
 

A resposta do setor para isso é o  ERC-7730, um padrão de metadados criado em 2024 que fornece arquivos JSON descrevendo como decodificar e exibir interações específicas de contratos. Funciona, mas exige que alguém escreva e mantenha esse metadado para cada contrato com o qual você possa interagir. No fundo, é um remendo aplicado a uma arquitetura que não foi feita para transparência.
 

Solana é talvez ainda mais desafiadora. As instruções das transações contêm um ID de programa e um array de bytes opaco com dados da instrução, sem um ABI padronizado — cada programa define seu próprio formato de serialização. O framework Anchor oferece uma abordagem semi-padrão usando discriminadores de 8 bytes, mas muitos programas não usam Anchor nem publicam suas definições de interface. Em DeFi, a maioria do volume de transações da Solana exige blind signing. 

TON adiciona ainda mais complexidade com execução assíncrona: você assina só a mensagem inicial, e tudo que acontece nos blocos seguintes fica invisível no momento da assinatura.

 

 Principais aprendizados

A dica mais prática: saiba em qual nível sua blockchain está antes de usar uma carteira de hardware para DeFi. Em blockchains de Nível 1, a assinatura clara funciona como deveria. No Nível 2, transferências simples são seguras para assinar, mas vale pesquisar qualquer interação complexa com contratos inteligentes. No Nível 3, trate toda transação em protocolos DeFi com ceticismo extra e confira se o dApp e a carteira suportam metadados ERC-7730 antes de aprovar qualquer valor relevante.
 

Fabricantes de carteiras de hardware estão trabalhando ativamente nisso. O Generic Parser da Ledger lê arquivos de metadados ERC-7730 e exibe detalhes da transação na tela segura. 

A abordagem Merkleized Metadata da Polkadot é talvez a solução mais elegante do setor: sem confiança, verificada criptograficamente e nativa do protocolo. O mercado está avançando para padrões melhores, mas as limitações fundamentais das chains de Nível 3 não vão desaparecer.
 

A regra mais simples: se sua carteira mostrar um hash ou uma sequência de bytes hexadecimais e pedir para você assinar, encare isso como um sinal de alerta.

 

Fontes e leituras recomendadas

Os recursos a seguir trazem detalhes técnicos sobre os protocolos e padrões discutidos neste artigo.

Especificação ERC-7730 (Ethereum Foundation)

Padrão de metadados para assinatura clara em EVM

BIP 174 — PSBT (Bitcoin Improvement Proposals)

Assinatura parcial de transações no Bitcoin

Polkadot RFC-0078: Merkleized Metadata

Assinatura clara sem confiança na Polkadot

Cosmos ADR-050: SIGN_MODE_TEXTUAL

Assinatura legível para humanos no Cosmos

NEAR Protocol: Account Model

Identificadores de conta legíveis

XRP Ledger: Transaction Types

Esquemas de transação tipada do XRP

Ethereum: EIP-712 Typed Structured Data Signing

Padrão de assinatura de dados estruturados off-chain

Substrate Runtime Metadata Documentation

Sistema de metadados Polkadot/Substrate

Ledger ERC-7730 Registry (GitHub)

Envio comunitário de metadados

Algorand ARC-4: ABI Standard

ABI de contratos inteligentes Algorand

Perguntas frequentes

  • Assinatura clara significa que sua carteira de hardware exibe detalhes legíveis na tela confiável antes de você aprovar: endereço do destinatário, valor do token, taxa da rede e qual ação está autorizando. Blind signing é quando a carteira mostra dados binários codificados (normalmente uma string hexadecimal) que você não consegue interpretar, e você aprova na confiança. O risco de segurança é que um app comprometido pode mostrar uma coisa na tela enquanto envia sua assinatura para uma transação totalmente diferente.

  • Nem sempre, mas o risco existe. Para transferências simples de ETH entre carteiras comuns, sua carteira de hardware geralmente consegue mostrar destinatário e valor de forma clara. O problema de opacidade aparece ao interagir com contratos inteligentes: trocar tokens, prover liquidez, aprovar permissões. Nessas situações, você só verá detalhes claros se o dApp e a carteira implementarem metadados ERC-7730. Se não implementarem, você estará assinando no escuro.

  • O design do protocolo envolve escolhas e concessões. O sistema ABI flexível do Ethereum permite o ecossistema rico de aplicações DeFi que não existiria em uma chain mais restrita como a XRP Ledger. Essa flexibilidade tem o custo de não ter transações autoexplicativas. Mudar isso agora quebraria a compatibilidade de milhares de contratos inteligentes já implantados. O padrão ERC-7730 e iniciativas como EIP-712 são melhorias práticas dentro da arquitetura existente, não uma reinvenção completa do protocolo.

  • ERC-7730 é um padrão de metadados em JSON criado em 2024 que orienta carteiras de hardware sobre como decodificar e exibir interações específicas de contratos inteligentes. Uma equipe de protocolo pode submeter um arquivo de metadados que mapeia a codificação ABI bruta das funções do contrato para rótulos e formatos legíveis.

  • Sim, de forma significativa. Mesmo quando a carteira de hardware exibe dados codificados em vez de um resumo claro, a chave privada nunca sai do elemento seguro, e a decisão de assinar acontece em hardware isolado. Um computador comprometido não consegue extrair sua chave. O risco do blind signing em hardware é você aprovar uma transação que não teria aprovado se entendesse, mas sua chave permanece protegida. Já nas carteiras de software, além de aprovar no escuro, se o software estiver comprometido, sua chave também pode ser exposta.

Author logo
Autor Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
Analisado por Rukkayah Jigam

Writer & editor covering digital assets and product updates.