Apesar de existir há mais de uma década, o Bitcoin, a principal rede, luta para acompanhar os seus concorrentes mais inovadores. Cada atualização na rede requer um consenso significativo e coordenação de validadores e mineiros, abrandando a capacidade do Bitcoin de se adaptar à evolução da indústria blockchain.
Depois de 2017 e a introdução de Testemunha SegreGate.iod (SegWit)Bitcoin esperou 4 anos inteiros por uma nova atualização.Atualização Taprootfoi então introduzido em 2021 após um consenso de 90%. A Atualização Taproot é composta por três Propostas de Melhoria do Bitcoin (BIPs) que trabalham para melhorar a flexibilidade, escalabilidade e segurança na rede. O primeiro desses BIPs substitui o esquema de assinatura digital Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) por um mecanismo mais rápido e seguro, Assinaturas Schnorr.
Este artigo explora esta alternativa vantajosa e como ela impacta a rede Bitcoin.
As assinaturas Schnorr são um esquema de assinatura digital que se destaca pela sua simplicidade. As Assinaturas Schnorr assemelham-se ligeiramente ao esquema previamente implementado, ECDSA, no entanto, o primeiro apresenta várias vantagens, incluindo transações multi-assinatura.
As assinaturas Schnorr foram criadas por um criptógrafo alemão já em 1980, mas não conseguiram ser aplicadas no espaço cripto mainstream devido a uma patente que expirou em 2008.
Todas as moedas criptográficas giram em torno de algo chamado assinaturas digitais. Isto deve-se ao facto de que, na blockchain, a propriedade não é representada por noções tradicionais como documentos legais e assinaturas físicas. A natureza digital das criptomoedas requer que a propriedade seja comprovada através de dados digitais. O método criptográfico de comprovação desta propriedade é conhecido como umassinatura digital.
As assinaturas digitais são criadas através de complexos cálculos matemáticos conhecidos como Criptografia de Chave Privada-Pública. Todas as transações de Bitcoin incluem dois tipos de chaves, chaves públicas e chaves privadas. As chaves privadas são essencialmente um conjunto de números aleatórios que são incrivelmente difíceis de adivinhar. São geradas aleatoriamente por um computador e só podem ser acedidas pelo proprietário de uma conta ou executor de uma transação. Pode pensar nelas como senhas que são mantidas privadamente por um utilizador e mantidas em segredo.
As chaves públicas estão matematicamente ligadas às chaves privadas. Mas, ao contrário destas últimas, são públicas e estão associadas a cada transação que um utilizador faz a partir do mesmo endereço da carteira. A essência do par de chaves privada-pública é que o dono de uma chave privada pode gerar a chave pública correspondente, mas o mesmo não pode ser feito ao contrário.
Assim, as assinaturas digitais são criadas provando a posse de uma chave privada sem divulgar a chave em si. Este processo envolve processos matemáticos complexos, como hash e estrutura de script. Antes que qualquer transação na rede Bitcoin possa ser concluída, uma assinatura digital deve ser criada e verificada.
O método de criação e verificação destas assinaturas é conhecido como um esquema. O Bitcoin anteriormente utilizava o esquema ECDSA, que dependia de curvas elípticas e campos finitos. Com a introdução do Taproot, no entanto, os validadores e mineradores da rede votaram para mudar o esquema de assinatura digital para Assinaturas Schnorr, um mecanismo alternativo que oferece mais vantagens.
ECDSA é o esquema de assinatura digital anteriormente utilizado pelo Bitcoin e o método foi escolhido principalmente por causa de sua disponibilidade. Na época da criação do Bitcoin, havia uma patente sobre as assinaturas Schnoor que tornava o esquema exclusivo para seus criadores. Além disso, o esquema ECDSA, que dependia de curvas elípticas e campos finitos para sua introdução, era a versão melhor testada.
Como o ECDSA, as Assinaturas Schnorr baseiam-se na técnica de criptografia de pares de chaves privada-pública. No entanto, neste esquema, os cálculos matemáticos para fornecer uma assinatura digital diferem ligeiramente.
As assinaturas Schnorr são, de certa forma, uma versão melhorada do esquema ECDSA. Os cálculos de Schnorr ainda envolvem criptografia de curva elíptica (ECC); no entanto, os problemas são um pouco mais simplificados, permitindo que cada transação ocupe menos espaço (armazenamento) em um bloco. As assinaturas ECDSA não têm um tamanho de armazenamento padrão, mas residem entre 72 e 71 bytes. Por outro lado, as assinaturas Schnorr são mais compactas, com um tamanho máximo de assinatura de 64 bytes.
Os cálculos para uma assinatura digital em Schnorr também são chamados de lineares. Isso refere-se à simplicidade da computação que permite ajustes para criar resultados criptográficos alternativos. Um desses resultados é o protocolo MuSig, que combina múltiplas assinaturas em uma transação complexa para criar apenas uma assinatura, independentemente do número de chaves públicas envolvidas.
O esquema de assinatura digital ECDSA presidiu como o algoritmo de assinatura digital do Bitcoin por mais de uma década, porque funcionou bem. Mas o verdadeiro desenvolvimento requer inovação fresca ou melhor. Apesar de ser um esquema mais antigo, Schnorr oferece mais vantagens para a rede Bitcoin, destacando-se a escalabilidade, um dos maiores problemas que a rede Bitcoin enfrentou desde a sua criação.
A escalabilidade é um dos problemas mais prevalentes na indústria de blockchain. Refere-se à capacidade de uma rede para executar eficientemente sob a pressão do aumento das transações, bem como um aumento nos nós blockchain. Como a principal rede, o Bitcoin possui milhões de usuários, mas esse número anteriormente pesava sobre a rede, causando um aumento nas taxas de transação e tempos de processamento de transações lentos. Os cálculos de Schnorr condensam as transações em tamanhos menores (armazenamento), reduzindo assim a quantidade de espaço que uma única transação ocupa quando adicionada a um bloco. Posteriormente, os mineradores podem adicionar mais transações a um único bloqueio e aumentar a velocidade geral de processamento de transações na rede. Por sua vez, as taxas de transação na rede Bitcoin serão reduzidas à medida que os problemas de escala forem resolvidos.
Com ECDSA, uma assinatura digital típica envolve apenas uma chave pública, portanto, quando a transação envolve várias partes e várias chaves, cria múltiplas assinaturas, equivalentes ao número de chaves envolvidas. As assinaturas de Schnorr se orgulham de uma característica conhecida como linearidade, o que torna possível combinar uma transação envolvendo várias chaves públicas (partes) para produzir uma única assinatura digital. Tais transações envolvendo várias partes parecem como qualquer outra transação. Do ponto de vista da privacidade, isso é uma melhoria. Anteriormente, transações multi-assinatura ocupavam mais espaço e eram facilmente distinguíveis das transações ordinárias de chave única. Mas com MuSig, todas as transações na rede se parecem e são indistinguíveis umas das outras.
Transações com múltiplas assinaturas abrem caminho para verificação em lote na rede Bitcoin. Normalmente, cada assinatura e cada transação são verificadas uma após a outra. O processo é frequentemente demorado e intensivo em recursos. Como as transações de múltiplas assinaturas são implementadas agregando todas as chaves públicas envolvidas, os nós do Bitcoin podem verificar assinaturas em lotes, reduzindo o tempo e a potência computacional usados para verificar uma única transação.
As assinaturas Schnorr oferecem um impulso significativo à privacidade dentro da rede Bitcoin. Uma das suas principais vantagens é a capacidade de verificar eficientemente várias assinaturas em lote e agregá-las numa única assinatura. Ao minimizar o tamanho das transações, as assinaturas Schnorr ajudam a obscurecer o número de participantes envolvidos numa transação multi-assinatura, aumentando assim a privacidade e confidencialidade das transações.
As assinaturas Schnorr também aumentam a resistência do Bitcoin aos ataques de maleabilidade. As assinaturas Schnorr são não maleáveis, o que significa que uma terceira parte não pode modificá-las sem invalidar a assinatura. Esta propriedade preserva a integridade das transações, promovendo assim a privacidade e segurança.
Surpreendentemente, as assinaturas de Schnorr existem desde a década de 1980, quando foram criadas porClaus Peter Schnorr, um matemático alemão e criptógrafo. Depois de inventar um esquema de assinatura digital mais simples, ele o patenteou, limitando o uso de sua ideia. No entanto, a patente expirou em 2008 e não foi renovada.
No entanto, ao inventar o Bitcoin em 2009, Satoshi Nakamotooptou por ECDSA, uma opção mais complexa, mas de código aberto. ECDSA na época foi padronizado e mais amplamente utilizado do que as Assinaturas Schnorr, devido à patente recentemente expirada desta última. Além disso, ECDSA foi suportado pelo OpenSSL, uma biblioteca de criptografia na qual o código-fonte do Bitcoin foi construído.
Assim, o Bitcoin continuou a implementar o ECDSA como seu esquema de assinatura digital sem contra-argumentos internos até 2014, quando foi proposto no fórum Bitcoin Talk. Os contribuidores do Bitcoin Core, Pieter Wuille, Jonas Nick e Tim Ruffing, eventualmente redigiram uma Proposta de Melhoria do Bitcoin destacando como as Assinaturas Schnorr poderiam se encaixar na rede Bitcoin. Sua proposta foi posteriormente etiquetada como BIP 340 e incluída na Atualização Taproot de 2021.
Schnorr é um sistema de multi-assinatura que permite que as transações BTC sejam concluídas com menos dados do que o sistema de assinatura tradicional (ECDSA). Schnorr não só melhora a escalabilidade e a privacidade do uso de multi-assinatura, como anteriormente descrito, mas também permite outros BIPs, abrindo potencialmente caminho para futuros desenvolvimentos, como contratos inteligentes no Bitcoin.
Apesar de existir há mais de uma década, o Bitcoin, a principal rede, luta para acompanhar os seus concorrentes mais inovadores. Cada atualização na rede requer um consenso significativo e coordenação de validadores e mineiros, abrandando a capacidade do Bitcoin de se adaptar à evolução da indústria blockchain.
Depois de 2017 e a introdução de Testemunha SegreGate.iod (SegWit)Bitcoin esperou 4 anos inteiros por uma nova atualização.Atualização Taprootfoi então introduzido em 2021 após um consenso de 90%. A Atualização Taproot é composta por três Propostas de Melhoria do Bitcoin (BIPs) que trabalham para melhorar a flexibilidade, escalabilidade e segurança na rede. O primeiro desses BIPs substitui o esquema de assinatura digital Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA) por um mecanismo mais rápido e seguro, Assinaturas Schnorr.
Este artigo explora esta alternativa vantajosa e como ela impacta a rede Bitcoin.
As assinaturas Schnorr são um esquema de assinatura digital que se destaca pela sua simplicidade. As Assinaturas Schnorr assemelham-se ligeiramente ao esquema previamente implementado, ECDSA, no entanto, o primeiro apresenta várias vantagens, incluindo transações multi-assinatura.
As assinaturas Schnorr foram criadas por um criptógrafo alemão já em 1980, mas não conseguiram ser aplicadas no espaço cripto mainstream devido a uma patente que expirou em 2008.
Todas as moedas criptográficas giram em torno de algo chamado assinaturas digitais. Isto deve-se ao facto de que, na blockchain, a propriedade não é representada por noções tradicionais como documentos legais e assinaturas físicas. A natureza digital das criptomoedas requer que a propriedade seja comprovada através de dados digitais. O método criptográfico de comprovação desta propriedade é conhecido como umassinatura digital.
As assinaturas digitais são criadas através de complexos cálculos matemáticos conhecidos como Criptografia de Chave Privada-Pública. Todas as transações de Bitcoin incluem dois tipos de chaves, chaves públicas e chaves privadas. As chaves privadas são essencialmente um conjunto de números aleatórios que são incrivelmente difíceis de adivinhar. São geradas aleatoriamente por um computador e só podem ser acedidas pelo proprietário de uma conta ou executor de uma transação. Pode pensar nelas como senhas que são mantidas privadamente por um utilizador e mantidas em segredo.
As chaves públicas estão matematicamente ligadas às chaves privadas. Mas, ao contrário destas últimas, são públicas e estão associadas a cada transação que um utilizador faz a partir do mesmo endereço da carteira. A essência do par de chaves privada-pública é que o dono de uma chave privada pode gerar a chave pública correspondente, mas o mesmo não pode ser feito ao contrário.
Assim, as assinaturas digitais são criadas provando a posse de uma chave privada sem divulgar a chave em si. Este processo envolve processos matemáticos complexos, como hash e estrutura de script. Antes que qualquer transação na rede Bitcoin possa ser concluída, uma assinatura digital deve ser criada e verificada.
O método de criação e verificação destas assinaturas é conhecido como um esquema. O Bitcoin anteriormente utilizava o esquema ECDSA, que dependia de curvas elípticas e campos finitos. Com a introdução do Taproot, no entanto, os validadores e mineradores da rede votaram para mudar o esquema de assinatura digital para Assinaturas Schnorr, um mecanismo alternativo que oferece mais vantagens.
ECDSA é o esquema de assinatura digital anteriormente utilizado pelo Bitcoin e o método foi escolhido principalmente por causa de sua disponibilidade. Na época da criação do Bitcoin, havia uma patente sobre as assinaturas Schnoor que tornava o esquema exclusivo para seus criadores. Além disso, o esquema ECDSA, que dependia de curvas elípticas e campos finitos para sua introdução, era a versão melhor testada.
Como o ECDSA, as Assinaturas Schnorr baseiam-se na técnica de criptografia de pares de chaves privada-pública. No entanto, neste esquema, os cálculos matemáticos para fornecer uma assinatura digital diferem ligeiramente.
As assinaturas Schnorr são, de certa forma, uma versão melhorada do esquema ECDSA. Os cálculos de Schnorr ainda envolvem criptografia de curva elíptica (ECC); no entanto, os problemas são um pouco mais simplificados, permitindo que cada transação ocupe menos espaço (armazenamento) em um bloco. As assinaturas ECDSA não têm um tamanho de armazenamento padrão, mas residem entre 72 e 71 bytes. Por outro lado, as assinaturas Schnorr são mais compactas, com um tamanho máximo de assinatura de 64 bytes.
Os cálculos para uma assinatura digital em Schnorr também são chamados de lineares. Isso refere-se à simplicidade da computação que permite ajustes para criar resultados criptográficos alternativos. Um desses resultados é o protocolo MuSig, que combina múltiplas assinaturas em uma transação complexa para criar apenas uma assinatura, independentemente do número de chaves públicas envolvidas.
O esquema de assinatura digital ECDSA presidiu como o algoritmo de assinatura digital do Bitcoin por mais de uma década, porque funcionou bem. Mas o verdadeiro desenvolvimento requer inovação fresca ou melhor. Apesar de ser um esquema mais antigo, Schnorr oferece mais vantagens para a rede Bitcoin, destacando-se a escalabilidade, um dos maiores problemas que a rede Bitcoin enfrentou desde a sua criação.
A escalabilidade é um dos problemas mais prevalentes na indústria de blockchain. Refere-se à capacidade de uma rede para executar eficientemente sob a pressão do aumento das transações, bem como um aumento nos nós blockchain. Como a principal rede, o Bitcoin possui milhões de usuários, mas esse número anteriormente pesava sobre a rede, causando um aumento nas taxas de transação e tempos de processamento de transações lentos. Os cálculos de Schnorr condensam as transações em tamanhos menores (armazenamento), reduzindo assim a quantidade de espaço que uma única transação ocupa quando adicionada a um bloco. Posteriormente, os mineradores podem adicionar mais transações a um único bloqueio e aumentar a velocidade geral de processamento de transações na rede. Por sua vez, as taxas de transação na rede Bitcoin serão reduzidas à medida que os problemas de escala forem resolvidos.
Com ECDSA, uma assinatura digital típica envolve apenas uma chave pública, portanto, quando a transação envolve várias partes e várias chaves, cria múltiplas assinaturas, equivalentes ao número de chaves envolvidas. As assinaturas de Schnorr se orgulham de uma característica conhecida como linearidade, o que torna possível combinar uma transação envolvendo várias chaves públicas (partes) para produzir uma única assinatura digital. Tais transações envolvendo várias partes parecem como qualquer outra transação. Do ponto de vista da privacidade, isso é uma melhoria. Anteriormente, transações multi-assinatura ocupavam mais espaço e eram facilmente distinguíveis das transações ordinárias de chave única. Mas com MuSig, todas as transações na rede se parecem e são indistinguíveis umas das outras.
Transações com múltiplas assinaturas abrem caminho para verificação em lote na rede Bitcoin. Normalmente, cada assinatura e cada transação são verificadas uma após a outra. O processo é frequentemente demorado e intensivo em recursos. Como as transações de múltiplas assinaturas são implementadas agregando todas as chaves públicas envolvidas, os nós do Bitcoin podem verificar assinaturas em lotes, reduzindo o tempo e a potência computacional usados para verificar uma única transação.
As assinaturas Schnorr oferecem um impulso significativo à privacidade dentro da rede Bitcoin. Uma das suas principais vantagens é a capacidade de verificar eficientemente várias assinaturas em lote e agregá-las numa única assinatura. Ao minimizar o tamanho das transações, as assinaturas Schnorr ajudam a obscurecer o número de participantes envolvidos numa transação multi-assinatura, aumentando assim a privacidade e confidencialidade das transações.
As assinaturas Schnorr também aumentam a resistência do Bitcoin aos ataques de maleabilidade. As assinaturas Schnorr são não maleáveis, o que significa que uma terceira parte não pode modificá-las sem invalidar a assinatura. Esta propriedade preserva a integridade das transações, promovendo assim a privacidade e segurança.
Surpreendentemente, as assinaturas de Schnorr existem desde a década de 1980, quando foram criadas porClaus Peter Schnorr, um matemático alemão e criptógrafo. Depois de inventar um esquema de assinatura digital mais simples, ele o patenteou, limitando o uso de sua ideia. No entanto, a patente expirou em 2008 e não foi renovada.
No entanto, ao inventar o Bitcoin em 2009, Satoshi Nakamotooptou por ECDSA, uma opção mais complexa, mas de código aberto. ECDSA na época foi padronizado e mais amplamente utilizado do que as Assinaturas Schnorr, devido à patente recentemente expirada desta última. Além disso, ECDSA foi suportado pelo OpenSSL, uma biblioteca de criptografia na qual o código-fonte do Bitcoin foi construído.
Assim, o Bitcoin continuou a implementar o ECDSA como seu esquema de assinatura digital sem contra-argumentos internos até 2014, quando foi proposto no fórum Bitcoin Talk. Os contribuidores do Bitcoin Core, Pieter Wuille, Jonas Nick e Tim Ruffing, eventualmente redigiram uma Proposta de Melhoria do Bitcoin destacando como as Assinaturas Schnorr poderiam se encaixar na rede Bitcoin. Sua proposta foi posteriormente etiquetada como BIP 340 e incluída na Atualização Taproot de 2021.
Schnorr é um sistema de multi-assinatura que permite que as transações BTC sejam concluídas com menos dados do que o sistema de assinatura tradicional (ECDSA). Schnorr não só melhora a escalabilidade e a privacidade do uso de multi-assinatura, como anteriormente descrito, mas também permite outros BIPs, abrindo potencialmente caminho para futuros desenvolvimentos, como contratos inteligentes no Bitcoin.