Você já imaginou enviar uma transação de Bitcoin por meio de uma simples imagem ou mesmo por satélite? Parece coisa de filme de ficção científica, mas um desenvolvedor está tornando isso uma realidade próxima. Vamos entender como?
Como são as transações de bitcoin
As transações de bitcoin são transmitidas entre computadores por meio de códigos aleatórios e uniformes, como o código abaixo:
0100000001f3f6a909f8521adb57d898d2985834e632374e770fd9e2b98656f1bf1fdfd427010000006b48304502203a776322ebf8eb8b58cc6ced4f2574f4c73aa664edce0b0022690f2f6f47c521022100b82353305988cb0ebd443089a173ceec93fe4dbfe98d74419ecc84a6a698e31d012103c5c1bc61f60ce3d6223a63cedbece03b12ef9f0068f2f3c4a7e7f06c523c3664ffffffff0260e31600000000001976a914977ae6e32349b99b72196cb62b5ef37329ed81b488ac063d1000000000001976a914f76bc4190f3d8e2315e5c11c59cfc8be9df747e388ac00000000
Cada parte do código tem um significado específico, por exemplo, os primeiros números “0100000001
” significam a versão da transação. A tabela abaixo mostra a decodificação de uma transação no formato em que os nodes de bitcoin usam para se comunicar.

Apesar de pequenas e bem otimizadas, as transações de bitcoin ocupam um espaço valioso de, no máximo, 1 MB a cada 10 minutos. Cada uma dessas transações no blockchain do bitcoin deve ser transmitida para todos os nodes da rede.
Isso pode ser muito custoso para pessoas que vivem em regimes autoritários ou simplesmente indivíduos com pouca capacidade de transmitir, ou receber informações. Por esse motivo, comprimir as transações de bitcoin é importante.
Transações de bitcoin em uma foto
Com transações menores, seria possível esconder transações de bitcoin em fotos e vídeos com mais facilidade. Essa técnica é chamada de esteganografia.
Técnicas de esteganografia, como a LSB (Less significant bit), faz mudanças em alguns bits para gravar mensagens sem modificar visivelmente a imagem em si.
Também é possível facilitar a transmissão de transações de bitcoin via satélite, onde a banda de transmissão é geralmente limitada.
Como a proposta está mudando o jogo?
A proposta dos desenvolvedores Tom Briar e Andrew Poelstra reduzem significativamente o tamanho das transações de bitcoin de várias maneiras, incluindo:
- Menos é mais: Em partes onde usamos 4 bytes para representar um número, a nova proposta usa um número de tamanho variável – tão pequeno quanto 2 bits!
- Localizando transações: Em vez de usar o identificador txid de 32 bytes, a proposta sugere uma referência ao local da transação no blockchain. Por exemplo, “123456 e 789” levaria à 789ª transação no bloco 123.456.
- Segurança acima de tudo: Para garantir a segurança, essa nova técnica só é usada quando a transação referenciada tem pelo menos 100 confirmações. Assim, evitamos possíveis reorganizações no blockchain que poderiam causar erros.
- Técnica ninja para P2WPKH: Quando a transação precisa de uma assinatura e uma chave pública de 33 bytes, a chave é omitida! Ao invés disso, ela é reconstruída a partir da assinatura. Genial, não?
- Economia extra: A proposta também utiliza algumas outras técnicas para economizar mais alguns bytes nas transações.

Nem tudo são flores
Descomprimir essas transações exige mais da CPU e memória dos dispositivos. Ou seja, as conexões de alta largura de banda provavelmente continuarão usando o formato de transação regular.
A compressão será uma bênção especialmente para conexões de baixa largura de banda.
Fontes: