O Taproot ativou-se no bloco 709.632 em 14 de novembro de 2021. São três BIPs trabalhando juntos.
BIP340: assinaturas Schnorr
Um novo esquema de assinatura Schnorr sobre a mesma curva secp256k1. As assinaturas têm 64 bytes e as chaves públicas são chaves x-only de 32 bytes. Como Schnorr é linear, vários assinantes podem combinar as suas chaves numa só com protocolos como MuSig2 (BIP327) e produzir uma única assinatura.
BIP341: saídas Taproot
Uma saída Taproot (SegWit v1, bc1p…) compromete-se a uma chave Q de 32 bytes. Q é construída a partir de uma chave interna P e uma árvore opcional de scripts:
Q = P + t·G, onde t = hashTapTweak(P || merkle_root)
Há duas formas de gastar:
- Caminho de chave: assinar com a chave tweaked. On-chain é só uma assinatura. Ninguém pode saber se existia uma árvore de scripts.
- Caminho de script: revelar um script (uma folha), as suas entradas e um control block que guarda P e o ramo Merkle que prova que essa folha está na árvore. As outras folhas permanecem ocultas.
Essa árvore de alternativas costuma chamar-se MAST. Um desenho típico: o caminho de chave é «todos concordam», e as folhas são backups como «2-de-3 após 6 meses».
BIP342: Tapscript
A linguagem de script dentro das folhas foi atualizada. OP_CHECKMULTISIG foi substituído por OP_CHECKSIGADD, que é verificável em lote. Removeram-se o limite de script de 10.000 bytes e o de 201 opcodes e substituíram-se por um orçamento de assinaturas ligado ao tamanho do witness. Opcodes não usados tornaram-se OP_SUCCESSx, o que simplifica futuros soft forks.
Melhor hashing de assinaturas
O sighash do BIP341 compromete-se com os valores e scripts de todas as entradas que se gastam, então carteiras de hardware podem verificar taxas sem ver transações anteriores.
Ativação
O Taproot usou «Speedy Trial», uma janela curta de sinalização estilo BIP9 com limiar de 90%. O limiar de 90% foi alcançado no bloco 687.284 em 12 de junho de 2021, bloqueou-se a partir do período seguinte (bloco 687.456) e aplicou-se a partir do bloco 709.632.
Benefícios
Multisig e contratos mais baratos e privados, porque o caso habitual parece um pagamento ordinário de uma só chave.