Na rede Bitcoin, os mineiros têm a responsabilidade de verificar as transações e adicionar novos blocos. Em troca, são recompensados com bitcoins recém-cunhadas. Estas tarefas requerem hardware informático sofisticado para realizar. Os computadores agem como validadores e são referidos como nós.
Como o número de usuários na rede continua a crescer, mais transações precisam ser verificadas e mais blocos adicionados. O tamanho do bloco Bitcoin é limitado a 1MB e são criados novos blocos a cada 10 minutos. Cada bloco na rede contém em média 2.700 transações, com uma velocidade de processamento de 7-8 transações por segundo. Isso limita o número de transações que podem ser processadas, bem como o número de transações adicionadas a um bloco. Tudo isso levou a um abrandamento da rede Bitcoin.
Para resolver este problema, o desenvolvedor Pieter Wuille propôs a Ideia de Testemunha Separada (SeGWit) na conferência Scaling Bitcoin realizada em dezembro de 2015. Inicialmente, esta ideia era corrigir um erro na rede conhecido como um erro de maleabilidade. O erro permite que qualquer pessoa na rede adultere os dados das transações. Separar os dados das testemunhas do bloco base forneceu uma solução para este erro, bem como dimensionar a blockchain. Então, neste artigo, vamos explorar como o SegWit ajudou a lidar com esses problemas na rede Bitcoin.
A Testemunha Separada (SegWit) é uma atualização na blockchain Bitcoin que separa os dados das testemunhas do bloco base. É uma melhoria destinada a resolver o problema de bugs de maleabilidade e escalar a rede. Ao separar os dados testemunhas do bloco base, é criado mais espaço no bloco e mais transações podem ser acomodadas sem alterar o tamanho original do bloco de 1 MB.
A ideia de SeGWit foi proposta pelo desenvolvedor Pieter Wuille em 2015. O SegWit divide a transação em duas partes. Os dados das testemunhas estão separados do bloco base mas continuam a fazer parte da cadeia de blocos. A parte original contém o endereço da carteira do remetente e do destinatário e a outra parte contém scripts e assinaturas. Esta segregação dá espaço para mais transações num bloco. Também ao remover os dados das testemunhas do bloco de base, ninguém poderá alterar uma transação não confirmada na rede. A Bitcoin não é a primeira blockchain a ativar esta ideia. O SegWit foi ativado na Litecoin (LTC) em maio de 2017, seguido pela Bitcoin em 23 de agosto de 2017.
O SegWit ajudou a resolver dois grandes problemas enfrentados pela blockchain. Um são os problemas de escalabilidade seguidos da maleabilidade das transações. Vamos mergulhar mais fundo nesses problemas e ver como eles foram tratados com a introdução do SegWit.
Enviar e receber Bitcoin requer 2 informações vitais. Uma morada pública e uma chave privada. O destinatário fornece o seu endereço público usado para receber fundos e esse endereço é visível para toda a rede. Por outro lado, o remetente usa a sua chave privada para assinar as transações como prova que é o proprietário da carteira que contém os fundos.
O utilizador que quer enviar a Bitcoin envia um pedido para a rede. Este pedido contém a morada pública do destinatário, o valor a enviar e a taxa do mineiro. O pedido é então transformado numa linha de código conhecida como ID da transação. A transação é processada e enfileirada na rede. Quando o limite de blocos é atingido, o bloco é transmitido para os nós inteiros. Se o bloco for aceito como um bloco válido por mais de metade dos nós, será adicionado à blockchain. Nesta altura, dizemos que uma transação foi bem-sucedida.
À medida que a rede crescia com mais utilizadores e mais transações, o processamento das transações tornou-se muito lento. Este problema foi rastreado até o limite de tamanho dos blocos dentro da cadeia de blocos. Com os dados das testemunhas incluídos no bloco, há espaço limitado para transações. Isso leva a congestionamento e custos elevados de transação correspondentes. Com esses problemas, a ideia de a Bitcoin ser usada como um método rápido e barato de transação é eludida.
Este é outro problema importante tratado com a introdução do SegWit. A maleabilidade das transações é uma forma de ataque de serviço de negação (DoS) que permite que alguém faça alterações no código da transação antes da transação ser confirmada. Este ato dificilmente pode ser detetado uma vez que é feito de uma maneira que quando verifica a transação, permanece válido mas quando haxixe, produz algo totalmente diferente. Mas ao colocar os dados das testemunhas longe do bloco base, ninguém poderá alterar a transação. Mesmo que tal aconteça, será inválido e não afetará a transação inicial.
Vamos usar um exemplo para entender isso melhor. James quer enviar 20 BTC a Jane. Ele transmitiu esse pedido para a rede. O pedido conterá o endereço público de Jane, as 20 BTC, as taxas de transação e a sua chave particular como prova que tem os fundos para enviar. Isso é conhecido como dados das testemunhas. A informação é convertida numa única linha de código conhecida como ID da transação. Agora no processo de esperar que a transação seja confirmada, o código permite à Jane alterar os dados das testemunhas enquanto o ID da transação permanece o mesmo. Ao fazer isso, ninguém vai suspeitar que houve algum dano. Esta alteração substitui a transação original e Jane recebe a 20 BTC.
Pelas suas razões egoístas, Jane liga ao James queixando-se de que não recebeu a 20 BTC. Depois de verificar, ele descobre que a transação não correu e vai enviar mais 20 BTC a Jane. Neste caso, ninguém conseguiria detetar o plano maligno de Jane. Além disso, qualquer registo adicionado à blockchain é imutável e não pode ser apagado. Então, neste cenário, nada pode ser feito sobre isso. Ao remover os dados da testemunha e colocá-los fora do bloco base, ninguém pode sobrescrever uma transação.
SegWit teve um grande impacto na rede Bitcoin. Para além de abordar o problema da escalabilidade e da maleabilidade das transações, outras vantagens vieram com o desenvolvimento, algumas das quais incluem:
Quando um grande número de pessoas utiliza a rede ao mesmo tempo, isso causa tanto atraso nas transações. Além disso, haverá também um aumento correspondente no custo das transações uma vez que muitas pessoas estão na fila. Mover os dados das testemunhas da base de blockchain não só criou mais espaço no bloco mas também ajudou a aumentar o rendimento e a reduzir os custos de transação.
A ideia de soluções de escala de camada 2, como a rede Lightning não nascerá sem SegWit. As soluções de escala de camada 2 dependem fortemente da blockchain principal para a segurança. Numa situação em que qualquer pessoa pode alterar os dados da rede principal e a segurança da blockchain está comprometida, qual será o destino dos seus derivados? O SegWit ajudou a resolver este problema de segurança dando espaço para novos melhoramentos e desenvolvimento.
Apesar de dimensionar a blockchain Bitcoin e de fornecer uma solução para a maleabilidade das transações, nem todos apoiam este desenvolvimento. Isso levou a vários garfos duros da rede.
Em destaque entre eles está o garfo duro que nasceu a Bitcoin Cash (BCH) em 2017. A maior parte dos mineiros não apoia este desenvolvimento já que taxas mais baixas afetam o seu lucro. Além disso, a ideia de apoiar a cadeia de dados das testemunhas não lhes dá nenhum benefício. Isso tem sido um desafio para a adoção ampla do SegWit.
O SegWit também é visto por muitos como uma solução a curto prazo para um problema de longo prazo. Alegam que o SegWit não faz muito ao escalar a rede, mas antes é um passo em frente que vai ajudar mais desenvolvimento no futuro.
Os soft forks são melhorias numa blockchain que não dá origem a uma nova blockchain. Então, de todas as indicações, o SegWit é um soft gark da rede Bitcoin que contribuiu muito para o avanço da rede.
SegWit tem sido uma grande melhoria da rede Bitcoin, aumentar também a segurança de toda a rede. Foi um dos primeiros avanços feitos para escalar a rede e abriu caminho a desenvolvimentos maiores.
Apesar de tudo isso, nem todos na comunidade Bitcoin abraçaram a ideia como uma solução permanente de escala e segurança. Isso levou a diferentes forks rígidos da blockchain, tendo em mente que estas novas blockchains vão incorporar tamanhos de blocos maiores do que a Bitcoin.
Com tudo o que vimos até agora, qual é a sua opinião sobre este desenvolvimento? Considera-a uma solução temporária? Pense nisso e veja-o da próxima vez!
Na rede Bitcoin, os mineiros têm a responsabilidade de verificar as transações e adicionar novos blocos. Em troca, são recompensados com bitcoins recém-cunhadas. Estas tarefas requerem hardware informático sofisticado para realizar. Os computadores agem como validadores e são referidos como nós.
Como o número de usuários na rede continua a crescer, mais transações precisam ser verificadas e mais blocos adicionados. O tamanho do bloco Bitcoin é limitado a 1MB e são criados novos blocos a cada 10 minutos. Cada bloco na rede contém em média 2.700 transações, com uma velocidade de processamento de 7-8 transações por segundo. Isso limita o número de transações que podem ser processadas, bem como o número de transações adicionadas a um bloco. Tudo isso levou a um abrandamento da rede Bitcoin.
Para resolver este problema, o desenvolvedor Pieter Wuille propôs a Ideia de Testemunha Separada (SeGWit) na conferência Scaling Bitcoin realizada em dezembro de 2015. Inicialmente, esta ideia era corrigir um erro na rede conhecido como um erro de maleabilidade. O erro permite que qualquer pessoa na rede adultere os dados das transações. Separar os dados das testemunhas do bloco base forneceu uma solução para este erro, bem como dimensionar a blockchain. Então, neste artigo, vamos explorar como o SegWit ajudou a lidar com esses problemas na rede Bitcoin.
A Testemunha Separada (SegWit) é uma atualização na blockchain Bitcoin que separa os dados das testemunhas do bloco base. É uma melhoria destinada a resolver o problema de bugs de maleabilidade e escalar a rede. Ao separar os dados testemunhas do bloco base, é criado mais espaço no bloco e mais transações podem ser acomodadas sem alterar o tamanho original do bloco de 1 MB.
A ideia de SeGWit foi proposta pelo desenvolvedor Pieter Wuille em 2015. O SegWit divide a transação em duas partes. Os dados das testemunhas estão separados do bloco base mas continuam a fazer parte da cadeia de blocos. A parte original contém o endereço da carteira do remetente e do destinatário e a outra parte contém scripts e assinaturas. Esta segregação dá espaço para mais transações num bloco. Também ao remover os dados das testemunhas do bloco de base, ninguém poderá alterar uma transação não confirmada na rede. A Bitcoin não é a primeira blockchain a ativar esta ideia. O SegWit foi ativado na Litecoin (LTC) em maio de 2017, seguido pela Bitcoin em 23 de agosto de 2017.
O SegWit ajudou a resolver dois grandes problemas enfrentados pela blockchain. Um são os problemas de escalabilidade seguidos da maleabilidade das transações. Vamos mergulhar mais fundo nesses problemas e ver como eles foram tratados com a introdução do SegWit.
Enviar e receber Bitcoin requer 2 informações vitais. Uma morada pública e uma chave privada. O destinatário fornece o seu endereço público usado para receber fundos e esse endereço é visível para toda a rede. Por outro lado, o remetente usa a sua chave privada para assinar as transações como prova que é o proprietário da carteira que contém os fundos.
O utilizador que quer enviar a Bitcoin envia um pedido para a rede. Este pedido contém a morada pública do destinatário, o valor a enviar e a taxa do mineiro. O pedido é então transformado numa linha de código conhecida como ID da transação. A transação é processada e enfileirada na rede. Quando o limite de blocos é atingido, o bloco é transmitido para os nós inteiros. Se o bloco for aceito como um bloco válido por mais de metade dos nós, será adicionado à blockchain. Nesta altura, dizemos que uma transação foi bem-sucedida.
À medida que a rede crescia com mais utilizadores e mais transações, o processamento das transações tornou-se muito lento. Este problema foi rastreado até o limite de tamanho dos blocos dentro da cadeia de blocos. Com os dados das testemunhas incluídos no bloco, há espaço limitado para transações. Isso leva a congestionamento e custos elevados de transação correspondentes. Com esses problemas, a ideia de a Bitcoin ser usada como um método rápido e barato de transação é eludida.
Este é outro problema importante tratado com a introdução do SegWit. A maleabilidade das transações é uma forma de ataque de serviço de negação (DoS) que permite que alguém faça alterações no código da transação antes da transação ser confirmada. Este ato dificilmente pode ser detetado uma vez que é feito de uma maneira que quando verifica a transação, permanece válido mas quando haxixe, produz algo totalmente diferente. Mas ao colocar os dados das testemunhas longe do bloco base, ninguém poderá alterar a transação. Mesmo que tal aconteça, será inválido e não afetará a transação inicial.
Vamos usar um exemplo para entender isso melhor. James quer enviar 20 BTC a Jane. Ele transmitiu esse pedido para a rede. O pedido conterá o endereço público de Jane, as 20 BTC, as taxas de transação e a sua chave particular como prova que tem os fundos para enviar. Isso é conhecido como dados das testemunhas. A informação é convertida numa única linha de código conhecida como ID da transação. Agora no processo de esperar que a transação seja confirmada, o código permite à Jane alterar os dados das testemunhas enquanto o ID da transação permanece o mesmo. Ao fazer isso, ninguém vai suspeitar que houve algum dano. Esta alteração substitui a transação original e Jane recebe a 20 BTC.
Pelas suas razões egoístas, Jane liga ao James queixando-se de que não recebeu a 20 BTC. Depois de verificar, ele descobre que a transação não correu e vai enviar mais 20 BTC a Jane. Neste caso, ninguém conseguiria detetar o plano maligno de Jane. Além disso, qualquer registo adicionado à blockchain é imutável e não pode ser apagado. Então, neste cenário, nada pode ser feito sobre isso. Ao remover os dados da testemunha e colocá-los fora do bloco base, ninguém pode sobrescrever uma transação.
SegWit teve um grande impacto na rede Bitcoin. Para além de abordar o problema da escalabilidade e da maleabilidade das transações, outras vantagens vieram com o desenvolvimento, algumas das quais incluem:
Quando um grande número de pessoas utiliza a rede ao mesmo tempo, isso causa tanto atraso nas transações. Além disso, haverá também um aumento correspondente no custo das transações uma vez que muitas pessoas estão na fila. Mover os dados das testemunhas da base de blockchain não só criou mais espaço no bloco mas também ajudou a aumentar o rendimento e a reduzir os custos de transação.
A ideia de soluções de escala de camada 2, como a rede Lightning não nascerá sem SegWit. As soluções de escala de camada 2 dependem fortemente da blockchain principal para a segurança. Numa situação em que qualquer pessoa pode alterar os dados da rede principal e a segurança da blockchain está comprometida, qual será o destino dos seus derivados? O SegWit ajudou a resolver este problema de segurança dando espaço para novos melhoramentos e desenvolvimento.
Apesar de dimensionar a blockchain Bitcoin e de fornecer uma solução para a maleabilidade das transações, nem todos apoiam este desenvolvimento. Isso levou a vários garfos duros da rede.
Em destaque entre eles está o garfo duro que nasceu a Bitcoin Cash (BCH) em 2017. A maior parte dos mineiros não apoia este desenvolvimento já que taxas mais baixas afetam o seu lucro. Além disso, a ideia de apoiar a cadeia de dados das testemunhas não lhes dá nenhum benefício. Isso tem sido um desafio para a adoção ampla do SegWit.
O SegWit também é visto por muitos como uma solução a curto prazo para um problema de longo prazo. Alegam que o SegWit não faz muito ao escalar a rede, mas antes é um passo em frente que vai ajudar mais desenvolvimento no futuro.
Os soft forks são melhorias numa blockchain que não dá origem a uma nova blockchain. Então, de todas as indicações, o SegWit é um soft gark da rede Bitcoin que contribuiu muito para o avanço da rede.
SegWit tem sido uma grande melhoria da rede Bitcoin, aumentar também a segurança de toda a rede. Foi um dos primeiros avanços feitos para escalar a rede e abriu caminho a desenvolvimentos maiores.
Apesar de tudo isso, nem todos na comunidade Bitcoin abraçaram a ideia como uma solução permanente de escala e segurança. Isso levou a diferentes forks rígidos da blockchain, tendo em mente que estas novas blockchains vão incorporar tamanhos de blocos maiores do que a Bitcoin.
Com tudo o que vimos até agora, qual é a sua opinião sobre este desenvolvimento? Considera-a uma solução temporária? Pense nisso e veja-o da próxima vez!