Taproot está chegando: o que é e como beneficiará o Bitcoin

Autora:Bem-estar, Criado: 2019-02-12 09:33:46, Atualizado:

Os usuários do Bitcoin podem, em breve, ser capazes de se beneficiar de um truque chamado Taproot. Proposto pela primeira vez pelo colaborador do Bitcoin Core e ex-CTO do Blockstream Gregory Maxwell, o Taproot expandiria a flexibilidade do contrato inteligente do Bitcoin, oferecendo mais privacidade ao fazê-lo.

Embora seja um grande empreendimento, isso não é apenas teoria. Vários dos mais prolíficos colaboradores do Bitcoin Core , incluindo Pieter Wuille, Anthony Towns, Johnson Lau, Jonas Nick, Andrew Poelstra, Tim Ruffing, Rusty Russell e, de fato, Gregory Maxwell estão trabalhando em uma proposta de assinatura Schnorr que incluiria Taproot, tudo em uma atualização de protocolo.

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 solution para o script ao mesmo tempo. Qualquer pessoa pode então usar o hash inicial para verificar se o script fornecido era realmente o script original que bloqueia as moedas e pode concluir imediatamente que os requisitos do script foram cumpridos.

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 tweak tanto uma chave privada quanto uma chave pública. Como um exemplo simplificado, uma chave privada e sua chave pública correspondente podem ser ajustados multiplicando ambos por dois. A chave privada x 2 e a chave pública x 2 ainda corresponderiam, e a chave privada x 2 ainda poderia assinar mensagens que poderiam ser verificadas com a chave pública x 2.

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 não há estruturas como o MAST ainda.

Todas as maneiras alternativas em que os fundos podem ser gastos os resultados não cooperativos são desta vez combinados em um script diferente. Este script, em seguida, é hashado e usado para ajustar a chave pública de limiar. Em vez de chave pública x 2, como usado no exemplo anterior, isso resulta em um chave pública de limiar x script.

Agora, se o dinheiro é gasto cooperativamente, todos os participantes combinam suas assinaturas na sinatura de limiar e ajustam-na com o script. A sinatura de limiar x script resultante permite que eles gastem os fundos.

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 chave pública de limiar x script foi modificada com este script específico. Assim, como o hash no P2SH, o tweak prova ao mundo que os fundos devem ser gastáveis se as condições alternativas, conforme especificado neste script, forem atendidas. (E, como no P2SH, essas condições são, claro, imediatamente atendidas para gastar os fundos.)

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.


Mais.