UTreeXO, é uma proposta de melhoria elaborada por Tadje Dryja, que visa melhorar o manuseio do UTXO da blockchain Bitcoin, comprimindo-o em um hash simples que pode ser reproduzido por todos os atores da rede.
UUma das melhorias sendo preparadas para Bitcoin (BTC) é conhecido como UTreeXO, um projeto que visa nos ajudar a reduzir os problemas que ocorrem com a gestão do saídas não gastas (UTXO) dentro do blockchain. Mas o que UTreeXO realmente faz? Como você pode nos ajudar? Bem, isso é precisamente o que você saberá a seguir.
UTreeXO, melhorando o controle de UTXO em Bitcoin
UTXOs são um mecanismo projetado para identificar moedas não utilizadas em um endereço Bitcoin. Para ver mais facilmente, lembre-se deste exemplo:
María decidiu pagar a Juan uma dívida antiga, correspondente a € 200 em Bitcoin. Para fazer isso, Maria abre sua bolsa, prepara a transação e envia o saldo para Juan. Nesse ponto, Juan pode ver a transação não confirmada e, uma vez confirmada, Juan finalmente tem seu saldo e Maria paga sua dívida. Neste exemplo, existem três pontos:
- Maria usa o saldo disponível para pagar Juan. Este saldo disponível faz parte do UTXO (moedas em sua posse que não foram gastas) que Maria tem à sua disposição.
- O pagamento é feito, Maria passa a propriedade dessas moedas para Juan, criando uma transação com uma entrada (usando seu saldo disponível, o UTXO) e uma saída (que atribui as moedas a Juan) e caso haja uma mudança é cria uma segunda saída que retorna o referido saldo para Maria.
- Juan recebe o pagamento de María, e os ingressos de María (o saldo UTXO que ele tinha à sua disposição) passam a ser o saldo disponível de Juan, sendo agora seus futuros UTXOs.
Este modelo UTXO é a base da contabilidade de pagamento Bitcoin, e é uma maneira inteligente de evitar que moedas saiam do nada dentro do Bitcoin ou que alguém faça uso de moedas que não estão realmente sob seu poder. Ou seja, os UTXOs são fundamentais no Bitcoin.
O problema com o modelo UTXO do Bitcoin
Porém, esse modelo também gera um problema, que é que gera uma grande quantidade de informações que no final fazem com que o tamanho do blockchain cresça desproporcionalmente. Além disso, torna-se cada vez mais complexo e difícil verificar totalmente o blockchain, retardando o processo de sincronização dos nós.
Para resolver este problema e reduzir o tamanho das informações UTXO dentro do blockchain, Tadje Dryja, co-criador de Lightning Network, apresentou UTreeXO. A ideia por trás dessa melhoria é fornecer ao Bitcoin um sistema que permite podar corretamente e criptograficamente verificável o conjunto de dados UTXO do blockchain do Bitcoin para um hash.
Ou seja, UTreeXO é um acumulador baseado em hash. Para conseguir isso, UTreeXO pega os dados UTXO do blockchain e transforma esses dados em uma enorme árvore (semelhante a árvore de merkle) Essa árvore é então sintetizada em um hash raiz que sintetiza todo o conjunto de dados. O sistema é cumulativo, portanto a criação de um novo hash requer simplesmente uma cópia do hash anterior, com os dados UTXO anteriores, gerando o processo de acumulação e como resultado o novo hash é obtido.
Essa tarefa estaria nas mãos dos chamados nós de compactação, e eles permitiriam manter a rede sincronizada com relação aos dados UTXO e UTreeXO conforme necessário. Isso garante que o sistema não possa ser adulterado, que possa ser verificado publicamente e que o sistema não interrompa a operação atual do Bitcoin.
Como funciona o UTreeXO?
O problema de escalabilidade no Bitcoin se torna cada vez mais sério. Em primeiro lugar, temos que a cada dia mais e mais pessoas criam suas carteiras e passam a fazer uso da rede Bitcoin. Esse maior afluxo de pessoas dentro da rede Bitcoin aumenta o volume de informações (mais transações e informações dentro da rede), informações que os nós devem tratar e que devem ser registradas no blockchain. Entre esses dados está a informação do UTXO (Unspent Transaction Output).
Diante disso, os nós compactos do UTreeXO iniciam seu papel quando uma nova transação é criada e transmitida pela rede. Nesse ponto, o nó pega a transação, realiza uma prova criptográfica desse fato e regenera a árvore UTXO da cadeia, para obter o hash final. A prova de inclusão (a prova criptográfica do UTXO) é então enviada junto com a transação e armazenada no blockchain.
A partir de então, cada nó compacto em UTreeXO encaminha a transação e a prova criptográfica para outros nós compactos. Desta forma, um consenso é gerado na árvore UTXO da cadeia, e a verificação pública de todas essas informações é habilitada. No final, quando a transação é incluída em um bloco, todos os dados de teste são descartados. Isso significa que nós compactos podem manter transações e testes em sua memória. Portanto, não há nenhuma informação a ser gravada no disco rígido.
Uma solução escalada
Além dos nós compactos de UTreeXO, existem também os nós de ponte de UTreeXO. A função desses nós é receber as transações padrão da rede (aquelas que não estão inicialmente formatadas para usar UTreeXO) e realizar todos os processos necessários para serem incluídas na árvore. Para conseguir isso, os nós da ponte contêm todo o histórico do blockchain e a lista UTXO completa. Assim, sua função é receber as informações dos nós completos e criar uma prova da existência de fundos não gastos com base na lista UTXO. Feita essa observação, essa informação é encaminhada com seu respectivo teste para os nós compactos.
Neste ponto, é necessário enfatizar que a presença do nó ponte só é necessária quando um nó completo padrão envia dados para um nó compacto. Por outro lado, o nó compacto apenas envia os dados da transação para o nó completo padrão, ignorando a prova criptográfica de fundos. Em última análise, este sistema permite a implementação de UTreeXO em um ambiente compatível com versões anteriores, no qual os nós padrão e UTreeXO podem funcionar sem problemas.
Objetivos do UTreeXO
O principal objetivo do UTreeXO é diminuir a quantidade de informação necessária para que os nós verifiquem a disponibilidade dos UTXOs. Dessa forma, eles teriam apenas que armazenar uma cópia das informações de propriedade da transação. E ao lado dessas informações, uma prova criptográfica das informações sobre os UTXOs. Como resultado, os requisitos de capacidade computacional e armazenamento de dados dos nós são drasticamente reduzidos, enquanto melhora a disponibilidade de recursos e largura de banda em toda a rede.
Ao mesmo tempo, permite oferecer maior escalabilidade à rede Bitcoin em alguns pontos. Isso é possível devido à redução do fluxo de dados dentro da rede, o que reduz significativamente o uso de largura de banda e, ao mesmo tempo, reduz o tempo de verificação das transações.
Prós e Contras do UTreeXO
Prós
- Entre seus prós, está a melhora na velocidade das transações no Bitcoin. Isso por proporcionar maior escalabilidade diante da enorme quantidade de informações que são tratadas na rede devido ao aumento do volume de transações.
- Redução da quantidade de informações armazenadas nos nós da rede Bitcoin.
- Mantém a segurança e privacidade das transações. Isso é possível porque apenas a evidência da existência de fundos é transmitida, sem incluir mais detalhes. Desta forma, evita-se que a privacidade e segurança dos usuários sejam violadas.
Contras
- A implementação de UTreeXO requer que os nós intermediários ou nós de ponte sejam criados. Esses nós servirão como o ponto de transição de informações de um nó completo padrão para um nó compacto. O fluxo de informações nesses nós de ponte deve ser concluído. Ou seja, eles devem manter o blockchain, bem como a lista UTXO, para criar os testes que os nós compactos precisam para a validação das transações.
- A presença de nós de ponte na rede pode criar situações que vão contra a descentralização. Isso no caso de UTreeXO ser amplamente utilizado na rede.
- A criação de novas comissões que sirvam de incentivo aos nós da ponte. Esta é uma possibilidade que poderia ocorrer no caso da implementação da tecnologia UTreeXO na rede Bitcoin. Isso levaria a um aumento no custo das taxas de transação.
Quanto você sabe, cryptonuta?
UTreeXO leva a problemas de segurança no Bitcoin?FALSO!
UTreeXO foi criado para manter o mesmo nível de segurança que UTXO. Na verdade, não substitui este sistema, simplesmente implementa uma série de melhorias laterais que permitem otimizar a sincronização dos nós ao nível UTXO. O objetivo é melhorar e otimizar o uso da rede e o armazenamento de dados nos nós.
Uma solução ainda em desenvolvimento
No entanto, UTReeXO é um projeto de fase altamente experimental. Aqui explicamos as coisas que ele propõe, mas isso não está funcionando na rede Bitcoin principal. É uma proposta que, talvez, nunca venha a ser colocada em operação dentro do mainnet Bitcoin, ou que outra pessoa pegue essa proposta e, mudando alguns pontos, crie uma nova e melhor proposta. Essa é a magia desse ecossistema aberto e gratuito.
No site principal da proposta, você pode ler o andamento do projeto, e em seus Repositório GitHub é possível baixar o software de teste para executar o código de teste para este desenvolvimento. É importante destacar que existe um enorme interesse neste projeto, que pode ser visto claramente na enorme atividade de desenvolvimento do GitHub, que pode abrir novas oportunidades para empreendedores, quem sabe.
Por outro lado, o idealizador da proposta avisa que:
O software funciona em testnet, o testnet Bitcoin, e não é recomendado para uso com dinheiro real. Ainda existem muitos bugs e ineficiências conhecidas no código, mas estamos melhorando rapidamente.