Graftroot é uma melhoria projetada para expandir as capacidades do Taproot, uma proposta que busca oferecer ao Bitcoin melhores capacidades para sua linguagem de programação, permitindo a criação de contratos inteligentes mais poderosos.
El desenvolvimento de Bitcoin não para, e no meio dessa dinâmica, uma melhoria que se espera dentro deste protocolo é a de Graftroot. Esta melhoria é baseada no trabalho que está sendo realizado em duas melhorias já conhecidas Taproot e Empresas Schnorr, e seu objetivo é tornar a criação de transações e scripts mais flexível para criar condições de bloqueio muito mais elaboradas. Desta forma, scripts de Bitcoin usando Graftroot podem permitir a programação de várias condições de bloqueio que atualmente não são possíveis, tudo isso mantendo a segurança e melhorando a privacidade do sistema.
Mas como a Graftroot pode tornar tudo isso possível? Bem, isso e muito mais analisaremos a seguir.
Origem do Graftroot
Em primeiro lugar, a origem do Graftroot remonta a dois conceitos muito importantes: Taproot e as firmas Schnorr. Esses são os blocos de construção do Graftroot e, sem eles, é impossível seu funcionamento. Para ser bem claro, Taproot é uma melhoria que visa mudar a forma como Scripts Bitcoin eles podem ser construídos, executados e armazenados no blockchain Bitcoin. Sua principal missão é tornar os Bitcoins Scripts mais flexíveis para que possam melhorar sua programação ou smart contracts.
A melhoria proposta pela Taproot é acompanhada por um novo tipo de assinatura digital chamada assinaturas Schnorr. Este é um tipo de assinatura digital cujo objetivo é criar assinaturas digitais menores, mais seguras e privadas do que suas contrapartes. ECDSA, o padrão usado pelo Bitcoin hoje.
Dito isso, podemos ver que a Taproot e as empresas Schnorr irão melhorar muito a capacidade do Bitcoin, e isso é algo que podemos aplaudir. No entanto, isso não termina aí. Ele 5 de febrero de 2018, o desenvolvedor Bitcoin, Gregory Maxwell, enviou um e-mail para a lista de desenvolvedores de Bitcoin divulgando sua proposta Graftroot. A proposta foi um aprimoramento do Taproot que ampliará suas possibilidades. A ideia pegou rapidamente, especialmente porque o designer da Taproot também era Gregory Maxwell, e ninguém sabia melhor do que como esse aprimoramento funcionava e como poderia ser melhorado.
Na verdade, Maxwell apresentou as duas ideias com apenas 13 dias de intervalo, deixando muito claro que havia espaço para melhorias em ambas.
Gregory Maxwell: O que é Graftroot?
Taproot sofre de uma limitação e isso é que apenas uma alternativa pode ser fornecida nativamente. Árvores ou cachoeiras podem ser feitas de raízes principais, mas têm menos privacidade e eficiência do que um único nível. No entanto, sob a suposição de raiz principal, onde há uma função monótona em chaves públicas simples e nada mais que seja suficiente para autorizar uma transação, podemos fazer ainda melhor.
Com Graftroot, os participantes estabelecem um chave de limite, opcionalmente com uma raiz principal alternativa, assim como fazem com a raiz principal. Portanto, a qualquer momento, eles podem delegar sua capacidade de assinar um script substituto assinando esse script (e apenas o script) com sua chave primária e compartilhando essa delegação com quem quiserem. Mais tarde, quando chega a hora de gastar a moeda, se os signatários não estiverem disponíveis e o script deve ser usado, a parte redentora faz o que for necessário para satisfazer o script (por exemplo, fornece sua própria assinatura e um cadeado de tempo, ou qualquer outra coisa) e apresenta essas informações junto com a assinatura do signatário do script.
O resultado é que, em vez de permitir uma única alternativa, um número ilimitado de alternativas pode ser fornecido. Todos são executados tão eficientemente quanto uma única alternativa, e o número deles é oculto sem sobrecarga. Também podem ser fornecidas alternativas para as moedas, sem a necessidade de se moverem, o movimento só é necessário para destruir a capacidade de usar alternativas ao mudar as chaves.
O dito acima de uma forma menos técnica e extensa é: Grafroot permite-nos introduzir mais programação nos scripts, melhorando as condições de programação e ativação dos scripts, e tudo isto sem alterar o protocolo e usufruindo das vantagens de privacidade que nos permitem Taproot e Schnorr.
Certamente uma solução elegante, que ao mesmo tempo oferece melhorias que todos nós apreciaremos e que terão um grande impacto positivo na usabilidade do Bitcoin.
Como funciona o Graftroot?
Agora exatamente como o Graftroot funciona. Bem, em primeiro lugar, como já discutimos, a Graftroot funciona graças à Taproot e às empresas Schnorr. Essas duas funções são básicas e necessárias para a operação adequada. Mas não se preocupe, você pode saber tudo o que precisa saber se visitar nossos artigos para Taproot y Empresas Schnorr, aqui na Bit2Me Academy.
Dito isso, iremos dar um breve exemplo de como o Graftroot funciona. Para fazer isso, imagine o seguinte cenário:
Exemplo de como o Graftroot funciona
Em primeiro lugar, temos Daniela e Luis gerenciando uma carteira com várias assinaturas. A carteira é do tipo 2 de 2, ou seja, as 2 assinaturas são necessárias para autorizar o dispêndio do dinheiro dentro dessa carteira.
No entanto, Daniela e Luis decidiram flexibilizar a forma de gastos em determinadas condições. Assim, estabelecem que após um ano, o dinheiro na referida bolsa poderá ser mobilizado com a assinatura de um deles nada mais. Assim, Daniela ou Luís, a partir dessa altura, podem movimentar o dinheiro graças a esta condição de seguro. Junto com essa condição, programam outra em que Luís possa gastar o saldo fornecendo um segredo.
Uma vez que as condições são escritas, Daniela e Luis criam suas chaves de limite usando assinaturas Schnorr, eles assinam os scripts principal e alternativo, e cada um deles mantém os dados necessários para atender às condições de despesas que foram programadas nos scripts. .
Explicando o cenário
Em primeiro lugar, Daniela e Luis podem criar uma multisignatura 2 de 2 e colocar seu dinheiro lá, isso é algo que podemos fazer em Bitcoin agora. A novidade é incluir várias condições alternativas que serão executadas se estiverem presentes as condições necessárias para que essa operação seja cumprida. E se um deles for atendido, o resto das condições não podem ser vistas por mais ninguém.
Isso significa que se, por exemplo, Daniela sacar o dinheiro um ano depois porque Luis teve um problema, ela poderá fazê-lo sem problemas. Mas ao mesmo tempo no blockchain, só poderemos ver o script que permitiu tal ação, o resto dos scripts e condições permanecerão ocultos. Em outras palavras, apenas aquela condição que é atendida na transação pode ser vista no blockchain publicamente, o resto das alternativas e condições permanecerão privadas e ninguém será capaz de saber quais são.
Esse recurso certamente melhora a privacidade, mas não só isso, melhora a capacidade de programar cada Bitcoin na rede. E o melhor é que essas transações, quando vistas no blockchain, não farão muita diferença de uma transação normal de criptomoeda.
Em relação à "função de seguro", imagine quantos Bitcoins não estão congelados no blockchain porque a chave para seu gerenciamento foi simplesmente esquecida ou perdida? Com um endereço e um script usando o Graftroot, seria possível programar condições especiais para que o dinheiro dentro daquele endereço pudesse se movimentar em outras condições programadas, evitando assim o seu prejuízo. Dessa forma, casos como o da QuadrigaCX com seus 1000 BTC perdidos, ou o de um usuário Bitcointalk com 8900 BTC perdido, seria outra história.
Quanto você sabe, cryptonuta?
O aplicativo de Graftroot colocará o Bitcoin no mesmo nível que a programação de contrato inteligente da Ethereum?FALSO!
Embora o Graftroot (e o Taproot) expandam muito a capacidade atual do Bitcoin para contratos inteligentes, isso não significa que a programabilidade do Bitcoin exceda ou alcance a do Ethereum. Na verdade, esse não é o objetivo. O verdadeiro objetivo é permitir que a rede seja capaz de realizar operações que atualmente dependem de opções centralizadas ou protocolos de segunda camada. Por exemplo, com Taproot e Graftroot ativos, o mesmo protocolo Bitcoin seria capaz de executar DEX ou Atomic Swaps seguros. Tudo isso sem a necessidade de algum tipo de protocolo externo, algo que beneficiará muito os usuários.
Prós e contras do Graftroot
Prós
Em primeiro lugar, um dos prós do Graftroot é que eles permitem que você crie contratos inteligentes muito mais elaborados (scripts de Bitcoin). Ou seja, com mais condições e com funções que de outra forma seriam impossíveis de implementar. Isso melhora significativamente a usabilidade do Bitcoin e abre as portas para a implementação na cadeia de novas funções de troca seguras e transparentes.
Além disso, a Graftroot não renuncia aos aprimoramentos de privacidade e escalabilidade que as empresas Taproot e Schnorr nos oferecem, visto que essas duas tecnologias são exigidas pela Graftroot. Isso motivou os desenvolvedores a aceitar o uso de Taproot e Schnorr dentro do Bitcoin, que em breve poderemos ver.
Contras
No lado negativo, o Graftroot introduz mais complexidade ao código do Bitcoin, levando inexoravelmente a problemas de segurança. No entanto, tanto Taproot quanto Schnorr dentro do Bitcoin estão em desenvolvimento desde 2018, o código vem sendo estudado, o que reduz a possibilidade de problemas desse tipo.
O que é realmente um problema com o Graftroot é que se trata de um sistema interativo, no qual ambas as partes devem assinar os scripts (o principal e os alternativos) para poderem fazer despesas. Se isso não acontecer por algum motivo, o dinheiro estará lá até que a ação seja concluída.