Glossário / Protocolo e atualizações
MuSig2
Outros nomes: Agregação de chaves.
- O que é o MuSig2?
- O MuSig2 permite que vários signatários combinem suas chaves públicas em uma só e produzam uma única assinatura Schnorr de 64 bytes, de modo que um gasto em grupo parece idêntico a um gasto individual na blockchain.
Especificação no BIP-327.
A agregação de chaves é todo o truque: vários participantes têm cada um uma chave privada, e a matemática soma suas chaves públicas em uma única chave agregada que nenhum deles controla sozinho. O BIP-327 fixou o esquema em duas rodadas de comunicação, contra três no MuSig original. Para uma carteira compartilhada, isso significa taxas menores e nenhuma evidência pública de que a carteira era compartilhada.
Como funciona
O MuSig2 roda em duas passagens pelo grupo, e só a segunda passagem precisa saber o que está sendo assinado.
Na primeira passagem, cada signatário gera dois nonces secretos e publica o par de pontos correspondente. O coordenador soma esses pares em um nonce combinado usando um coeficiente derivado do hash de todo o conjunto. Esse coeficiente é a peça específica de engenharia que permitiu ao esquema eliminar uma rodada sem reabrir os ataques que quebraram desenhos anteriores de duas rodadas.
Na segunda passagem, cada signatário produz uma assinatura parcial sobre o hash de assinatura da transação e devolve um único número. Somados, esses números formam uma assinatura de 64 bytes que se verifica com a chave agregada de 32 bytes segundo as regras comuns do BIP-340. Um nó que valida o bloco não consegue saber quantas pessoas participaram, nem que alguém participou.
Vale nomear em voz alta duas propriedades de segurança. A agregação de chaves aplica um coeficiente por chave para que um participante não possa fabricar uma chave pública que anule as de todos os outros, o ataque de chave maliciosa que a simples soma de chaves permite. E os nonces são estritamente de uso único: assinar duas mensagens diferentes com o mesmo nonce revela sua chave privada diretamente, e por isso implementações corretas apagam o nonce secreto no momento em que ele é consumido e recusam uma segunda assinatura da mesma sessão.
Onde você vê isso
O MuSig2 fica por trás de um gasto pelo caminho de chave do Taproot, então o que você vê na verdade é um endereço bc1p que se comporta como qualquer outro.
O argumento do tamanho é concreto. Uma entrada Taproot pelo caminho de chave custa 57,5 vbytes tanto se uma pessoa a assinou quanto se cinco a assinaram, enquanto um gasto com script de testemunha de dois de três precisa revelar três chaves públicas e duas assinaturas e fica bem acima do dobro disso. As saídas Taproot se tornaram gastáveis no bloco 709.632, em 14 de novembro de 2021, então a capacidade está na blockchain há anos e o gargalo tem sido o software de carteira.
O BIP-373 fornece a infraestrutura, acrescentando campos PSBT para nonces públicos, chaves dos participantes e assinaturas parciais, para que um dispositivo de hardware possa participar de uma sessão de assinatura sem que cada fabricante invente um formato de mensagem. A adoção em carteiras de consumidor ainda é pequena. A implantação mais concreta é o trabalho de canais Taproot simples na Lightning, em que as duas partes depositam fundos no canal em uma única saída MuSig2.
MuSig2 vs multiassinatura
O MuSig2 é todos de n por construção; a multiassinatura clássica pode ter qualquer limiar que você quiser.
Essa diferença decide se ele deve ficar perto das suas economias. Uma configuração de dois de três baseada em script continua funcionando quando uma chave é perdida, porque o script nomeia três chaves e pede duas delas. Uma chave agregada precisa de todos os participantes presentes, e um signatário que desaparece leva os bitcoins consigo, a menos que o mesmo endereço também fixe um caminho de script com um ramo de recuperação. Limiares genuínos sob uma única chave agregada precisam de um protocolo diferente, como o FROST, que não é o que o BIP-327 especifica.
A segunda troca é deliberada. A multiassinatura por script é auditável por qualquer pessoa com um explorador de blocos, e o MuSig2 não é, o que representa um ganho de privacidade para uma família e um obstáculo para um tesoureiro que precisa demonstrar que um pagamento exigiu dois responsáveis.