O que é a Bitcoin Improvement Proposal BIP 0069?

Author logo
Patrick Dike-Ndulue
Post image

Um BIP, ou Bitcoin Improvement Proposal, é uma sugestão de alteração para aprimorar o código do Bitcoin. Qualquer usuário pode propor um BIP e, após discussão e aprovação pela comunidade, ele pode ser adotado e implementado. Os BIPs geralmente trazem propostas para atualizações significativas (correções de bugs e ajustes menores não passam por esse processo amplo).

Vamos analisar um BIP específico, o de número 0069, e entender por que ele é importante. Essa atualização busca aumentar a segurança das transações de Bitcoin, tornando-as mais resistentes à análise.

Quais dados podem ser analisados?

Para entender exatamente o que o BIP 0069 propõe, é preciso saber como os ativos são transferidos na rede Bitcoin. Cada transação possui entradas e saídas, mas nada realmente “passa” por elas — elas apenas registram para onde os bitcoins estão sendo enviados e de onde vêm. As entradas representam ligações com as saídas de transações anteriores, chamadas de unspent transaction outputs (UXTOs). Parece complicado, então vamos a um exemplo.

Vamos comparar as transações em Bitcoin com pagamentos em dinheiro físico. Por exemplo, você quer comprar algo do seu amigo por 15 BTC. Antes disso, você recebeu duas transações de 10 BTC cada, ou seja, tem duas “notas” de 10 BTC na carteira. A origem de cada uma está anotada a lápis em cada “nota”. Essas são as entradas da sua nova transação. Como são duas notas, há duas entradas.

Agora, você pode pegar essas notas, escrever “para Pedro de Carlos” nelas e entregá-las ao seu amigo. Essa mensagem se torna a primeira saída da transação. Como seu amigo precisa te devolver o troco, ele separa 5 BTC da carteira dele, escreve “troco para Pedro de Carlos” — criando outra saída para o troco — e te entrega.

Simplificamos bastante o processo, e só três notas estão envolvidas nessa transação. Você pode receber seus 20 BTC em “troco miúdo”, ou seja, em vez de duas notas grandes, pode haver várias transações pequenas. Assim, surgem muito mais entradas e saídas.

O problema de segurança

O problema está na forma como as entradas e saídas são ordenadas. Não existe um padrão para registrar esses dados; cada carteira pode usar um método diferente. Algumas listam primeiro as entradas de gastos e depois as saídas de troco, permitindo que observadores obtenham informações sobre os fundos das carteiras do remetente e do destinatário. Outras ordenam as entradas pela data em que foram adicionadas à carteira, e assim por diante. Isso significa que a análise de dados pode identificar padrões específicos de uma carteira ou serviço.

Existe ainda outro risco no desenvolvimento de carteiras cripto. Kristov Atlas, autor do BIP 0069, propôs um cenário hipotético: um invasor com acesso ao código da carteira (como um desenvolvedor) poderia alterá-lo para ordenar as entradas e saídas conforme os bits da chave privada. Assim, o invasor conseguiria descobrir a chave privada apenas rastreando as transações, e esse “implante” seria muito difícil de detectar.

Como resolver o problema?

A vulnerabilidade pode ser eliminada se as entradas e saídas das transações forem ordenadas de modo que não haja padrões detectáveis. O BIP 0069 sugere uma abordagem não determinística para a ordenação, ou seja, que não possa ser deduzida a partir dos dados de entrada. E isso não exige algoritmos complexos: basta organizar os dados em ordem lexicográfica (alfabética crescente).

A Tangem Wallet já utiliza esse método. Sim, está disponível para dispositivos iOS e Android.
 

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.