Testemunhas segregadas tem sido o centro do debate duradouro da bitcoin desde que foi introduzido pela primeira vez pelo co-fundador do blockstream e pelo dr.

Desafios para a formação Educacional de Surdos ABERTURA (Junho 2019).

Anonim

Testemunhas segregadas tem sido o centro do debate duradouro da Bitcoin desde que foi introduzido pela primeira vez pelo co-fundador do Blockstream e pelo Dr. Pieter Wuille, desenvolvedor do Bitcoin Core, há dois meses.

Um método inteligente para mover dados de assinatura de transações típicas para "blocos de complemento", o Segregated Witness está definido para melhorar o protocolo Bitcoin de várias maneiras. Além disso, a solução pode ser lançada como um garfo macio, o que significa que apenas os mineiros precisam atualizar seu software; Todos os outros nós podem fazê-lo se e quando quiserem.

A inovação é posicionada como o primeiro passo de um "roteiro" de escalabilidade conforme estabelecido pelo Bitcoin Core e é suportado por um grande segmento da comunidade de desenvolvimento da Bitcoin.

Mas a Testemunha Segregada não está livre de controvérsias. Em vez de um tesouro segregado de testemunha segregada, a implementação Bitcoin alternativa lançada recentemente, o Bitcoin Classic planeja aumentar o limite de tamanho de bloco da Bitcoin para 2 megabytes através de um garfo rígido, o que significa que todos os nós completos na rede precisam atualizar de forma síncrona.

Estes são os argumentos contra um tesouro suave de testemunha segregada - e seus contra-argumentos.

Requer o código "feio"

Um argumento purista contra a proposta de Wuille é que um tenaz macio de testemunha segregada constitui uma solução "feia" de código. Mais importante, usa partes da transação de moeda-moeda gerada por mineradores para fins que não foram originalmente destinados. A complexidade adicionada poderia potencialmente causar novos problemas à medida que o protocolo continua evoluindo.

Os contra-argumentos

Enquanto a maioria dos desenvolvedores concorda que um garfo duro seria uma solução mais limpa, isso não significa necessariamente que um garfo macio segregado seja inseguro. A equipe de desenvolvimento do Bitcoin Core lançou vários tenis macios semelhantes no passado e sustenta que este não suportaria mais riscos.

Um garfo rígido, entretanto, torna o software de nodos completos existente incompatível com o novo software de nó completo, o que, provavelmente, não é muito gracioso.

A Fundamentação dos Desenvolvedores Demasiada

Uma solução de garfo segregado da forquilha suave impõe um fardo adicional aos desenvolvedores - tanto agora quanto no futuro. Isto é particularmente verdadeiro para os desenvolvedores da biblioteca e da carteira Bitcoin, uma vez que precisarão adaptar seu software para integrar a Testemunha segregada. Isso exigirá mais esforço do que um aumento de tamanho de bloco de garfo difícil.

O contra-argumento

A maioria dos desenvolvedores atuais de bibliotecas e carteiras não parece considerar a carga adicionada como um grande problema. Muitos estão bastante entusiasmados com a inovação, e geralmente consideram os benefícios adicionais que valem o esforço. (Veja série de desenvolvimento do Bitcoin Magazine, conforme relacionado abaixo neste artigo.)

O crescimento do espaço de bloco adicionado será lento

Como a bifurcação proposta da Bitcoin Classic, a Testemunha segregada oferece teoricamente até 1 megabyte de espaço de bloco adicionado, para um total de 2 megabytes.Mas esta ótima capacidade adicional é baseada em transações multisig, uma vez que estes recebem um "desconto contábil". "No entanto, a maioria das transações atualmente não são transações multisig. Um aumento de capacidade mais realista poderia, portanto, ser mais próximo. 6 megabytes de espaço adicional, para um total de 1,6 megabytes.

Além disso, este espaço adicional pode não ser totalmente utilizado imediatamente. Ele só pode ser usado depois que as carteiras e outros aplicativos tenham atualizado. Na realidade, pode demorar um pouco antes de chegar a 1. 6 megabytes.

E, enquanto o tenaz suave Segregated Witness está agendado para abril, continua a ser visto se isso puder ser alcançado. A solução requer muita codificação e teste antes que possa ser implantada, bem como a aprovação de mineros.

Os contra-argumentos

Uma versão pública de testnet de segregated Witness - SegNet - já está disponível para experimenção. Isso sugere que o desenvolvimento está previsto.

Muitos desenvolvedores de bibliotecas e carteiras, além disso, estimam que levaria qualquer lugar entre alguns dias a várias semanas para integrar a Testemunha segregada. Um lançamento em abril deve, portanto, fornecer tempo suficiente para que a maior parte do software da carteira e do aplicativo seja atualizado.

Assim que a Tarefa Segregada é ativada, todos os softwares de carteira e aplicativo podem utilizar os benefícios - como taxas mais baixas - imediatamente. Se outros usuários utilizam o espaço adicionado também, não é realmente importante para eles. (E, se o espaço de bloco adicionado não for usado, pode apenas sugerir que a necessidade de espaço de bloco extra nunca foi ótima em primeiro lugar.)

Também deve notar-se que as transações multisig podem encontrar crescente uso como inovação e O desenvolvimento do protocolo Bitcoin progride, porque as camadas adicionadas na parte superior da Bitcoin - como os canais de pagamento e a rede Lightning - tipicamente usam essas transações. A capacidade efetiva poderia, portanto, chegar mais perto de 2 megabytes mais tarde.

E enquanto a equipe do Bitcoin Classic sustenta que um garfo difícil pode ser lançado antes de abril, isso é considerado abertamente agressivo e totalmente arriscado por muitos na comunidade de desenvolvimento. A necessidade de todos os operadores de nodos completos tanto para rever e adotar a atualização, eles pensam, exige pelo menos seis meses a um ano.

It Skews Incentives

A remoção de assinaturas dos blocos originais de 1 megabyte pode efetivamente aumentar o tamanho do bloco da Bitcoin. Mas Segregated Witness apresenta um novo tipo de tamanho de bloco máximo. Aproximadamente: um bloco sem a testemunha, mais um quarto do tamanho da testemunha, não deve exceder 1 megabyte. Como tal, os nós atualizados verão blocos que excedem 1 megabyte, uma vez que o tamanho real da Testemunha Segregada é maior do que o trimestre contabilizado.

Isso significa que as transações multisig, que incluem mais dados de assinatura, obtêm um desconto maior. E uma vez que as transações multisig são usadas para estabelecer camadas no topo da Bitcoin, a Segregated Witness prejudica artificialmente os incentivos para essas camadas adicionadas.

As conseqüências a longo prazo de tais camadas - como o efeito nas taxas de mineração - são controversas.

Os contra-argumentos

Dados de assinatura de desconto são como Segregated Witness permite espaço adicional em bloco sem exigir um garfo difícil. Embora isso seja efetivamente realizado através de uma medida contábil, é útil.

Além disso, os dados das testemunhas podem razoavelmente ser considerados consumíveis após uma certa quantidade de tempo, diminuindo a necessidade de nós completos para armazená-lo em perpetuidade. Isso, portanto, tem um custo menor para a rede, tornando razoável cobrar uma taxa menor.

Além disso, a única maneira pela qual o Bitcoin pode atingir milhões de usuários, ao mesmo tempo que permanece descentralizada, segura e resistente à censura é através do uso de camadas adicionadas. Incentivar o desenvolvimento e o uso dessas camadas adicionadas não é uma coisa ruim.

Não se mantém bem em condições adversas

Um argumento a favor de um limite de tamanho de bloco diz respeito à propagação de blocos e latência. Em resumo: blocos maiores tendem a aumentar as taxas de órfãos, à medida que mais miners se acumulam em blocos antigos, enquanto os blocos mais novos ainda estão passando pela rede. Isso, por sua vez, favorece os maiores mineiros (ou piscinas): eles encontram mais blocos em si mesmos, e começam a construir isso imediatamente, o que significa que eles desperdiçam menos recursos.

Isso também significa que os grandes mineiros poderiam ter um incentivo para realmente criar blocos artificialmente grandes, especificamente projetados para aumentar a taxa de órfãos dos concorrentes.

A atual proposta de testemunha segregada permite blocos de até 2 megabytes - embora um pouco menos seja mais provável. Mas, devido à medida contábil específica a ser empregada, os chamados "mineiros egoístas" poderiam criar transações sintéticas projetadas para armazenar até 4 megabytes de dados em um único bloco. Como tal, os grandes mineiros poderiam "atacar" competidores com blocos válidos de 4 megabytes.

A Testemunha Segregada, portanto, exige mineiros e nós completos para implantar hardware com espaço livre de segurança de 4 megabytes, enquanto obtém significativamente menos capacidade de transação real em troca. E se o limite de tamanho do bloco original for aumentado através de um bifurcador em algum ponto do futuro, esse risco multiplicador provavelmente permanecerá.

Os contra-argumentos

Se 4 megabytes é realmente grande o suficiente para travar com sucesso um ataque - o que não está claro - esse ataque exigiria que o mineiro atacante descarta todas as transações reais. A perda resultante de taxas serve como um ligeiro desincentivo à realização de tal ataque, e seria óbvio para o resto da rede que um ataque está acontecendo.

E, embora o multiplicador de risco provavelmente continuará mesmo se um garfo rígido for lançado mais tarde, ele também poderia ser diminuído através de um garfo macio.

Degrada a segurança dos nós não atualizados

Uma quinta preocupação é que uma garfo macio de testemunhas segregadas degradaria a segurança de todos os nós completos não atualizados. Esses nós podem ainda aceitar transações de testemunhas segregadas, ou transações que dependem de uma transação anterior de testemunhas segregadas, mas não conseguem verificar se os dados de assinatura são válidos.Como tal, eles teriam que confiar na validação por mineiros.

As transações de testemunhas segregadas não confirmadas, portanto, seriam inseguras, já que ainda não são verificadas por mineros.

Mas mesmo as transações confirmadas de testemunhas segregadas seriam menos seguras, já que os mineiros poderiam propositadamente transferir transações inválidas em blocos com a intenção de gastar duas vezes nós não atualizados. Um nó não atualizado acreditaria que esses blocos sejam válidos até que os mineiros alterem sua força de hash de volta para a cadeia válida. Se um nó não atualizado aceitou transações dos blocos inválidos, ele poderia ter perdido dinheiro.

Os custos de tal dupla despesa se assemelham ao custo de qualquer outro ataque de 51 por cento, mas com alavancagem adicional. Os mineiros atacantes poderiam potencialmente aproveitar o poder de hash de "SPV-mineers", que não saberiam o que está acontecendo em si mesmos, já que eles não validam as transações também. E o atacante poderia alavancar fundos para gastar duas vezes, pois ele poderia usar qualquer Bitcoin protegido por testemunhas segregadas que nunca antes pertencesse a ele.

Os contra-argumentos

Um garfo macio de testemunha segregada serão anunciados publicamente com antecedência e votados de forma transparente pelos mineiros. Como tal, qualquer usuário executando um nó completo terá muito tempo para tomar as precauções necessárias.

Os usuários que executam um nó não atualizado não devem confiar em transações de confirmação zero. Mas as operações de confirmação zero sempre foram inseguras. Qualquer pessoa que pretenda tirar um ataque de dupla despesa com transações não confirmadas pode fazê-lo com ou sem segregated Witness.

O risco adicional de transações confirmadas, entretanto, pode ser compensado pela espera de um número adicional de confirmações. (Para números exatos dos riscos adicionados, veja estes cálculos pelo desenvolvedor de Bitcoin, Oleg Andreev.)

Um usuário que não quer atualizar para o mais novo status do nó completo, além disso, poderia corrigir o nó completo não atualizado com software que sinaliza transações suspeitas - e até mesmo rejeitar essas transações completamente.

Por último, deve notar-se que os garfos difíceis representam um risco muito maior de transações de dupla despesa. Qualquer nó não atualizado poderia, no caso de um garfo difícil, receber transações completamente inválidas, enquanto potencialmente nunca percebendo.

Será implantado sem o consentimento explícito do usuário

Embora possivelmente pequeno, a degradação de segurança como descrito acima existe. E o que talvez seja mais importante: essa degradação de segurança seria aplicada sem o consentimento explícito dos usuários. Mesmo que os usuários se oporem fortemente à Testemunha Segregada e preferem não atualizar, a maioria dos mineiros poderia impulsionar a mudança de forma independente.

Isto está em desacordo com a promessa de Bitcoin de autonomia pessoal; a idéia de que os operadores de um nó completo devem sempre ter a possibilidade de optar por qualquer alteração.

Os contra-argumentos

Forquilhas macias não podem ser evitados. Os mineiros que controlam a maioria do poder de hash sempre podem decidir impor novas regras, desde que não quebram as regras de consenso existentes.Isso é inerente ao protocolo Bitcoin, e será possível depois de um garfo difícil também.

Como tal, os usuários que executam nós completos devem sempre ter alguma responsabilidade. Tanto a responsabilidade de atualizar para a versão mais recente do software, quanto a responsabilidade de aguardar um número adicional de confirmações, ou talvez até a responsabilidade de não aceitar quaisquer transações depois que um garfo macio é detectado.

E, embora seja tecnicamente verdade que os usuários não precisam de para mudar seu software após um garfo rígido (controverso) e podem escolher "ficar para trás" na rede original, isso quase certamente não Seja a opção na prática. Além do risco de ataques de dupla despesa, o menor poder de hash pode garantir que as transações nunca confirmem - ou confirmam muito lentamente.

Um cenário alternativo é que a cadeia minoritária pelo poder de hash introduz seu próprio garfo duro para mudar o algoritmo de prova de trabalho. A Bitcoin seria dividida em duas redes separadas, e todos os usuários teriam que atualizar seu software para suportar uma das opções - ou ambas.

Obrigado a Jonathan Toomim e ao CEO da Ciphrex, Bitcoin Core, e o programador da Segregated Witness, Eric Lombrozo, para revisão e comentários adicionais.

Para mais informações sobre Testemunhas segregadas, veja série da revista Bitcoin sobre o assunto, ou parte 1, parte 2, parte 3, parte 4, parte 5, parte 6, parte 7 e parte 8 de série de desenvolvimento da Bitcoin Magazine .