Descomplicando o segwit Bitcoin

Descomplicando o segwit

Rafael Lemos

Para quem está investindo/acompanhando as notícias relacionadas ao Bitcoin nos últimos meses provavelmente já deve ter escutado/ lido o termo SegWit por aí, mas o que realmente significa esta palavra e o que ela tem de tão importante? Nesse texto vamos tentar descomplicar este conceito e mostrar quais as implicações desta implementação na rede Bitcoin.

O que é?

SegWit, abreviação de Segregated Witness (Testemunha Segregada) é um upgrade de protocolo que foi ativado no bitcoin em 23 de Agosto de 2017. Esta proposta surgiu com o objetivo de resolver o problema da maleabilidade de transações e para isto, fez-se necessário mover esses “dados de testemunho” para fora do Blockchain.
Simplificadamente, a função do SegWit é separar os dados de assinatura digital de cada transação Bitcoin. Quando essa parte da transação é removida, mais espaço dentro de cada bloco fica disponível para ser preenchido por novas transações. Ou seja, matando dois problemas numa tacada só: Maleabilidade de Transações e Escalabilidade da rede.

Transação de Bitcoins: entenda de uma vez por todas como funciona!


O tamanho limite de cada bloco na Blockchain do BTC é de 1 MB, e devido à adoção em massa de 2017, a rede não estava conseguindo ‘dar conta’ da nova demanda, o que elevou bastante a quantidade de transações pendentes e, consequentemente, as taxas para transacionar Bitcoin.

Fonte: https://blockchain.info/pt/charts/mempool-count?timespan=1year

Como podemos ver, durante o ano de 2017 chegamos a registrar 200.000 transações pendentes na Blockchain, mas que tal dar uma olhada no gráfico das taxas?

Fonte: https://bitinfocharts.com/comparison/bitcoin-transactionfees.html#1y

Incrivelmente chegou a custar quase 60 dólares para realizar uma transação em Bitcoin. E aí? Algo precisava ser feito, correto? Já que o tamanho do bloco é limitado em 1MB, a equipe do Bitcoin Core solucionou este problema através do SegWit, e como podemos ver através dos gráficos das taxas e transações pendentes, funcionou muito bem. Cerca de 65% do bloco de transações é ocupado pelos dados das assinaturas digitais, então com o esvaziamento desse espaço, podemos ter uma quantidade de transações bem maior dentro de um bloco.
Didaticamente, vamos imaginar que uma transação em Bitcoin seja um cheque, como o da imagem abaixo. Assim como o cheque, as transações em BTC possuem um input (remetente), output[s] (destinatário[s]) e quantia.

No caso do Bitcoin, imagine que esta parte da assinatura ocupa cerca de 65% de espaço no bloco de transações, então basicamente o SegWit faz isso aqui:

Pronto. Agora você tem um cheque sem os dados de assinatura, representando o que o SegWit faz com as transações de BTC.
Nem todas as carteiras ainda dão suporte ao SegWit, mas a quantidade vem crescendo a cada dia. A FOXBIT, por exemplo, já utiliza da tecnologia do SegWit para realizar os saques em Bitcoin da plataforma, o que permitiu reduzir bastante a taxa para saques da Exchange. Um grande avanço é que a atualização 0.16.0 (26/02/2018) da carteira do Bitcoin Core já dá suporte completo ao SegWit, e cada vez nomes maiores vêm aderindo à nova tecnologia, como é o caso da Coinbase e da plataforma de negociações da GDAX.

Fonte: http://segwit.5gbfree.com/countsegwit.html#

Atualmente cerca de 16% das transações já utilizam a tecnologia SegWit, e a tendência é que essa porcentagem suba ainda mais a partir do suporte destes grandes nomes, como é o caso da Coinbase e GDAX.