MSTR Cat

Blockchain/Nível IV · Protocolo a fundo/4.2 Atualizações/Lição 1

Assinaturas Taproot e Schnorr

A chave que esconde o contrato, e a assinatura que cabe no bolso

MateriaisUm explorador de blocos capaz de visualizar o hexadecimais das transações brutasUma carteira que suporta endereços Taproot (bc1p)Os documentos de especificação BIP341 e BIP340

Curiosidade

  1. Por que um acordo complexo entre várias partes parece exatamente como um pagamento simples de um indivíduo na blockchain?
  2. Como várias chaves privadas podem se combinar em uma única chave pública sem revelar sua existência para os observadores?
  3. Qual propriedade matemática permite que uma assinatura de dez pessoas seja indistinguível da de uma única pessoa?

Explorar

  1. Antes do Taproot, uma condição de gasto complexa era revelada na íntegra sempre que as moedas eram gastas (e, no caso de scripts simples, ficava contida no próprio resultado da transação): um gasto por multisig exibia a chave de cada participante, um timelock indicava sua duração e um hashlock mostrava sua estrutura. Essa transparência pública criava riscos à privacidade para usuários sofisticados e ocupava espaço excessivo no bloco com dados redundantes. A rede tratava todos os scripts como livros abertos, forçando arranjos complexos a transmitir toda a sua lógica para cada nó e observador.
  2. O Taproot (BIP341) altera o modelo de compromisso. Uma saída agora aponta para uma única chave pública de 32 bytes, Q, calculada como P + t·G. Aqui, P é uma chave interna controlada pelo pagador principal, enquanto t se refere ao raiz Merkle de uma árvore opcional de scripts alternativos. Na cadeia, a saída parece ser um pagamento com única chave, escondendo toda a complexidade por trás dela.
  3. As assinaturas Schnorr (BIP340) são a base dessa eficiência. Diferentemente do ECDSA, que utiliza codificação DER de comprimento variável, com média de 71–72 bytes, o Schnorr gera uma assinatura de tamanho fixo de 64 bytes (65 com um tipo de hash de assinatura não padrão). O tamanho fixo simplifica a análise da assinatura e reduz o peso da transação. A linearidade do esquema Schnorr também permite a agregação de chaves: com um protocolo como MuSig2, várias chaves públicas podem ser combinadas em uma única chave agregada, permitindo que grupos assinem como se fossem uma única entidade, sem revelar os participantes individuais.
  4. Os gastos são processados por meio de dois caminhos distintos. No caminho principal, todas as partes cooperam e assinam usando sua chave conjunta; a transação resultante não difere de qualquer pagamento comum utilizando uma única chave. Nenhum script é revelado, nem dados extras são anexados. Isso preserva a privacidade nas operações cooperativas em canais Lightning ou carteiras multisig, garantindo que arranjos financeiros complexos não vazem metadados para o livro-razão público da blockchain.
  5. Se a cooperação falhar, o caminho do script é ativado. O gastador revela uma folha específica da árvore Merkle juntamente com uma prova de sua participação nela. Os galhos não utilizados permanecem ocultos, preservando a privacidade das condições alternativas. Esse mecanismo, conhecido como Árvores de Sintaxe Abstrata Merkelizadas (MAST), permite que regras diversas de gasto — como retiradas adiadas ou chaves de emergência — coexistam dentro de um único resultado, sem serem expostas até que seja estritamente necessário.
  6. O impacto prático é significativo. Os endereços Taproot começam com ‘bc1p’. O padrão MuSig2 (BIP327) padroniza a agregação de chaves, permitindo multisig interoperável entre diferentes fornecedores de carteiras. Esquemas de threshold como o FROST estão em desenvolvimento para fins semelhantes. A partir de novembro de 2021, no bloco 709.632, a rede adotou essa estrutura, tornando os scripts complexos menores, mais baratos e privados por padrão quando utilizados de forma cooperativa.

Fatos-chave

  • Taproot (BIP341) foi ativado em novembro de 2021 no bloco 709.632.
  • A saída de Taproot se compromete com uma única chave Q = P + t·G, onde t é um hash rotulado de P e, se presente, a raiz de uma árvore de scripts.
  • As assinaturas Schnorr (BIP340) têm tamanho fixo de 64 bytes, eliminando o overhead da codificação DER.
  • Os gastos pelo caminho-chave não revelam nenhum script e são indistinguíveis de pagamentos com uma única chave.
  • O caminho do script exibido revela apenas a folha de script específica utilizada, mantendo os outros ramos ocultos.
  • MuSig2 (BIP327) permite a agregação de chaves n-de-n para carteiras multisig interoperáveis.

Exercício nove, seis, três, um

9ReunirListe 9 tipos distintos de condições ou scripts de gasto de Bitcoin que existiam antes do Taproot. Indique as vulnerabilidades de privacidade específicas ou as penalidades de tamanho associadas a cada um deles na cadeia de blocos.
6AgruparAgrupe as 9 condições em 6 categorias com base em como são tratadas em uma saída Taproot: totalmente ocultas por meio do caminho da chave, reveladas apenas em caso de disputa, agregadas por meio de MuSig2 ou por outras alterações estruturais.
3DestilarReduza os 6 clusters para 3 razões principais pelas quais esconder scripts por trás de uma única chave melhora a eficiência da rede e a privacidade do usuário.
1CristalizarEscreva uma frase explicando como a estrutura de árvore Merkle no Taproot permite acordos financeiros complexos sem a divulgação pública de seus termos.

Verificação de fatos

Datas, números e afirmações verificados com as fontes publicadas listadas abaixo.

Abrir na academia interativa →

EN ES ZH JA KO RU DE FR MS