Os usuários do Bitcoin podem, em breve, ser capazes de se beneficiar de um truque chamado
Embora seja um grande empreendimento, isso não é apenas teoria. Vários dos mais prolíficos colaboradores do Bitcoin Core
Eis o que é o Taproot e como funciona.
P2SH
Todos os bitcoins são essencialmente "bloqueados" em scripts: algumas linhas de código incorporadas em uma transação incluída no blockchain, que definem como as moedas podem ser gastadas na próxima transação. As condições de gasto geralmente envolvem fornecer uma assinatura para provar a propriedade das moedas.
Diferentes condições podem ser misturadas e combinadas, para criar tipos complexos de contratos inteligentes. Um exemplo de tal contrato pode ser que as moedas possam ser gastadas se Alice e Bob assinarem, ou se Alice assinar sozinha após uma semana, ou se Bob assinar sozinho, fornecendo também um número secreto.
Desde 2012, os scripts (as condições) muitas vezes não são visíveis publicamente no início; apenas o novo proprietário das moedas sabe como elas podem ser gastas. Isso é feito com um truque chamado P2SH (pay to script hash), onde inicialmente apenas um hash do script é incluído no blockchain. Este número aparentemente aleatoriamente codificado mantém as moedas. Quando o proprietário gasta as moedas, ele revela todo o script, bem como a
Ainda assim, quando as moedas são gastas, atualmente é necessário revelar todas as condições possíveis que poderiam ter sido cumpridas, incluindo as condições que não foram cumpridas. Isso tem duas desvantagens principais. Uma, é pesado em dados, especialmente se houver muitas condições. E duas, é ruim para a privacidade. Todos aprendem todas as diferentes maneiras pelas quais os fundos poderiam ter sido gastos, o que pode, por exemplo, revelar que tipo de carteira foi usada e talvez até mais.
Masto
MAST (Merkelized Abstract Syntax Tree) é uma solução proposta que usa árvores Merkle (uma estrutura de dados compacta de décadas inventada pelo criptógrafo Ralph Merkle) para contornar essas duas desvantagens.
O benefício único é que, se algum dos dados da árvore de Merkle for revelado, a raiz de Merkle e alguns dados adicionais (chamados de caminho de Merkle) podem ser usados para verificar se esses dados específicos foram incluídos na árvore de Merkle.
Com o MAST, isso significa que apenas a condição que é atendida precisa ser revelada. Se, no exemplo inicial acima, Alice sozinha gasta os fundos depois de uma semana, ela apenas revela essa condição (e o caminho de Merkle). Ninguém aprende que o dinheiro também poderia ter sido gasto por Alice e Bob juntos, ou por Bob sozinho se ele adicionasse um número secreto. Isso torna o MAST mais eficiente em dados do que contratos inteligentes P2SH complexos e adiciona privacidade para iniciar.
No entanto, com Schnorr, Taproot pode fazer ainda melhor: uma transação pode esconder que uma estrutura MAST existia.
Schnorr
O esquema de assinatura Schnorr está em desenvolvimento para ser implantado como uma atualização do protocolo soft fork. Muitos criptógrafos consideram o esquema de assinatura Schnorr como o melhor no campo, pois suas propriedades matemáticas oferecem um forte nível de correção, não sofre de maleabilidade e é relativamente rápido de verificar.
Como seu benefício mais conhecido no contexto do Bitcoin, a matemática linear de Schnorr permite a agregação de assinaturas: várias assinaturas na mesma transação podem ser combinadas em uma. Um truque semelhante pode ser aplicado a transações multisig. Combinando ambas as chaves públicas e assinaturas em chaves públicas de limiar e assinaturas de limiar, uma transação multisig pode ser feita indistinguível de qualquer transação regular.
E o esquema de assinatura pode ser usado de maneiras ainda mais interessantes. Por exemplo, é possível usar dados para
Isto é o que permite Taproot.
Raiz-de-cabeça
Taproot é baseado em uma conclusão interessante: não importa o quão complexa, quase qualquer construção de MAST poderia (ou deveria) incluir uma condição que permita a todos os participantes concordarem com o resultado e simplesmente assinarem uma transação de liquidação juntos. No exemplo anterior, se Bob sabe que Alice pode, sozinha, reivindicar todos os fundos na próxima semana, ele também pode cooperar com ela agora para assinar juntos.
O Taproot é semelhante ao MAST e inclui sempre uma condição em que todos os participantes podem cooperar para gastar os fundos: o fechamento da cooperativa.
Usando assinaturas Schnorr, é aqui que fica interessante.
Em primeiro lugar, o fechamento cooperativo usaria o truque do limiar de Schnorr para fazê-lo parecer uma transação regular, de uma pessoa para outra. Assim, as chaves públicas de todos os participantes são adicionadas, resultando na chave pública de limiar. Correspondendo a essa chave pública de limiar, a combinação de todas as assinaturas de todos os participantes permite que eles gastem os fundos.
Até agora tudo bem, mas gastar os fundos como se fosse uma transacção normal é a única coisa que eles podem fazer
Todas as maneiras alternativas em que os fundos podem ser gastos
Agora, se o dinheiro é gasto cooperativamente, todos os participantes combinam suas assinaturas na
Só se um fechamento cooperativo se revelar impossível, a chave pública de limiar pode ser mostrada pelo que realmente é: alterada.
Neste caso, tanto a chave pública de limiar original quanto o script são revelados. Isso prova que a
Alternativamente, em vez de ajustar a chave pública de limiar com script, a chave pública de limiar pode ser ajustada com uma raiz de Merkle de uma árvore de Merkle que inclui todas as diferentes condições sob as quais os fundos podem ser gastos: uma estrutura MAST. Para gastar os fundos, então, apenas a condição de gasto que foi atendida precisa ser revelada.
Como tal, a Taproot oferece todos os benefícios do MAST, enquanto em circunstâncias normais ninguém saberá que uma transação regular estava escondendo um contrato inteligente tão complexo como uma alternativa.
Este é um esboço geral do conceito Taproot; as especificações de implementação podem variar.