De acordo com informações no Reddit, Twitter e no bitcointalk, um conhecido – e antigo – usuário do bitcointalk.org (Loaded), movimentou 40.000 bitcoins (isso mesmo, quarenta mil) pagando somente 0.0001 BTC de fee (US$ 1,08, na cotação de quando a transação foi feita).

Pelos dados fornecidos, a transação demorou 61 minutos para ser incluída na blockchain. No momento em que foi feita, a Mempool do bitcoin estava com, aproximadamente, 94.701.634 bytes de transações para serem processadas – algo entorno de 72 mil transações (imagem abaixo).

Essa informação é muito importante, pois mostra, na prática, como as transações do bitcoin podem ser escaladas.

O que é SegWit?

SegWit é a abreviação de Segregated Witnesses e é uma proposta apresentada pela equipe Bitcoin Core. Vem na forma de um soft fork, um upgrade que pode funcionar mesmo se alguns utilizadores não fizerem update no seu software (Sem resultar numa divisão da blockchain). Foi lançada na versão 0.13.1 do Bitcoin Core.

Nas transações do Bitcoin existem três elementos chave. Quem envia, recebe, e as assinaturas (chamadas de testemunhas) e estas ocupam uma grande parte do tamanho da transação. Ao contrário da crença popular, a segwit não separa as assinaturas das transações.

Em vez disso, a SegWit passa a utilizar outra forma de contabilizar o tamanho dos blocos. Em vez de usar um limite de 1MB para os blocos, usa um valor maior. Este limite passa a ser de 4 Milhões de unidades. Neste sistema, cada byte de assinaturas (testemunhas) é contabilizado como uma unidade e cada byte informação restante é contabilizada com quatro unidades. Essencialmente, a SegWit introduz um novo formato de transações.

Isto significa que o tamanho dos blocos é aumentado sem ser necessário um hard-fork. Isto porque depois da SegWit, cada byte de assinaturas é contado como 0.25 bytes, ou seja se as transações tivessem apenas dados de assinaturas, o tamanho máximo seriam aproximadamente 4MB. Isto não significa que a informação fica menor, apenas que é contabilizada de modo a que o limite de 1MB seja aumentado. Esta mudança, só afeta as assinaturas e como tal, cada byte fora das assinaturas ainda é contado como 1 byte (ou 4 unidades). Como tal, os blocos passam a ter uma capacidade de cerca de 2MB.

A vantagem mais evidente da SegWit, é o aumento de capacidade que é introduzido como um formato de transação diferente. No entanto, existem mais vantagens que podem ser vistas aqui.

No entanto, consertar os problemas de maleabilidade de transação é a mais importante. Maleabilidade de transação existe porque as assinaturas que protegem as transações de serem modificadas​, não podem proteger a si mesmas. Isto significa que a forma como o id da transação (txid) é calculado permite a qualquer um fazer alterações.

SegWit arranja isto ao remover as assinaturas do id da transação, o que torna impossivel alguem modar os dados da assinatura. Com a SegWit, a txid é depois calculada apartir de dados que não podem ser mudados.

O acerto da Maleabilidade de transação abre o caminho para canais de pagamento como a Lightning Network (LN). Esta é uma das razões pela qual os mineradores e pools não gostam da SegWit. Transações que ocorrem nestes canais de pagamento não fazem parte da network do Bitcoin, o que significa que as taxas não vão para eles.

Autor: José Domingues da Fonseca Neto

Advogado, atua na área de direito societário e tributário, escreve para o Guia do Bitcoin sempre que pode.