/Bitcoin: O que é a SegWit?

Bitcoin: O que é a SegWit?

No sistema da Bitcoin, todas as transações são gravadas permanentemente na blockchain. É este atributo que permite à Bitcoin ser completamente descentralizada. No entanto, estas transações são compostas de dados que ocupam espaço nos blocos da blockchain. Estes blocos têm atualmente um limite de 1MB o que faz com que as transações estejam limitadas a 3-7 transações por segundo (TPS) tendo em conta que os blocos são emitidos de 10 em 10 minutos. Este limite de 1MB foi imposto de modo a evitar certos vetores de ataque que podiam ser explorados sem o mesmo. No entanto, devido à crescente popularidade da Bitcoin, este limite está a ser testado – Ler mais.

De modo a que este limite possa ser aumento existem várias propostas tais como o Bitcoin Unlimited e SegWit. Hoje, vamos tentar explicar o que é a SegWit, a solução proposta pela equipa de desenvolvimento, Bitcoin Core.

O que é SegWit

SegWit é a abreviação de Segregated Witnesses e é uma proposta apresentada pela equipa Bitcoin Core. Vem na forma de um soft fork, um upgrade compativel 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 da 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 limite de peso. 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 da restante informação é contabilizada com quatro unidades. Esencialmente, 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 mais pequena, 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.

Outros benefícios

A vantagem mais evidente da SegWit, é o aumento de capacidade que é introduzido na forma de 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 o resto da transação de ser modificada não se podem proteger a elas próprias. Isto significa que a forma como o id da transação (txid) é calculado permite a qualquer um fazer alterações ao mesmo.

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 da Bitcoin, o que significa que as taxas não vão para eles.

Ativação

De modo a que o SegWit possa ser ativado, é necessária uma taxa de aprovação de 95%. Os mineradores podem votar ao incluir informação nos blocos que minam para sinalizar a sua decisão relativamente à proposta. O mínimo de 95% é baseado no método de ativação soft fork da BIP 24 (supermajority), que estipula que é necessário este mínimo de 95%.

In order for SegWit to be activated, it requires a 95% miner approva. The voting is done by miners that include certain data in the blocks they mine to signal their decision regarding the proposal. The 95% threshold is based on the BIP 34 (supermajority) softfork activation method, which stipulates the required 95%. Although this wouldn’t be strictly necessary, it minimizes the risk of future forks or double spends after SegWit activation.


Fonte (Escrito por António Madeira): https://www.cryptocompare.com/coins/guides/what-is-segwit/